将近两个月之前就准备开始了,但是在移植linux时候发现编译出来的Image有2.4M之大,而开发板提供的uboot最大只能烧写最大2M。所以本来准备跳过uboot的,但是如果自己不搞个好点的bootloader,我的kernel都烧不了。索性花了一个多月的时间移植了u-boot-2012.07,采用nand-spl方式启动的。可以支持tftp下载,那么我的开发流程就是用开发板自带的nor flash中的bootloader烧写uboot到nand flash中,然后nand flash启动,利用tftp下载内核,并采用NFS根文件系统。
对于2440平台,移植内核和根文件系统的帖子多的不得了。具体的步骤我就不再重复贴了。
谈点自己的想法和遇到的可以说下的问题:
1.对于2440这样的平台,因为有了smdk2440,所以对于我们,移植就会变的简单许多。试想如果工作在芯片设计公司,它用arm核开发了一款芯片,将linux移植上去,这个要求就相当高了:对芯片和linux操作系统都要有很深入的认识才可以做的到。
2.在开发初期用NFS根文件系统是最方便的,只要uboot配置好bootargs参数,并在linux中做好网卡驱动,NFS根文件系统问题就不大。
3.对于比较新的linux版本,2440的串口不用动就可以很好的工作。
这样,就可以有个基本的驱动实践的环境了。
马上就可以投入到具体的驱动实践了,休息下,整理下思路,有效利用前面对iic总线、文件系统、设备模型等的分析成果,通过驱动的实践,对嵌入式linux做更进一步的学习!