u-boot-2016.03-vi.tar

U-Boot

U-boot는 많이 알려진 boot 프로그램이다. 이에 대한 내용은 검색을 사용한다.
아래는 준비된 U-boot Source code 이다.

u-boot-2016.03-vi.zip

다운 받아 이를 컴파일 한다.

u-boot_list.jpg u-boot_makefile.jpg u-boot_defconfig.jpg u-boot_defconfig2.jpg u-boot_make.jpg

다음과 같은 결과가 출력된다.

scripts/kconfig/conf  --silentoldconfig Kconfig
CHK     include/config.h
UPD     include/config.h
GEN     include/autoconf.mk
GEN     include/autoconf.mk.dep
CHK     include/config/uboot.release
UPD     include/config/uboot.release
CHK     include/generated/version_autogenerated.h
UPD     include/generated/version_autogenerated.h
CHK     include/generated/timestamp_autogenerated.h
UPD     include/generated/timestamp_autogenerated.h
CC      lib/asm-offsets.s
CHK     include/generated/generic-asm-offsets.h
UPD     include/generated/generic-asm-offsets.h
CC      arch/arm/lib/asm-offsets.s
CHK     include/generated/asm-offsets.h
UPD     include/generated/asm-offsets.h
HOSTCC  tools/atmel_pmecc_params
HOSTCC  tools/envcrc.o
WRAP    tools/lib/crc32.c
HOSTCC  tools/lib/crc32.o
WRAP    tools/common/env_embedded.c
HOSTCC  tools/common/env_embedded.o
WRAP    tools/lib/sha1.c
HOSTCC  tools/lib/sha1.o
HOSTLD  tools/envcrc
HOSTCC  tools/gen_eth_addr
HOSTCC  tools/mkenvimage.o
HOSTCC  tools/os_support.o
HOSTLD  tools/mkenvimage
HOSTCC  tools/aisimage.o
HOSTCC  tools/atmelimage.o
WRAP    tools/common/bootm.c
HOSTCC  tools/common/bootm.o
HOSTCC  tools/default_image.o
WRAP    tools/lib/fdtdec_common.c
HOSTCC  tools/lib/fdtdec_common.o
WRAP    tools/lib/fdtdec.c
HOSTCC  tools/lib/fdtdec.o
HOSTCC  tools/fit_common.o
HOSTCC  tools/fit_image.o
HOSTCC  tools/gpimage.o
HOSTCC  tools/gpimage-common.o
WRAP    tools/common/image-fit.c
HOSTCC  tools/common/image-fit.o
HOSTCC  tools/image-host.o
WRAP    tools/common/image.c
HOSTCC  tools/common/image.o
HOSTCC  tools/imagetool.o
HOSTCC  tools/imximage.o
HOSTCC  tools/kwbimage.o
WRAP    tools/lib/md5.c
HOSTCC  tools/lib/md5.o
HOSTCC  tools/lpc32xximage.o
HOSTCC  tools/mxsimage.o
HOSTCC  tools/omapimage.o
HOSTCC  tools/pblimage.o
HOSTCC  tools/pbl_crc32.o
WRAP    tools/lib/rc4.c
HOSTCC  tools/lib/rc4.o
HOSTCC  tools/rkcommon.o
HOSTCC  tools/rkimage.o
HOSTCC  tools/rksd.o
HOSTCC  tools/rkspi.o
HOSTCC  tools/socfpgaimage.o
WRAP    tools/lib/sha256.c
HOSTCC  tools/lib/sha256.o
WRAP    tools/common/hash.c
HOSTCC  tools/common/hash.o
HOSTCC  tools/ublimage.o
HOSTCC  tools/zynqimage.o
WRAP    tools/lib/libfdt/fdt.c
HOSTCC  tools/lib/libfdt/fdt.o
WRAP    tools/lib/libfdt/fdt_ro.c
HOSTCC  tools/lib/libfdt/fdt_ro.o
WRAP    tools/lib/libfdt/fdt_rw.c
HOSTCC  tools/lib/libfdt/fdt_rw.o
WRAP    tools/lib/libfdt/fdt_strerror.c
HOSTCC  tools/lib/libfdt/fdt_strerror.o
WRAP    tools/lib/libfdt/fdt_wip.c
HOSTCC  tools/lib/libfdt/fdt_wip.o
WRAP    tools/lib/libfdt/fdt_region.c
HOSTCC  tools/lib/libfdt/fdt_region.o
HOSTCC  tools/dumpimage.o
HOSTLD  tools/dumpimage
HOSTCC  tools/mkimage.o
HOSTLD  tools/mkimage
HOSTCC  tools/proftool
HOSTCC  tools/fdtgrep.o
HOSTLD  tools/fdtgrep
LD      arch/arm/cpu/built-in.o
CC      arch/arm/cpu/armv7/cache_v7.o
CC      arch/arm/cpu/armv7/cpu.o
CC      arch/arm/cpu/armv7/cp15.o
CC      arch/arm/cpu/armv7/syslib.o
LD      arch/arm/cpu/armv7/built-in.o
AS      arch/arm/cpu/armv7/start.o
AS      arch/arm/lib/vectors.o
AS      arch/arm/lib/crt0.o
AS      arch/arm/lib/relocate.o
CC      arch/arm/lib/bootm-fdt.o
CC      arch/arm/lib/bootm.o
CC      arch/arm/lib/sections.o
CC      arch/arm/lib/stack.o
CC      arch/arm/lib/interrupts.o
CC      arch/arm/lib/reset.o
CC      arch/arm/lib/cache.o
CC      arch/arm/lib/cache-cp15.o
LD      arch/arm/lib/built-in.o
AR      arch/arm/lib/lib.a
CC      arch/arm/lib/eabi_compat.o
CC      arch/arm/mach-at91/clock.o
CC      arch/arm/mach-at91/armv7/sama5d4_devices.o
CC      arch/arm/mach-at91/armv7/clock.o
CC      arch/arm/mach-at91/armv7/cpu.o
CC      arch/arm/mach-at91/armv7/reset.o
CC      arch/arm/mach-at91/armv7/timer.o
LD      arch/arm/mach-at91/armv7/built-in.o
LD      arch/arm/mach-at91/built-in.o
CC      board/atmel/sama5d4_vi_base/sama5d4_vi_base.o
LD      board/atmel/sama5d4_vi_base/built-in.o
CC      cmd/boot.o
CC      cmd/bootm.o
CC      cmd/help.o
CC      cmd/version.o
CC      cmd/source.o
CC      cmd/bdinfo.o
CC      cmd/console.o
CC      cmd/echo.o
CC      cmd/elf.o
CC      cmd/exit.o
CC      cmd/fat.o
CC      cmd/fdt.o
CC      cmd/i2c.o
CC      cmd/itest.o
CC      cmd/load.o
CC      cmd/mem.o
CC      cmd/misc.o
CC      cmd/mmc.o
CC      cmd/nand.o
CC      cmd/net.o
CC      cmd/pcmcia.o
CC      cmd/sf.o
CC      cmd/setexpr.o
CC      cmd/test.o
CC      cmd/usb.o
CC      cmd/ximg.o
CC      cmd/nvedit.o
CC      cmd/disk.o
LD      cmd/built-in.o
CC      common/init/board_init.o
LD      common/init/built-in.o
CC      common/main.o
CC      common/exports.o
CC      common/hash.o
CC      common/cli_hush.o
CC      common/autoboot.o
CC      common/board_f.o
CC      common/board_r.o
CC      common/bootm.o
CC      common/bootm_os.o
CC      common/env_attr.o
CC      common/env_callback.o
CC      common/env_flags.o
CC      common/env_nand.o
CC      common/fdt_support.o
CC      common/usb.o
CC      common/usb_hub.o
CC      common/usb_storage.o
CC      common/flash.o
CC      common/splash.o
CC      common/env_common.o
CC      common/console.o
CC      common/dlmalloc.o
CC      common/image.o
CC      common/image-fdt.o
CC      common/memsize.o
CC      common/stdio.o
CC      common/cli_simple.o
CC      common/cli.o
CC      common/cli_readline.o
CC      common/command.o
CC      common/s_record.o
CC      common/xyzModem.o
LD      common/built-in.o
CC      disk/part.o
CC      disk/part_dos.o
LD      disk/built-in.o
LD      drivers/adc/built-in.o
LD      drivers/block/built-in.o
CC      drivers/crypto/fsl/sec.o
LD      drivers/crypto/fsl/built-in.o
LD      drivers/crypto/rsa_mod_exp/built-in.o
LD      drivers/crypto/built-in.o
LD      drivers/dfu/built-in.o
LD      drivers/hwmon/built-in.o
CC      drivers/input/input.o
LD      drivers/input/built-in.o
LD      drivers/memory/built-in.o
LD      drivers/misc/built-in.o
CC      drivers/pcmcia/tqm8xx_pcmcia.o
LD      drivers/pcmcia/built-in.o
LD      drivers/pwm/built-in.o
CC      drivers/rtc/date.o
LD      drivers/rtc/built-in.o
LD      drivers/soc/built-in.o
LD      drivers/sound/built-in.o
LD      drivers/thermal/built-in.o
LD      drivers/timer/built-in.o
LD      drivers/tpm/built-in.o
LD      drivers/twserial/built-in.o
LD      drivers/video/bridge/built-in.o
LD      drivers/video/built-in.o
LD      drivers/watchdog/built-in.o
LD      drivers/built-in.o
LD      drivers/dma/built-in.o
CC      drivers/gpio/at91_gpio.o
LD      drivers/gpio/built-in.o
CC      drivers/i2c/i2c_core.o
CC      drivers/i2c/soft_i2c.o
LD      drivers/i2c/built-in.o
CC      drivers/mmc/mmc.o
CC      drivers/mmc/gen_atmel_mci.o
CC      drivers/mmc/mmc_write.o
LD      drivers/mmc/built-in.o
CC      drivers/mtd/mtdcore.o
CC      drivers/mtd/mtd_uboot.o
LD      drivers/mtd/built-in.o
CC      drivers/mtd/nand/nand.o
CC      drivers/mtd/nand/nand_bbt.o
CC      drivers/mtd/nand/nand_ids.o
CC      drivers/mtd/nand/nand_util.o
CC      drivers/mtd/nand/nand_ecc.o
CC      drivers/mtd/nand/nand_base.o
CC      drivers/mtd/nand/nand_timings.o
CC      drivers/mtd/nand/atmel_nand.o
LD      drivers/mtd/nand/built-in.o
LD      drivers/mtd/onenand/built-in.o
CC      drivers/mtd/spi/sf_probe.o
CC      drivers/mtd/spi/spi_flash.o
CC      drivers/mtd/spi/sf_params.o
CC      drivers/mtd/spi/sf.o
LD      drivers/mtd/spi/built-in.o
CC      drivers/net/macb.o
LD      drivers/net/built-in.o
LD      drivers/net/phy/built-in.o
LD      drivers/pci/built-in.o
LD      drivers/power/built-in.o
LD      drivers/power/battery/built-in.o
LD      drivers/power/fuel_gauge/built-in.o
LD      drivers/power/mfd/built-in.o
LD      drivers/power/pmic/built-in.o
LD      drivers/power/regulator/built-in.o
CC      drivers/serial/serial.o
CC      drivers/serial/atmel_usart.o
LD      drivers/serial/built-in.o
CC      drivers/spi/spi.o
CC      drivers/spi/atmel_spi.o
LD      drivers/spi/built-in.o
LD      drivers/usb/dwc3/built-in.o
LD      drivers/usb/emul/built-in.o
LD      drivers/usb/eth/built-in.o
CC      drivers/usb/gadget/epautoconf.o
CC      drivers/usb/gadget/config.o
CC      drivers/usb/gadget/usbstring.o
CC      drivers/usb/gadget/atmel_usba_udc.o
CC      drivers/usb/gadget/ether.o
drivers/usb/gadget/ether.c:490:17: warning: 'mdlm_detail_desc' defined but not used [-Wunused-const-variable=]
  static const u8 mdlm_detail_desc[] = {
                  ^~~~~~~~~~~~~~~~
drivers/usb/gadget/ether.c:79:19: warning: 'shortname' defined but not used [-Wunused-const-variable=]
  static const char shortname[] = "ether";
                    ^~~~~~~~~
CC      drivers/usb/gadget/rndis.o
LD      drivers/usb/gadget/built-in.o
LD      drivers/usb/gadget/udc/built-in.o
CC      drivers/usb/host/ehci-hcd.o
CC      drivers/usb/host/ehci-atmel.o
LD      drivers/usb/host/built-in.o
LD      drivers/usb/musb-new/built-in.o
LD      drivers/usb/musb/built-in.o
LD      drivers/usb/phy/built-in.o
LD      drivers/usb/ulpi/built-in.o
CC      fs/fs.o
CC      fs/fat/fat.o
CC      fs/fat/file.o
LD      fs/fat/built-in.o
LD      fs/built-in.o
CC      lib/libfdt/fdt.o
CC      lib/libfdt/fdt_ro.o
CC      lib/libfdt/fdt_rw.o
CC      lib/libfdt/fdt_strerror.o
CC      lib/libfdt/fdt_sw.o
CC      lib/libfdt/fdt_wip.o
CC      lib/libfdt/fdt_empty_tree.o
CC      lib/libfdt/fdt_addresses.o
CC      lib/libfdt/fdt_region.o
LD      lib/libfdt/built-in.o
CC      lib/zlib/zlib.o
LD      lib/zlib/built-in.o
CC      lib/crc7.o
CC      lib/crc8.o
CC      lib/crc16.o
CC      lib/gunzip.o
CC      lib/initcall.o
CC      lib/lmb.o
CC      lib/ldiv.o
CC      lib/net_utils.o
CC      lib/qsort.o
CC      lib/rc4.o
CC      lib/strmhz.o
CC      lib/list_sort.o
CC      lib/hashtable.o
CC      lib/errno.o
CC      lib/display_options.o
CC      lib/crc32.o
CC      lib/ctype.o
CC      lib/div64.o
CC      lib/hang.o
CC      lib/linux_compat.o
CC      lib/linux_string.o
CC      lib/membuff.o
CC      lib/slre.o
CC      lib/string.o
CC      lib/time.o
CC      lib/vsprintf.o
CC      lib/panic.o
CC      lib/strto.o
LD      lib/built-in.o
CC      net/checksum.o
CC      net/arp.o
CC      net/bootp.o
CC      net/eth_legacy.o
CC      net/eth_common.o
CC      net/net.o
CC      net/nfs.o
CC      net/ping.o
CC      net/tftp.o
LD      net/built-in.o
LD      test/built-in.o
LD      test/dm/built-in.o
CC      examples/standalone/stubs.o
LD      examples/standalone/libstubs.o
CC      examples/standalone/hello_world.o
LD      examples/standalone/hello_world
CC      examples/standalone/atmel_df_pow2.o
LD      examples/standalone/atmel_df_pow2
OBJCOPY examples/standalone/hello_world.srec
OBJCOPY examples/standalone/atmel_df_pow2.srec
OBJCOPY examples/standalone/hello_world.bin
OBJCOPY examples/standalone/atmel_df_pow2.bin
LDS     u-boot.lds
LD      u-boot
OBJCOPY u-boot-nodtb.bin
COPY    u-boot.bin
MKIMAGE u-boot.img
OBJCOPY u-boot.srec
SYM     u-boot.sym
CFG     u-boot.cfg

u-boot_make_result.jpg

여기에서 u-boot.bin을 사용한다.

LCD 초기화 루틴이 추가된 코드이다.

u-boot-2016.03-vi.tar

디스플레이는 다음과 같이 된다.


U-Boot 관련 자료

U-Boot Design for SAMA5D3/D4 Based Board
atmel-11243-32-bit-cortex-a5-microntroller-u-boot_-design-sama5d3-sama5d4-board_application-note.pdf