mdk 如何配置sram

作者&投稿:姚鹏 (若有异议请与网页底部的电邮联系)
stm32中怎么在keil中设置程序运行在外部sram~


STM32F1_外部SRAM作为运行内存:
http://blog.csdn.net/ybhuangfugui/article/details/51477977

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

此配置实用st的官方例程,sram使用的区块为bank1,bank1的首地址为0x60000000尾地址为0x6fffffff,分为4个64M的区块。

其中:

Bank1_SRAM1_ADDR = 0x60000000;

Bank1_SRAM2_ADDR = 0x64000000;

Bank1_SRAM3_ADDR = 0x68000000;

Bank1_SRAM4_ADDR = 0x6c000000;

分别对应NE1,NE2,NE3,NE4四个片选,相应的IO口应按需要更改配置(下面有官方的例程,里面有详细代码)。

如果想把变量分配到外部SRAM需要配置“Target Options ” ,选择RAM1前的“default”,后面start添0x68000000,“size”添0x80000,此处配置为Bank1_SRAM3的配置。

但此时编译后运行会进入“HardFault_Handler()”函数的死循环,原因是配置了外部SRAM后变量会自动分配到外部SRAM但是代码中某些变量在SRAM初始化之前被编译,导致上述错误。

可以通过将SRAM初始化之前编译的“**.c”和“**.s”文件的“Meorry Assignment”定义到内部RAM的方法来解决。操作方法是:右击该“**.c”选择“option for Flie "**.c"”将“zero Initialized Data”和“other Data”定义到IRAM[0x20000000-0x20000FFFF]。


周宁县19143141965: 如何设置 “程序/数据SRAM ”作为内存使用 -
啜看贝前: 一、基本简介 SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据.而DRAM(Dynamic Random Access Memory)每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能

周宁县19143141965: SRAM,DRAM地址分配 -
啜看贝前: 1.两个SRAM只是举个例子,8位的SRAM也有128KB容量的,16位的SRAM也有64K容量的,书上大概用的16位的地址线,这样的话(2^16)*8/8=64KB,(2^16)*16/8=128KB.2.DRAM的容量表示方法,1M代表地址长度20位(比如12位的Row,8位的Colume),即2^20=1M,16代表数据宽度16是位,4表示DRAM有4个Bank,因此容量=1M*16*4/8=8MB

周宁县19143141965: MDK到底怎么才能软件仿真STM32 -
啜看贝前: keil的arm版叫MDK,界面一样,启动时也带keil的图标.目前mdk系列,软件仿真无法过锁相环,需要手动修改代码,硬件仿真倒是有相关的驱动/以及方法,mdk4和5都能仿真(需要配置一下). keil早就被arm收购了,然后一个软件,根据配属的库的不同,...

周宁县19143141965: 如何使用MDK建立一个STM32工程 -
啜看贝前: 第一步:获取ST库源码 关于获取ST公司的STM32固件库源码,有几种方法.我们可以在百度上搜,网上有进行了分享,也可以到ST公司的官网进行查找并下载.不过,如果英文不好的话,要在官网上找到STM32固件库确实是件很吃力的事....

周宁县19143141965: 如何使用 mdk 5 rte cmsis -
啜看贝前: 1 关于获取ST公司的STM32固件库源码,有几种方法.我们可以在百度上搜,网上有进行了分享,也可以到ST公司的官网进行查找并下载.不过,如果英文不好的话,要在官网上找到STM32固件库确实是件很吃力的事.在官网上可以根据英文...

周宁县19143141965: proteus7.7 和keil MDK4.20怎样联调arm??? -
啜看贝前: 安装之前的准备:1、MDK4.0(Keil uVision 4) 有网友说4.0之前的版本在联调的时候会出现死机或连接不成功的情况,我没有试过,建议大家用4.0或其之后的版本.2、Proteus 7.5 sp3 这个是目前最新的版本吧,对Proteus没有特别的要求,当然...

周宁县19143141965: 关于STM32 KEIL MDK环境下,程序在RAM中调试的问题 -
啜看贝前: 在RAM中调试和从RAM中启动是两个不同的概念, 实验证明,在RAM中调试不需要改变BOOT1和BOOT0引脚. 在调试的过程中如果单击了RST复位按钮,则需要重新Debug! 所以,你的问题只能重新Debug. 望采纳,谢谢!

周宁县19143141965: 如何使用JLINK向stm32烧写程序 -
啜看贝前: MDK工程配置里DEBUG选择Cortex-M/R JLINK/J-Trace,然后直接load.要调试就点击ⓓ

周宁县19143141965: 一个用keil创建的ARM工程需要哪些文件!如何创建!初学者 -
啜看贝前: 1、安装 Keil MDK,对于 MDK 5.0 以上的版本来说,还需要下载安装一些组件的 PACK 包(用 MDK 中的 PackInstaller 来下载和安装). 2、创建 ARM 工程,与以前的 Keil C51 工程类似,主要是选则一个 ARM 芯片. 3、其它文件可能需要芯片厂家提供的 BSP 驱动库.大致就是这些了,细节可能还有很多,笼统的也说不清,你可以先一边做着,碰到问题再来追问具体细节.

周宁县19143141965: 如何安装mdk软件 -
啜看贝前: 安装1 双击Keil C51安装包,会弹出一个安装界面,直接点击“NEXT>>”进入下一步.2 这里一定要勾选同意安装协议,才能点击和进入下一步“NEXT>>”.3 这里是选择安装目录(路径),软件存储本地路径.也可以默认,直接点击“...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网