查找文件位置
1:U-boot 有几千个文件,所以要通过makfile来查找文U -boot文件的入口。
2:查看芯片的配置文件smdk2440
3:在board目录里面的sumsing目录里面查找smdk2440目录里面存放的就是开发板相关的配置文件,其中最重要的是名字叫u-boot.lds的文件(在Linux侠查看将更加清楚)
4:通过lds可知道程序启动是从start开始的(位置:CPU>s3c24xx>start)
5:用vim打开该文件但是文件里面内容很多,哪里才是入口呢
6:通过vim查看 u-boot.lds里面有一个叫ENTRY_START的文件
7:在start.s中查找_START
代码分析
CPU启动过程:
1设置中断向量表
跳转到reset这个向量:(初始化硬件)
设置处理器到svc32模式
刷新I/Dcache
关闭mmu和cache
初始化系统时钟
初始化串口
简单初始化nandflash
内存初始化
返回low_level_init
检测是从nandflash 启动还是从norflash启动
复制nandflassh中的u_boot到内存中
设置堆栈
清除bss
2软件方面的初始化
初始化串口
lcd初始化
初始化网卡
初始化led
执行用户输入的命令(main_loop())