U-boot 在 mini2440-S3C2440 上的移植(4):U-boot第二阶段代码:修改初始化代码

这一阶段从lib_arm/board.c函数中的start_armboot函数开始,主要进行以下工作:
1.初始化硬件设备:这部分是移植U-BOOT的主要工作,包括设置 系统时钟,改变系统时钟,可以参考代码board/tekkamanninja/mini2440/mini2440.c ,可以将它复制粘贴成跟我们自己开发板相匹配的.c文件,
串口初始化在cpu/arm920t/…/serial.c代码实现;
2.检测系统内存映射:
对于特定的开发板,例如mini2440,内存分布是明确的,可以直接在board/tekkamanninja/mini2440/mini2440.c 中的dram_init函数中修改;针对mini2440:内存物理起始地址0x3000 0000 大小0x4000000;
3.U-Boot命令的格式:内核的启动是通过U-Boot命令实现的,这部分一般不做修改;
4.为内核设置启动参数:
在include/config/mini2440.h中增加两个标记:
#define CONFI_SETUP_MEMORY_TAGS 1
#define CONFIG_CMDLINE_TAG 1
U-BOOT也是通过标记列表向内核传递参数。

第三阶段:完善目标板外设驱动:
第四阶段:修正配置文件;
最后,编译下载;

猜你喜欢

转载自blog.csdn.net/jinanhezhuang/article/details/119517159