Mini2440 NORFLASH驱动移植全攻略

需积分: 3 4 下载量 2 浏览量 更新于2024-10-04 收藏 365KB DOC 举报
"u-boot-flash移植详解,主要针对Mini2440开发板上的NORFLASH驱动移植进行讨论,包括硬件连接、NORFLASH的工作原理、读写擦操作以及相关问题解答。" 在u-boot的移植过程中,对于硬件平台的支持至关重要,尤其是存储设备如NORFLASH的驱动。本话题详细讲解了如何在Mini2440开发板上移植NORFLASH驱动,使用的Flash型号是SST39VF1601,这是一种1MB×16bit的CMOS多用途闪存。 首先,硬件连接部分,SST39VF1601通过特定的引脚与2440处理器相连。其中,/CE作为芯片选择线,/OE作为输出使能信号线,它们的低电平状态使得处理器能够读取Flash的数据。理解这些硬件连接对后续驱动编写至关重要,因为它决定了数据传输的方式和时序。 接下来,NORFLASH的工作原理是基于其编程特性,只能将1写为0,不能将0写为1。因此,写入新数据前需要先进行擦除操作,使块内所有位变为1。基本操作包括读、写和擦除。读操作是通过/CE和/OE信号的配合实现;写操作则涉及扇区擦除前的数据保护、地址和数据的发送,以及内部写入处理;擦除操作则有扇区擦除和块擦除两种模式,每种模式都有特定的指令序列。 针对问题一,Mini2440对NORFLASH的寻址范围取决于其地址线的数量,通常与Flash的总容量相关,具体的寻址范围需要查看2440处理器的 datasheet 以获取详细信息。 问题二涉及SST39VF1601的扇区和块数量。根据描述,每个扇区的大小是2Kword,即4KB,所以总扇区数为总容量除以扇区大小;每个块的大小是32Kword,即64KB,总块数同样可以通过总容量除以块大小计算得出。扇区擦除指令为30h,块擦除指令为50h,执行对应的指令序列即可完成擦除操作。 在移植u-boot的过程中,开发者需要理解这些基本操作,并根据SST39VF1601的datasheet编写相应的驱动代码,以实现从NORFLASH启动加载u-boot。这通常包括初始化、地址映射、读写操作的实现以及错误处理等环节。移植完成后,u-boot将能够正确识别并访问NORFLASH,从而完成系统的引导。 总结来说,u-boot-flash移植是一个涉及硬件接口理解、Flash存储器特性和驱动编程的复杂过程。通过深入研究NORFLASH的工作原理和硬件连接,开发者可以成功地在Mini2440开发板上实现u-boot对SST39VF1601的驱动支持。