Blob在S3C44B0上的移植
驱动程序的编写
本文链接地址:http://www.oyaya.net/fanwen/view/140556.html
Flash作为非易失性的存储器,在开发板上的作用是能保存数据且掉电不丢失。和EPROM最大的不同在于,对Flash编程不需要对特定的引脚加高电平,只是对特定地址写入一组特定的数据即可进行编程,这样就直接在开发板上通过软件进行擦写,不必使用特定的编程器。但是它的缺点也是很明显的:操作过于复杂,SST39VF160是SST公司的一款16M位的Flash,16位数据线宽度,共2MB容量,分为512个扇区,每个扇区有4KB,或32个块(block),每个块64KB。对Flash编程之前,必须对相应的扇区、块或者整个芯片进行擦除后,才能进行编程。
通过S3C44B0进行Flash的烧写需要注意几点:首先,S3C44B0外部地址总线是根据外部数据总线宽度连接的。例如,本开发板外部数据总线为16位宽度,这样S3C44B0的地址线A0就没有接入外部地址总线,而是从A1接起。
对Flash编程需要对Flash写入一个特定的时序。如果S3C44B0寻址0x5555,由于外部总线错了一位,这样在Flash看来发过来的地址信号是0xAAAA,也就不能正确地完成操作。注意到这一点,根据Blob自带的Flash驱动程序,就可以很方便地改写出适合自己Flash驱动程序。
结语
根据笔者经验介绍了Blob在S3C44B0上的移植(第4页),目前它已经能稳定地运行在开发板上;并且可以进行烧写Flash,查看内存,引导uClinux等操作,为项目的后续开发奠定了良好的基础。
《Blob在S3C44B0上的移植(第4页)》