外扩PSRAM做HEAP硬件错误
我用STM32L4R9外扩了PSRAM,对psram的读写是OK的。然后我在PSRAM定义了一个section,把heap_4的堆数组定位到这个section,运行就hardfault了。我网上查了一下,不少人遇到这个问题,这是什么原因呢。
ST32单片机外扩PSRAM是不支持存储器映射的吧.... leiyitan 发表于 2019-8-13 12:00
ST32单片机外扩PSRAM是不支持存储器映射的吧....
可以总线方式访问就行。 我用外部SRAM和SDRM测试正常。
而PSRAM就是速速慢点,按说也是没问题的,多试试吧
可能跟FSMC 和 OS 初始化的顺序有关吧,堆栈访问之前一定要把 FSMC 初始化好,不然就出错了。 eric2013 发表于 2019-8-13 15:11
我用外部SRAM和SDRM测试正常。
而PSRAM就是速速慢点,按说也是没问题的,多试试吧
硬汉,有例程吗 ihavedone 发表于 2019-8-13 17:43
可能跟FSMC 和 OS 初始化的顺序有关吧,堆栈访问之前一定要把 FSMC 初始化好,不然就出错了。
初始化成功了的,能直接对psram的地址读写 mmyer 发表于 2019-8-14 15:17
初始化成功了的,能直接对psram的地址读写
从我们V5或者V6网盘的FreeRTOS文件夹下载一个定义heap空间到CCM的例子,仅需将其修改为外部SRAM即可,实测可用 eric2013 发表于 2019-8-15 01:13
从我们V5或者V6网盘的FreeRTOS文件夹下载一个定义heap空间到CCM的例子,仅需将其修改为外部SRAM即可,实 ...
硬汉老师,在项目中不使用自带的堆管理,使用FreeRtos的heap_4的堆管理可以吗 lidp000 发表于 2019-8-15 15:29
硬汉老师,在项目中不使用自带的堆管理,使用FreeRtos的heap_4的堆管理可以吗
管理的对象有所不同,启动.S文件里面那个是C库用的,malloc之类的API使用。
用heap_4的malloc类函数也是可以的,可行。
eric2013 发表于 2019-8-15 15:52
管理的对象有所不同,启动.S文件里面那个是C库用的,malloc之类的API使用。
用heap_4的malloc类函数也是 ...
{:31:} 你好是否可以分享下初始化部分
页:
[1]