NOR原理与硬件操作详解

需积分: 0 0 下载量 114 浏览量 更新于2024-06-30 收藏 2.1MB PDF 举报
"鱼树笔记主要讲解了NOR Flash的基础原理和在UBOOT中的操作,包括读取数据、读取ID、写数据的过程,以及如何利用内核驱动进行测试和分区管理。" NOR Flash是一种非易失性存储器,其工作原理允许直接执行存储在其上的代码(XIP,Execute In Place),这与NAND Flash不同,NAND的数据线较少,且不支持直接执行。在UBOOT中,NOR Flash的操作主要包括读取数据和读取ID。读取数据时,需要遵循特定的协议,而读取ID则涉及到解锁和发送命令来获取设备信息。 NOR Flash有两大规范,JEDEC和CFI(Common Flash Interface)。JEDEC是电子设备的制造标准,CFI则是通用闪存接口,用于简化与NOR Flash设备的交互。在实际操作中,需要理解这些规范以正确地与NOR Flash通信。 在硬件操作层面,首先需要分配并设置相应的结构体来描述NOR Flash的特性。然后,通过地址映射将物理地址转换为虚拟地址,以便于CPU访问。初始化过程中,可能需要配置一些寄存器和控制信号,使得NOR Flash能够正常工作。一旦NOR Flash被系统识别,就可以开始进行读写操作。 内核自带的NORFLASH底层驱动程序,如"Physmap.c",可以帮助开发者快速测试和使用NOR Flash。通过makemenuconfig配置内核选项,编译生成modules,例如"physmap.ko",然后在开发板上加载这个模块,可以实现对NOR Flash的驱动支持。此外,还需要对NOR Flash进行分区管理,包括创建、删除和格式化分区。 在编写自己的NOR驱动程序时,通常需要完成以下步骤:编译新驱动以替换原有的驱动;卸载旧驱动;定义和添加新的分区;最后进行测试,例如使用"flash_eraseall"命令格式化分区,并使用"mount"挂载文件系统。 总结来说,"鱼树笔记"提供了关于NOR Flash的详尽介绍,涵盖了其基本原理、在UBOOT中的操作流程,以及如何利用内核驱动和自编驱动进行管理和测试,对于理解和使用NOR Flash具有很高的参考价值。