基于KEILSTM32内部外部SRAM访问.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于 KEIL 的STM32 内部外部 SRAM 的访问 版本 :V 1.0 注意 :此处仅以基于 KEIL 的STM32 做例子来说明其内部及外部 RAM 的访问 1、概述 对于一个使用单 机内部 RAM 的访问相当容易 ,基本上定义变量是不需要思考 其定位问题的 ,当把外部 SRAM 考虑进来时 ,则需要考虑内部及外部的问题 ;比如 , 如何让一个变量定位在内部或者外部 RAM ;定位于内部是如何访问 ,定位于外部时又 如何访问。这里说的是一个变量 ,或者一个数组的定位问题 ,当涉及到一个文件或者 多个文件其内部所有变量的定位问题就复杂得多了。 2、变量定位定义的一般方法 (使用__attribute__) 一般的定义方法如下图 图 1 定义了 3 数组 (属于公共变量 ),现在检查下对应的 map 文件如下图所示 图 2 如上图的 2998 行 3012 行 3013 行可见与上面定义的位置是对应的 ,所以这样实现了 变量定义的定位功能 ;当内部 RAM 不足时或者有意定义一个变量定位到外部 RAM 中 就可以采用这种方法 (使用外部 RAM 有前提条件这里就不说了 )。 1 / 5 3、批量定义变量到 部 SRAM 如何实现批量的变量定义到外部 RAM 呢 ?除了批量地使用__attribute__ 定义变量,还是有更快捷的方法的。 3.1、配置 部 SRAM 可用起始地址及大小—如下图 图3 图4 如图4 所示 ,最左最右边的小方框不要打勾…千万不要打勾 ,开始地址及大小必须如 实填写 (Size 的值可以小于但绝对不能大于实际外置芯 值 ),开始地址安装原理图 连线确定其值。 3.2、如何让一个文件内部定义的所有变量定位于外部 SRAM 2 / 5 首先定一个小目标 :确定你要一个所有变量需要定位于外部 SRAM 的文件 ,接 着按照下图来配置 (这里让 main.c 这个文件 ,让里面定义的所有变量均定位于外部 SRAM 中 )在工程窗口选择 main.c 点鼠标右键如下图。 图 5 菜单选择第一行 “Op ions for File ‘main.c’ ”之后显示如下图 图6 3 / 5 如上图我们仅需关注 “Memory Assignmen ”组 ,Code/Cons 定义代码及 cons 的定 位 ,Zero Ini ialized Da a 及 O her Da a 是变量的定位 ,此处我们关心的仅数据 (变量 ) 部分的定位。定位设置如下图

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档