经过半周的制作,我的OK6410总算是成功在我自己构建的uboot上运行系统了。
在此回顾一下整个过程的大纲。
一、成功编译的开始
1、下载一份未经过处理的uboot
2、精简uboot中不用到的文件,保留相似的芯片6400的板级文件
3、对精简后的uboot进行初次编译,顺便可以检查工具链、uboot的完整性
4、通过创建目录、拷贝、修改的方式,创建出初始的6410的板级文件、Makefile等
5、对自己创建的6410进行初次编译,产生的错误一般是拷贝的文件内容未进行更改,修复后一般能正常编译
二、基本启动信息的修改
1、修改汇编入口代码/cpu/arm1176/start.S,使启动代码适合我的开发板
2、创建nand自动读取的文件nand_cp.c,文件夹同上,创建结束后补全相应的规则
3、修改头文件的相关信息,路径为/include/configs/smdk6410.h
4、添加链接文件.lds规则,路径为cpu/arm1176/u-boot.lds和根目录下的u-boot.lds
三、正常化配置
1、网卡的正常化修改,将原配的CS8900网卡项更正为DM9000
2、修改tftp功能,路径为/net/tftp.c
3、修改mtd中结构的变量声明,只要是将uint64_t更改为u_int32_t
4、使uboot能载入zImage映像(此步未成功)
四、uboot中dnw的添加
1、uboot的dnw功能加入
五、Dnw for linux
1、主机中dnw功能的加入
2、下载uImage到开发板,此处主要注意开发板读取uImage之后的提示信息
一般如果能读入uImage则只是编译的问题,如果无法读入则是uboot的问题