DengPihui 2014-09-26 08:52 采纳率: 0%
浏览 3548

STM32F1xx设置外部SRAM为DataMemory的问题

STM32F103ZET6的FSMC总线上挂载一个512K*8bit的外部SRAM,想把堆栈指针放在该SRAM中,就是想在定义变量如int value,该变量value就自动存放在外部的SRAM中。我的开发软件是IAR,我使用了固件库中的例子稍作修改,因为固件库中的外部SRAM是针对16bit数据总线的,在配置FSMC的时候我给改成8Bit的了。在启动文件startup_stm32f10x_hd.s中有这么几句:
Reset_Handler
LDR R0, =SystemInit
BLX R0

LDR R0, =sfe(CSTACK) ; restore original stack pointer
MSR MSP, R0

LDR R0, =__iar_program_start
BX R0
也就是说在系统进入main函数之前就先调用了一次SystemInit()这个函数,我到这个函数里边去查看发现有初始化FSMC的部分:
#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)
#ifdef DATA_IN_ExtSRAM
SystemInit_ExtMemCtl();
#endif /* DATA_IN_ExtSRAM */
#endif
在调用完SystemInit_ExtMemCtl();这个函数之后配置FSMC成功了,但是在最后从
SystemInit()函数结束返回后就立即进入了硬件错误中断void HardFault_Handler(void);求大神帮忙分析或者给指一条明路啊!!!

  • 写回答

1条回答 默认 最新

  • 麦田里稻田 2016-06-23 02:42
    关注

    我也遇到同样的问题,楼主解决了吗?

    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名