2009.11在mini2440上面的移植(2)

S3C2440和S3C2410的区别主要是2440的主频更高,接口方面增加了摄像头接口和AC’97音频接口,寄存器方面,出了新增模块寄存器外nand flash的控制寄存器有了较大的变化,芯片的时钟频率控制寄存器有一定的变化,其他寄存器是兼容的,综上所述,我们要的的时钟频率和NAND FLASH底层驱动。另外根据SDRAM芯片不同还需修改SDRAM刷新频率和SDRAM RAS充电速度。再者要想u-boot在nor,sdram,nand都可以运行,还得修改代码的定向文件。

以下移植步骤是我基于tekkaman的移植文档修改的,tekkaman的移植步骤大而全,完善了u-boot的所有功能,但是操作比较复杂,不适合初学者,我秉着最简单,最容易理解的原则做了修改,希望能给初学者一些帮助。

因此我们主要需要修改的文件有:

/cpu/arm920t/start.S

在此文件中修改cpu时钟频率,和代码重定向代码,同时为了支持nand启动,我们还需要添加nand_read.c的nand驱动。

/board/sbc240x/lowlevel_init.S

在此文件中修改SDRAM相关寄存器

/board/Samsung/mini2440/mini2440.c

再此文件中修改cpu时钟频率,肯定会有人奇怪,为什么在start.S文件中修改了cpu时钟频率,这里还要该一次呢?因为第二阶段的代码mini2440.c又会重新设置时钟频率,如不修改。就变成了s3c2410的时钟设置了,结果是跑不起来。

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwxxff.html