你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32外接sram详细配置(基于MDK)  

[复制链接]
sky-340457 发布时间:2013-1-29 09:34
    此配置实用st的官方例程,sram使用的区块为bank1,bank1的首地址为0x60000000尾地址为0x6fffffff,分为4个64M的区块。
, D0 q8 f$ L/ n* q9 R其中:
8 h3 R- K( D7 H& r8 V: c! U* q- RBank1_SRAM1_ADDR = 0x60000000;
, W* l+ e: x* z' k9 p1 V4 BBank1_SRAM2_ADDR = 0x64000000;9 g; Y# M. Q3 a3 ~, |- [' x
Bank1_SRAM3_ADDR = 0x68000000;8 q1 {5 |8 V2 z5 @+ B, Y
Bank1_SRAM4_ADDR = 0x6c000000;
# i1 |; J- E2 D6 g* X分别对应NE1,NE2,NE3,NE4四个片选,相应的IO口应按需要更改配置(下面有官方的例程,里面有详细代码)。
% v- @/ r+ n0 x, _    如果想把变量分配到外部SRAM需要配置“Target Options ” ,选择RAM1前的“default”,后面start添0x68000000,“size”添0x80000,此处配置为Bank1_SRAM3的配置。" g! Q+ {! n! X2 `* }! Q/ O" c$ q  S
    但此时编译后运行会进入“HardFault_Handler()”函数的死循环,原因是配置了外部SRAM后变量会自动分配到外部SRAM但是代码中某些变量在SRAM初始化之前被编译,导致上述错误。; ~/ n& D( U0 K3 I& u7 z
    可以通过将SRAM初始化之前编译的“**.c”和“**.s”文件的“Meorry Assignment”定义到内部RAM的方法来解决。操作方法是:右击该“**.c”选择“option for Flie "**.c"”将“zero Initialized Data”和“other Data”定义到IRAM[0x20000000-0x20000FFFF]。
* }) K) X; ~7 R! m, |! m% X
9 [! u' H" i% I. G+ u
& _+ d$ t+ j, }6 _8 R0 |1 F# i : e- R- x8 j- l* U# }

SRAM.rar

下载

12.05 KB, 下载次数: 929

收藏 1 评论91 发布时间:2013-1-29 09:34

举报

91个回答
xx-381157 回答时间:2013-2-26 19:54:01

回复:stm32外接sram详细配置(基于MDK)

多谢分享!!
HOCH2CHOHCH2OH 回答时间:2015-4-25 19:26:36
问楼主一个小问题,就是ARM框架的STM32能不能运行LINUX之类的系统?我是个菜鸟,不太了解,求不喷
cb-404510 回答时间:2014-12-21 20:44:03
有搞定的吗?不知道是否有漏掉哪个环节,照着操作,问题还在?
& O" L7 x& X- u4 a4 z/ E
sky-340457 回答时间:2013-1-29 09:35:30

RE:stm32外接sram详细配置(基于MDK)

代码回复可见~请多支持
indream123 回答时间:2013-1-30 19:22:10

RE:stm32外接sram详细配置(基于MDK)

正需要外接RAM,谢谢分享
indream123 回答时间:2013-1-31 17:16:23

回复:stm32外接sram详细配置(基于MDK)

请问你这一步是如何操作,能详细说明么?我看不是很懂
; I* N; D- F7 Q1 ?7 H# ?1 w可以通过将SRAM初始化之前编译的“**.c”和“**.s”文件的“Meorry Assignment”定义到内部RAM的方法来解决。操作方法是:右击该“**.c”将“zero Initialized Data”和“other Data”定义到IRAM[0x20000000-0x20000FFFF]。
sky-340457 回答时间:2013-2-1 14:50:59

回复:stm32外接sram详细配置(基于MDK)

回复第 4 楼 于2013-01-31 17:16:23发表:
6 Y8 @$ N: r( X# T请问你这一步是如何操作,能详细说明么?我看不是很懂
4 A8 D* N& |# Y0 H8 w0 f可以通过将SRAM初始化之前编译的“**.c”和“**.s”文件的“Meorry Assignment”定义到内部RAM的方法来解决。操作方法是:右击该“**.c”将“zero Initialized Data”和“other Data”定义到IRAM[0x20000000-0x20000FFFF]。
. M3 v( e. `' u6 q 
  z& _" M7 o2 H* C# E' w. {
3 @: n, E) K/ X7 Z& D6 c0 T* ?在MDK环境下,左侧竖着的工作框内有C文件的列表,直接右键点击该C文件即可进行操作~
jetwu_uestc 回答时间:2013-2-25 09:18:43

回复:stm32外接sram详细配置(基于MDK)

谢谢分享!!
xilou-417733 回答时间:2013-2-25 10:31:41

RE:stm32外接sram详细配置(基于MDK)

估计对我有用,晚上回家试试!
dongdongjun 回答时间:2013-3-7 08:47:25

回复:stm32外接sram详细配置(基于MDK)

多谢分享,谢谢
feitianhu-25473 回答时间:2013-3-20 19:36:10

RE:stm32外接sram详细配置(基于MDK)

学习下。。。。。。。。。
davis10 回答时间:2013-4-1 09:08:01

RE:stm32外接sram详细配置(基于MDK)

学习下。。。。。。。。。
tanbohong 回答时间:2013-5-3 12:11:43

RE:stm32外接sram详细配置(基于MDK)

cool
zxq_gd 回答时间:2013-5-9 09:01:37

回复:stm32外接sram详细配置(基于MDK)

zxxxxxxxxxxxxxxxxx
liulishuang01 回答时间:2013-6-3 13:06:08

回复:stm32外接sram详细配置(基于MDK)

正在学习
liulishuang01 回答时间:2013-6-3 13:42:46

回复:stm32外接sram详细配置(基于MDK)

回复第 2 楼 于2013-01-29 09:35:30发表:, r, {* O3 A) [- U: K1 ?: t+ c# b1 E
代码回复可见~请多支持歇息

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版