本测试思路基于NXP提供的NorFlash使用EIM接口异步通讯而来,感兴趣的朋友可自行前往NXP官网下载查阅。
EIM连接了一个32MB的 Parallel NOR Flash,只需将数据总线,地址总线连接正确,操作比较简单,下图为硬件原理图。
在设备树添加Norflash设备节点,并对使用的引脚的pinmux进行修改(下面列举的修改方法未包含已使用了EIM引脚的驱动的修改部分,有引脚冲突自行修改)
2-1、添加Norflash设备节点
飞凌的iMX6开发板提供的Linux4.1.15自带EIM驱动,EIM驱动加载以后,将读取每个子节点,如地址空间分配,cs如何配置时序等。EIM节点添加上Norflash节点,用的cfi-flash 通用驱动,修改地址空间的起始地址,最主要的是配置时序,下面设备树修改中包含了该时序,直接使用即可。
2-2引脚的Pinmux修改
添加好节点后,需要对使用的引脚进行Pinmux的配置,配置成功后,直接运行,即可生成Norflash节点。
Pinmux的配置办法可参考飞凌嵌入式提供的iMX6 引脚 Pinmux配置说明,本篇就不做赘述。
参考链接:https://www.forlinx.com/article_view_291.html
测试使用mtd_debug工具进行测试
测试步骤:准备一个文件,通过ls –l 命令查看该文件的大小。然后在NorFlash上擦除一块可以存储下该文件的空间(大小是128K的整数倍),然后将该文件写入到NorFlash内,然后再将该文件从NorFlash内读出,将2个文件做md5码校验,md5码一致表示测试通过
1、查看文件的大小,擦除一块足够大空间
2、将文件写入到NorFlash
3、读取存储的文件
4、比对md5校验码
结论:在EIM接口上添加了NorFlash,驱动能正确识别设备,将文件写入NorFlash后,再将文件读出,文件未损坏,说明EIM接口工作正常
通过随机数生成一个文件,将这个文件写入NorFlash,然后不停的读取这个文件,文件每次读取完成后,与原始文件做MD5对比,MD5值不一值则报错提示。
更多回帖