使用Stm32 F767,需要使用内存映射模式,参考STM32F769_DISCO开发板的源码,使用了内存映射模式。用来驱动W25Q256,参数如下:

//------------------------------------------------------------------------------------------------------------------------------

QSPI_MemoryMappedTypeDef sMemMappedCfg;

sMemMappedCfg.TimeOutActivation = QSPI_TIMEOUT_COUNTER_DISABLE;

s_command.InstructionMode   = QSPI_INSTRUCTION_1_LINE;

s_command.Instruction       = Fast_Read_Quad;

s_command.AddressMode       = QSPI_ADDRESS_4_LINES;

s_command.Address           = 0;

s_command.AddressSize       = QSPI_ADDRESS_24_BITS;

s_command.AlternateByteMode = QSPI_ALTERNATE_BYTES_4_LINES;

s_command.AlternateBytes                 = 0x00;

s_command.AlternateBytesSize = QSPI_ALTERNATE_BYTES_8_BITS;

s_command.DataMode          = QSPI_DATA_4_LINES;

s_command.DummyCycles       = 4;

s_command.NbData            = 0;

s_command.DdrMode           = QSPI_DDR_MODE_DISABLE;

s_command.DdrHoldHalfCycle  = QSPI_DDR_HHC_ANALOG_DELAY;

s_command.SIOOMode          = QSPI_SIOO_INST_EVERY_CMD;

//s_command.SIOOMode          = QSPI_SIOO_INST_ONLY_FIRST_CMD;                //只发送一次指令

if (HAL_QSPI_MemoryMapped(&QSPI, &s_command, &sMemMappedCfg) != HAL_OK)

{

//Error_Handler();

}

//------------------------------------------------------------------------------------------------------------------------------

执行到HAL_QSPI_MemoryMapped()会返回Error,原因是设置标记位时一直不成功, 有时也可能会成功,但

DBG时看到内存映射的地址0x90000000里的数据与Flash内存储的并不相同。

苦恼了好些天了,希望有大神帮忙解答下!

我来回答

stm32qspi内存映射_stm32 QSPI内存映射模式相关推荐

  1. 电脑是否存在内存泄漏_STM32裸机内存管理解析

    概述 在计算机系统中,变量.中间数据一般存放在系统存储空间中,只有实际使用的时候才将他们从存储空间调入到中央处理器内部进行计算.通常存储空间分为两类:内部存储空间和外部存储空间.对于电脑来讲,内部存储 ...

  2. Linux内存管理 (2)页表的映射过程

    专题:Linux内存管理专题 关键词:swapper_pd_dir.ARM PGD/PTE.Linux PGD/PTE.pgd_offset_k. Linux下的页表映射分为两种,一是Linux自身的 ...

  3. arraylist内存溢出_ArrayList使用内存映射文件

    arraylist内存溢出 介绍 内存中的计算由于负担得起的硬件而开始兴起,大多数数据保留在RAM中以满足延迟和吞吐量的目标,但是将数据保留在RAM中会增加垃圾收集器的开销,尤其是在您不预先分配内存的 ...

  4. linux c 文件映射,linuxc-共享内存

    ​ --详细概念见<unix环境高级编程>15.9小节 ​ 共享内存可以说是Linux 下最快速.最有效的进程间通信方式.两个不同进程A .B 共享内存的意思是,同一块物理内存被映射到进程 ...

  5. LCD不带显存,是如何内存映射屏幕。S5PV210SoC在内存中选一段内存存放颜色数据,通过配置将LCD控制器和这一段内存连接起来,构成映射关系,LCD控制器就自动从显存中读取像素数据传给LCD驱动器

    一.LCD控制原理 S5PV210处理器中自带LCD控制器,控制LCD的显示,把 LCD 图像数据从一个位于系统内存的 video buffer 传送到一个外部的 LCD 驱动器接口. 类型: STN ...

  6. mysql数据库映射到内存_基于共享内存的数据库映射

    基于共享内存的数据库映射 概述 随着各类行业软件对性能追求越来越高,因此对数据库处理的速度提出了新的挑战.然而大部分复杂的业务处理往往依赖体量较大的关系数据(如:Oracle,Mysql,Postgr ...

  7. [内存管理] linux kernel内存映射实例分析

    作者:JHJ(jianghuijun211@gmail.com ) 日期:2012/08/24 欢迎转载,请注明出处 引子 现在android智能手机市场异常火热,硬件升级非常迅猛,arm corte ...

  8. 【Linux 内核 内存管理】优化内存屏障 ② ( 内存屏障 | 编译器屏障 | 处理器内存屏障 | 内存映射 I/O 写屏障 )

    文章目录 一.内存屏障 二.编译器屏障 三.处理器内存屏障 一.内存屏障 内存屏障 , 又称为 " 屏障指令 " , 用于保证 " 编译器 " 或 " ...

  9. Boost:使用mapd_view类将数字数组映射到设备内存

    Boost:使用mapd_view类将数字数组映射到设备内存 实现功能 C++实现代码 实现功能 Boost的compute模块,使用mapd_view类将数字数组映射到设备内存 C++实现代码 #i ...

最新文章

  1. hardmard积 用什么符号表示_简明算术教程——第四章 线性代数——第1节 矩阵环(二)...
  2. iNeuOS工业互联网操作系统部署在华为欧拉(openEuler)国产系统
  3. 深入浅出React Native 1: 环境配置
  4. 一文说清Elasticsearch的核心概念
  5. 安卓异常总结---GestureBuilder] Re-installation failed due to different application signatures
  6. Adhesive框架系列文章--报警处理流程使用实践
  7. Android 面试 缓存,荐【经典面试题】七大缓存经典问题...
  8. 小程序引入的echarts过大如何解决_小程序如何解决社区团购的痛点
  9. Windows下编译eXosip、osip,以及UAC和UAS的例子
  10. 人脸对齐(七)--JDA算法
  11. Node.js:简单的node服务器ajax请求
  12. Android 深色模式适配原理分析
  13. YOLO7 姿势识别实例
  14. arcgis中解决点位符号化时重叠冲突
  15. 【计算机体系结构-01】指令集体系结构、微体系结构简介
  16. 计算机如何校准颜色,Win7电脑如何校准显示器|电脑显示器颜色校准
  17. 4.卡尔曼滤波之卡尔曼滤波的基本方程
  18. 帝国理工学院Stefan Vlask教授招收机器学习方向全奖博士生
  19. matlab 调用mex,从MATLAB中调用MEX中的C类方法
  20. Django的Q查询

热门文章

  1. FPGA异步时序和多时钟模块
  2. php is_null 判断,PHP判断null,别再=了,你真控制不住
  3. RS232与RS485的功能与区别!
  4. 条件概率计算代替RNN
  5. mobilenet精髓全力解析,全力迁移到别的网络
  6. tomcat jvm调优
  7. 完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
  8. 中国的数据科学家阶层正在形成
  9. 总结:实例化SqlParameter时,如果是字符型,一定要指定size属性,还有制定具体的类型...
  10. 28天打造专业红客(一)