1、2440 uboot启动过程
1). uboot/makefile -> smdk2440_config -> smdk2440
2). uboot/board/samsung/smdk2440/u-boot.lds -> 第一个文件start.S
3). uboot/cpu/s3c24xx/start.S
-> b reset
-> // set the cpu to SVC32 mode
-> // disable MMU stuff and caches
4). uboot/board/samsung/smdk2440/lowlevel_init.S
-> // init system clock
-> // for UART
-> // simple init for NAND
-> // 跳转到 start.S文件的 bl lowlevel_init 后一条代码运行
-> // 跳转到 _start_armboot代码处
-> bl lowlevel_init
2、 编译uboot
1). make smdk2440_config /* 配置2440 ,不要放在和windows的共享文件夹中*/
2). make
3). 查看 start_armboot 位置-> arm-linux-objdump -D -S u-boot >dump
-> vim dump
-> /start_armboot /* 搜索 start_armboot 入口地址 */
4). 链接器脚本 vim /smdk2440/uboot.lds ,可查看函数地址位置3、start_armboot
-> init_sequence: serial_init /* 初始化串口 */-> lcd_setmem /* lcd 初始化 */
-> eth_initialize /* 网卡初始化 */
-> led_init /* 初始化 */
-> main_loop /* 执行用户输入命令 */