电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

F2812存储器映射及CMD详解

F2812存储器映射及CMD详解_第1页
1/10
F2812存储器映射及CMD详解_第2页
2/10
F2812存储器映射及CMD详解_第3页
3/10
2812 存储器映射及 CMD 2812 存储器映射 2812 具有32 位的数据地址和22 位的程序地址,总地址空间可以达到4M 的数据空间和4M 的程序空间。32 位的数据地址,就是能访问2 的32 次,是4G,而22 位的程序地址,就是能访问2 的22 次,是4M。其实,2812 可寻址的数据空间最大是4G,但是实际线性地址能达到的只有4M,原因是2812 的存储器分配采用的是分页机制,分页机制采用的是形如0xXXXXXXX 的线性地址,所以数据空间能寻址的只有4M。 2812 的存储器被划分成了下面的几个部分: 1. 程序空间和数据空间。2812 所具有的RAM、ROM 和FLASH 都被统一编址,映射到了程序空间和数据空间,这些空间的作用就是存放指令代码和数据变量。 2. 保留区。数据空间里面某些地址被保留了,作为 CPU 的仿真寄存器使用,这些地址是不向用户开放的。 3.CPU 中断向量。在程序空间里也保留了 64 个地址作为 CPU 的 32 个中断向量。通过 CPU 寄存器 ST1 中的 VMAP 位来将这一段地址映射到程序空间的底部或者顶部。 映射和空间的统一编址 F2812 内部的映射空间 低地址空间 高地址空间 2812CMD详解 CMD:command 命令,顾名思义就是命令文件指定存储区域的分配.2812 的CMD 采用的是分页制,其中PAGE0 用于存放程序空间,而PAGE1 用于存放数据空间。 1.)#pragma ,CODE_SECTION 和 DATA_SECTION 伪指令 #pragma DATA_SECTION(funcA,"dataA"); ------ 函数外声明 将 funcA 数据块定位于用户自定义的段"dataA"中 ------ 需要在 CMD 中指定dataA 段的物理地址 2.)MEMORY 和SECTIONS 是命令文件中最常用的两伪指令。MEMORY 伪指令用来表示实际存在目标系统中的可以使用的存储器范围,在这里每个存储器都有自己的名字,起始地址和长度。SECTIONS 伪指令是用来描述输入端是如何组合到输出端内的。 以常用的F2812_nonBIOS_RAM.cmd F2812_nonBIOS_Flash.cmd 和 DSP281x_Headers_nonBIOS.cmd 为例 F2812_nonBIOS_RAM.cmd ----- 用于仿真,无BIOS 系统,片外 SRAM 配置 CMD 文件里有两个基本的段:初始化段和非初始化段。初始化段包含代码和常数等必须在 DSP 上电之后有效的数。故初始化块必须保存在如片内 FLASH 等非遗失性存储器中,非初始化段中含有在程序运行过程中才像变量内写数据进去,所以非初始化段必须链接到易失性存储器中如 RAM。 已初始化的段:.text,.cinit,.const,.eco...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

F2812存储器映射及CMD详解

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部