OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6750|回复: 4

stm32用fsmc外扩sram问题~请大侠帮我分析下

[复制链接]

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2012-2-16
在线时间
4 小时
发表于 2013-1-28 09:39:06 | 显示全部楼层 |阅读模式
   我用的st的官方例程,例程里用的是bank1的ne3,而我想用的是bank1的ne1,IO口做了相应的修改,初始化的地方将两处bank1的ne3改为bank1的ne1,可是程序运行不起来,进入调试模式后发现程序停在了“硬件错误中断”那个函数,void HardFault_Handler(void)”函数,进入了死循环,请问该如何解决?谢谢~
用官方历程去连接硬件并且程序不更改则运行正常,可以正常读写。
sram是IS61LV51216,下面是初始化的部分程序,红色部分就是我更改的代码。
p.FSMC_AddressSetupTime = 0;
  p.FSMC_AddressHoldTime = 0;
  p.FSMC_DataSetupTime = 2;
  p.FSMC_BusTurnAroundDuration = 0;
  p.FSMC_CLKDivision = 0;
  p.FSMC_DataLatency = 0;
  p.FSMC_AccessMode = FSMC_AccessMode_A;
  FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3;
  FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
  FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;
  FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
  FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
  FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
  FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
  FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
  FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
  FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;
  FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);  
  FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE);



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

42

主题

568

帖子

0

精华

高级会员

Rank: 4

积分
784
金钱
784
注册时间
2010-12-19
在线时间
5 小时
发表于 2013-1-28 09:44:28 | 显示全部楼层
好像改bank1的ne3,需要改好几个地方。

比如:实验例程是块1区3。 我想将它修改成块1区4. 
第一修改地址,即0x6800 0000 改成0x6c00 0000 
第二修改地址总线,将PG10,改成GP12. 
第三修改初始化,将FMSC_Bank1_NORSRAM3 全部改成 FMSC_Bank1_NORSRAM4
一个上蹿下跳的猴子~~~
回复 支持 反对

使用道具 举报

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2012-2-16
在线时间
4 小时
 楼主| 发表于 2013-1-28 20:40:29 | 显示全部楼层
回复【2楼】wolfdong7:
---------------------------------
哥们你说的很对,我把地址改过就可以正常运行历程了,非常感谢O(∩_∩)O
回复 支持 反对

使用道具 举报

8

主题

103

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2012-11-12
在线时间
22 小时
发表于 2013-1-29 13:39:58 | 显示全部楼层
回复【2楼】wolfdong7:
---------------------------------
你好,像你这么说,是不是块1的四个区都能这样类似这样配置的(做SRAM外扩时)?
没人看你努力的过程,只看最后的结果。
回复 支持 反对

使用道具 举报

42

主题

568

帖子

0

精华

高级会员

Rank: 4

积分
784
金钱
784
注册时间
2010-12-19
在线时间
5 小时
发表于 2013-1-29 14:03:10 | 显示全部楼层
回复【4楼】黄毛:
---------------------------------
我只做过一个区的外扩。
你想4个区都扩的话,自己试试呗。
一个上蹿下跳的猴子~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-22 02:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表