XIP模式下,DMA传输不能用常量

XIP模式下,DMA传输不能用常量

这两天踩了一个坑,在配置GT911的时候,发现用普通IIC的方式可以正常的读写,但是DMA传输只能读,写入出现了乱序问题。后来发现是写入的配置表是const数组,由于我使用的芯片是XIP模式,所以存在了外部FLASH。当DMA写入的时候,QSPI也在控制,于是出现了冲突。后来改成普通变量存在内存就OK了。

O,GT911相关资料我上传了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在QSPI(Quad SPI)中,XIP(Execute in Place)模式是一种执行程序代码的方式,该模式允许直接在外部闪存设备中运行代码,而无需将代码复制到内部RAM中。根据引用和,大多数Flash设备都支持XIP模式,但各家厂商没有统一的标准。因此,使能XIP模式的方式可能因设备而异。 一种常见的使能XIP模式的方式是在访问外部Flash设备的地址后面添加特定的mode bit。这个mode bit的具体值可能因设备而异,因此在尝试使设备进入XIP模式之前,软件需要先查询设备手册以获取正确的mode bit值。这可以通过使用STIG(Standard Test Interface for Graphics)发送退出XIP命令来实现,如引用所述。 另一种方式是通过配置Flash设备内相关寄存器来使能XIP模式。然而,只有少数设备支持这种方式,因此需要查询设备手册以确定是否支持。需要注意的是,一旦Flash设备进入了XIP模式,对其寄存器的读操作将按照XIP读操作处理,因此软件无法通过读取Flash设备的状态寄存器来判断其是否进入了XIP模式,如引用所述。 综上所述,QSPI的XIP模式可以通过在地址后面添加特定的mode bit或通过配置Flash设备内相关寄存器来使能。具体的方式取决于所使用的设备,因此需要参考设备手册来获取正确的操作方法。123 #### 引用[.reference_title] - *1* *2* *3* [串行Flash控制器设计介绍(QSPI)](https://blog.csdn.net/yangguoyu8023/article/details/121400556)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值