Apollo3 SDK平台添加支持复旦微FM25Q128 SPI Flash的方法
SPI Flash的相关API操作Demo详见mspi_quad_example工程下的mspi_quad_example.c文件。注意:开启宏定义#define TEST_QUAD_SPI,即为测试Quad SPI模式读写SPI Flash;如果注释掉该宏,则为单线SPI模式读写SPI Flash。SPI Flash操作成功后,通过J-Link的SWO输出log信息显示操作结果,截图如下
后记:
整理一下调试过程中遇到的一些坑:
1、SDK v2.0与v1.2.12启动代码startup_keil.s作了改动,直接将SDK v1.2.12中调试好的驱动代码放到v2.0中进行编译,导致无法进入MSPI中断服务程序,读取Flash内容时卡死,原因是SDK v2.0中把MSPI中断服务函数名称修改了:void am_mspi0_isr(void)
2、新的片子FM25Q128在初始化过程中无法正常读取和修改状态寄存器,这是因为芯片默认QE=0,芯片处于单线SPI模式,Pin3为WP#脚,Pin7位Hold#/RESET#脚,由于Pin7电压不稳定,或者处于低电平状态,导致芯片进入RESET状态,MSPI无法正确访问Flash状态寄存器,导致读写失败!初始化为SPI后,将MCU连接到SPI Flash的Pin3和Pin7的IO设置为GPIO输出并使能内部上拉,输出高电平,初始化SPI Flash操作过程中,拉高WP#和HOLD#/RESET#管脚,让Flash芯片处于非写保护和RESET/HOLD状态。代码片段示例如下:
文章来源:润欣科技Fortune微信公众号
图片新闻
最新活动更多
-
即日-11.13立即报名>>> 【在线会议】多物理场仿真助跑新能源汽车
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
11月29日立即预约>> 【上海线下】设计,易如反掌—Creo 11发布巡展
-
11月30日立即试用>> 【有奖试用】爱德克IDEC-九大王牌安全产品
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论