-
/common/init/board_init.cBoot Loader/U-BOOT 2019. 9. 25. 00:15
CONFIG_SYS_MALLOC_F=y CONFIG_SYS_MALLOC_F_LEN=0x400 이라고 /configs/odroid-xu4_defconfig에 정의되어있다. ulong board_init_f_alloc_reserve(ulong top)의 50라인이 실행되면서 top은 0x43E00000-0x00000400 = 0x43DFFC00이다 malloc 영역과 global_data영역을 지정해주는것 같다. void board_init_f_init_reserve(ulong base)에서 매개변수로 들어온 top어드레스 영역에 '\0'로 초기화 해준다. __weak void arch_setup_gd(struct global_data *gd_ptr) top어드레스를 gd변수에 넣어준다. 다시 global_..
-
/arch/arm/lib/ctr0.SBoot Loader 2019. 9. 20. 14:51
ABI와 EABI r9 /arch/arm/include/asm/global_data.h #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r9")라고 정의되어있다. /include/asm-generic/u-boot.hd에 bd_t /include/asm-generic/global_data.h에 gd_t 74라인의 CONFIG_SPL_STACK은 76라인의 CONFIG_SYS_INIT_SP_ADDR은 /include/configs/odroid_xu4.h에 #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR - 0x1000000)라고 정의되어있고 CONFIG_SYS_LOAD_ADDR은 /includ..
-
U-boot 환경 설정 $ make odroid-xu4_defconfigBoot Loader 2019. 8. 23. 21:16
1) 환경 설정 보통 kernel이나 bootloader를 빌드하기 전에 대상 시스템을 위한 환경을 설정해야 합니다. 새로운 시스템이 아니라면 필요한 U-boot를 내려받아 쓰면 되지만 새로운 시스템을 개발할 경우에는 대상 시스템에 맞게 수정을 해야 됩니다. u-boot top 디렉터리에서 다음과 같은 명령어를 사용합니다. $ make odroid-xu4_defconfig make 프로그램은 한 줄씩 읽고 바로 실행하는 것이 아니라 파일 전체를 먼저 파악하고 해당 타깃을 실행 합니다. 그럼 해당 makefile의 477 %config: scripts_basic outputmakefile FORCE 478 $(Q)$(MAKE) $(build)=scripts/kconfig $@ 477라인의 %config는 ..
-
U-boot Makefile 분석Boot Loader 2019. 8. 23. 21:13
1) 환경 설정 https://johnjarrer.tistory.com/entry/U-boot-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95-make-odroid-xu4defconfig 불러오는 중입니다... 보통 kernel이나 bootloader를 빌드하기전에 대상 시스템을 위한 환경을 설정해야 합니다. 새로운 시스템이 아니라면 필요한 U-boot를 내려받아 쓰면 되지만 새로운 시스템을 개발할 경우에는 대상 시스템에 맞게 수정을 해야됩니다. $) make odroid-xu4_defconfig 2)빌드 빌드는 해당 소스 디렉터리에서 make를 수행해서 진행을 합니다. $) make 128 # That's our default target when none is given on th..