版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 存储器的结构、映像及CMD文件的编写7.1 存储器相关的总线知识地址总线PAB (Program Address Bus)程序地址总线,它是一个22位的总线,用于传送程序空间的读写地址。程序在运行的时候,假如CPU执行到了某一个指令,那么需要去找到这段代码的地址,就是用PAB来传送。DRAB(Data-Read Address Bus)数据读地址总线,它是个32位的总线,用于传送数据空间的读地址。假如CPU要读取数据空间某一个单元的内容,那么这个单元的地址就是通过DRAB来传送。DWAB(Data-Write Address Bus)数据写地址总线,它也是个32位的总线,用于传送数据空
2、间的写地址。类似的,如果CPU要对数据空间的某一个单元进行写操作,那么这个单元的地址就是通过DWAB来传送 数据总线PRDW(Program-Read Data Bus)程序读数据总线,它是一个32位的总线,用于传送读取程序空间时的指令或者数据。CPU在执行代码的时候,首先是通过PAB传送并找到了存放该指令的存储单元,但是这个存储单元下的具体内容就要由PRDW来传送了。DRDB(Data-Read Data Bus)数据读数据总线,它是一个32位的总线,在读取数据空间时用来传送数据。CPU在进行读操作时,先通过DRAB总线确定了需要进行读操作的数据单元的地址,接下来传送这个数据单元下面的具体内
3、容时就需要DRDB了。DWDB(Data/Program-Write Data Bus)数据写数据总线,它是一个32位的总线,在进行写操作时,向数据空间/程序空间传送相应的数据。也就是假如CPU要对数据空间的某一个单元进行写操作,通过DWAB传送了这一个单元的地址,同时需要DWDB来传送写入的内容。7.2.1 F2812片内存储器资源存储器名称存储器容量FLASH128K*16位H0(SRAM)8K*16位L0(SRAM)4K*16位L1(SRAM)4K*16位M0(SRAM)1K*16位M1(SRAM)1K*16位Boot ROM4K*16位OTP(One Time Programmable
4、 ROM)1K*16位7.2.2 映像与统一编址的理解7.2.2 F2812的存储器映像 “映像”用英文单词来表示是“Map”,“Map”在中文里又是“地图”的意思。地图应该都比较熟悉吧,在地图上,建筑物都有自己详细的地址,根据地图的指引,按照地址,就能找到相应的地方。类似的,当存储器单元的地址在设计时都确定下来后,就形成了存储器的“地图”,也就是存储器映像,根据存储单元的地址,就能找到相应的存储单元。7.2.3-1 片内SRAMn总共18K*16位大小nH0 8K*16位nL0 4K*16位 受CSM保护nL1 4K*16位 受CSM保护nM0 1K*16位nM1 1K*16位7.2.3-2
5、 片内OTP 片内OTP实质是ROM空间。OTP是One Time Programmable的缩写,即一次性可编程的ROM,其大小为2K*16位,其中1K*16位由TI公司保留作为系统测试使用,剩余1K*16位用户可以使用,这部分空间也均可以作为程序空间或者数据空间。OTP里面的内容受到CSM的保护。7.2.3-3 Boot ROMnBoot ROM,可以叫做引导ROM。该存储空间内由TI公司装载了产品的版本号、发布的数据、校验求和信息、复位矢量、CPU矢量(仅为测试)及数学表等。 7.2.3-4 片内Flash地址范围区段名称0 x3D 80000 x3D 9FFF段J,8K*16位0 x3
6、D A0000 x3D BFFF段I,8K*16位0 x3D C0000 x3D FFFF段H,16K*16位0 x3E 00000 x3E 3FFF段G,16K*16位0 x3E 40000 x3E 7FFF段F,16K*16位0 x3E 80000 x3E BFFF段E,16K*16位0 x3E C0000 x3E FFFF段D,16K*16位0 x3F 00000 x3F 3FFF段C,16K*16位0 x3F 40000 x3F 5FFF段B,8K*16位0 x3F 60000 x3F7FF60 x3F7FF7段A,16K*16位Boot到FLASH的入口处,此处有程序分支指令0 x3
7、F 7FF80 x3F 7FFF安全密码,8*16位7.2.3-5 代码安全模块CSMnCSM是Code Security Module的缩写,即代码安全模块。在开发完程序,将代码烧写进芯片的存储器后,常常会担心别人通过JTAG口从存储器中将代码读出来,为了保护代码安全,F2812设计有代码安全模块CSM,其地址为0 x3F 7FF80 x3F 7FFF,共128位。n受到CSM保护的模块有FLASH、OTP、L0及L1。 FLASH烧写界面7.3 CMD文件 连接命令文件(Linker Command Files), 以后缀.cmd结尾,简称为CMD文件。 COFF概念n通用目标文件格式CO
8、FF(Common Object File Format),是一种很流行的二进制可执行文件格式。二进制可执行文件包括了库文件(以后缀.lib结尾),目标文件(以后缀.obj结尾),最终的可执行文件(以后缀.out结尾)等,平时烧写程序时使用的就是.out结尾的文件。段概念n使用段的好处是鼓励模块化编程,提供更强大而又灵活的方法来管理代码和目标系统的存储空间。这里模块化编程的意思是指程序员可以自由决定愿意把哪些代码归属到哪些段,然后加以不同的处理。比如,把已经初始化的数据放到一个段里,未初始化的数据放到另一个段里,而不是混杂的放在一起。编译器处理段的过程1.把每个源文件都编译成独立的目标文件(以
9、后缀.obj结尾),每个目标文件都含有自己的段。2.连接器把这些目标文件中相同段名的部分连接在一起,生成最终的可执行文件(以后缀.out结尾)。 7.3.2-1 以初始化的段ntext:编译C语言中的语句时,生成的汇编指令代码存放于此。ncinit:存放用来对全局和静态变量初始化的常数。nconst:包含字符串常量和初始化的全局变量和静态变量(由const声明)的初始化和说明。neconst:包含字符串常量和初始化的全局变量和静态变量(由far const声明)的初始化和说明。npinit:全局构造器(C+)程序列表。nswitch:存放switch语句产生的常数表格。7.3.2-2 未初始化
10、的段nbss:为全局变量和局部变量保留的空间,在程序上电时,.cinit空间中的数据复制出来并存储在.bss空间中。nebss:为使用大寄存器模式时的全局变量和静态变量预留的空间,在程序上电时,.cinit空间中的数据复制出来并存储在.ebss中。nstack:为系统堆栈保留的空间,主要用于和函数传递变量或为局部变量分配空间。nsystem:为动态存储分配保留的空间。如果有宏函数,此空间被宏函数占用,如果没有的话,此空间保留为0。nesysmem:为动态存储分配保留的空间。如果有far函数,此空间被相应的占用,如果没有的化,此空间保留为0。预处理命令#pragma语法#pragma CODE_
11、SECTION(symbol,”section name”);#pragma DATA_SECTION(symbol,”section name”);例7-1 #pragma DATA_SECTION(s,”newsect”); unsigned int s100; void main(void) 将全局数组变量s100单独编译成一个新的段,取名为”newsect”。 段的存储特性段存储器类型分配的存储空间.textROM OR RAM (FLASH)Page0.cinitROM OR RAM (FLASH)Page0.constROM OR RAM (FLASH)Page1.econstRO
12、M OR RAM (FLASH)Page1.pinitROM OR RAM (FLASH)Page0.switchROM OR RAM (FLASH)Page0/page1.bssRAMPage1.ebssRAMPage1.stackRAMPage1.systemRAMPage1.esystemRAMPage1通过#pragma CODE_SECTION定义的段ROM OR RAM (FLASH)Page0通过#pragma DATA_SECTION定义的段RAMPage17.3.3 CMD文件的编写nCMD文件支持C语言中的块注释符“/*”和“*/”,但不支持行注释符“/”。CMD文件会使用到为数不多的几个关键字,下面会根据需要来介绍一些常用的关键字。 nCMD文件的两大主要功能是指示存储空间和分配段到存储空间 。1.通过MEMORY伪指令来指示存储空间MEMORY伪指令语法如下:MEMORY PAGE0:name0(attr):
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年山东聊城东昌府区“春风行动”线上企业招聘岗位发布(4346人)笔试历年参考题库附带答案详解
- 2025年7月广东中山兴坦食品有限责任公司招聘笔试及笔试历年参考题库附带答案详解
- 2025山东招金国际黄金股份有限公司招聘4人笔试历年参考题库附带答案详解
- 2025安徽蚌埠市东方投资集团有限公司招聘暨政审笔试历年参考题库附带答案详解
- 2025安徽六安市裕安区区属国有企业招聘工作人员综合及人员笔试历年参考题库附带答案详解
- 2025四川华蓥市通达交通开发有限责任公司招聘工作人员笔试历年参考题库附带答案详解
- 2025中国航空器材集团有限公司招聘集团战略发展部(深改办)副总经理笔试历年参考题库附带答案详解
- 2020-2021中考化学化学推断题的综合题试题含详细答案
- 2025政府采购评审专家考试试题及答案
- 2025年银行合规检查实务模拟训练(含答案)
- 手术室护士病情观察
- 全球变暖课件高级
- 五年级下学期数学自然数(课件)
- 幼儿园班级幼儿图书目录清单(大中小班)
- 信息安全等级保护制度-信息分类分级管理制度
- SN-T2632-2010微生物菌种常规保藏技术规范
- 个人发票委托书
- 贵州省黔东南州2022-2023学年八年级上学期期末文化水平测试数学试卷(含答案)
- 青岛啤酒博物馆调查报告
- 新教材2024版高中地理本册整合提升课件新人教版必修第一册
- 资产评估学教程(第八版)习题及答案 乔志敏
评论
0/150
提交评论