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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)