这一周的任务主要任务是搭建LPC3250的系统平台,以及在主机上进行相关环境的搭建,最后是将交叉编译好的内核模块加载到板子中。在整个平台搭建过程中遇到了很多的问题,第一是笔记本没有串口,另外WIN 7系统对相关工具的不兼容,对此我采用安装WIN 7下的XP Mode(XP模式)。对于整个环境搭建的详细步骤我就不想多说了,大致的环节也就是交叉编译工具的安装、内核的编译和配置、串口通信和调试的工具安装、tftp服务器的安装、NFS服务器的安装、以及相关文件的烧写,相信大家跟着实验指导上的步骤一步步来的话就会成功。我把我对整个过程以及结合这些天看的资料谈谈我的理解。
对于实验指导中的Bootloader的概念我觉得书中叙述的前后存在矛盾,容易让人误解,我查了相关的资料,Bootloader应该包括kickstart和stage 1和u-boot,第0扇区和第1扇区镜像可以看作是第一部分,其实现的功能大致有初始化CPU、堆栈、以及存储器系统,其功能类似于PC中的BIOS,而第二部分的u-boot的功能则是完成硬件启动到软件启动的过渡,它所实现的过程比较复杂,一般我们把它分为两个阶段,第一阶段有设置CPU的时钟和速率,设置堆栈,初始化内存,为ROM到RAM的搬移作准备,最后跳到C代码,第二阶段则是一系列函数的初始化,初始化闪存设备,初始化内存分配函数、初始化NAND Flash设备、显示设备、网络设备等,最终引导操作系统。另外一个问题是对于设置u-boot自启动参数的问题,NAND Flash只有256M,地址最大到10000000,而aboot时对应的地址却是0x83fc0000,u-boot明明是固化在NAND中的,这个地址所对应的是哪?问了好多人也没有解决这个问题。固化好u-boot复位后,有时会出现Warni