- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PRM文件内容释疑
PRM文件内容释疑.txt11生命是盛开的花朵,它绽放得美丽,舒展,绚丽多资;生命是精美的小诗,清新流畅,意蕴悠长;生命是优美的乐曲,音律和谐,宛转悠扬;生命是流淌的江河,奔流不息,滚滚向前通过项目模板建立的新项目中都有一个名字为“project.prm”的文件,位于图1-8
所示项目文件列表的“Linker Files”一栏。一个标准的prm文件起始内容如下:
例4.1 prm 文件内容实例
/* This is a linker parameter file for the AW32 */
NAMES END /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your own
files too. */
SEGMENTS /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */
ROM = READ_ONLY 0x8000 TO 0xFFAF;
Z_RAM = READ_WRITE 0x0070 TO 0x00FF;
RAM = READ_WRITE 0x0100 TO 0x086F;
ROM1 = READ_ONLY 0xFFC0 TO 0xFFCB;
END
PLACEMENT /* Here all predefined and user segments are placed into the SEGMENTS defined above. */
DEFAULT_RAM INTO RAM;
DEFAULT_ROM, ROM_VAR, STRINGS INTO ROM;
_DATA_ZEROPAGE, MY_ZEROPAGE INTO Z_RAM;
END
STACKSIZE 0x50
VECTOR 0 _Startup /* Reset vector: this is the default entry point for an application. */
4.1 prm 文件组成结构
按所含的信息prm 文件有五个组成部分构成:
? “NAMES – END”部分用以指定在连接时加入除本项目文件列表之外的额
外的目标代码模块文件,这些文件都是事先经C 编译器或汇编器编译好的
机器码目标文件而不是源代码文件。不过这种用法比较少见,因为我们可
以在图1-8 所示项目文件列表的“Libs”一栏中添加这些目标代码文件来
实现同样的任务,而且由项目列表管理这些模块文件比较直观方便。
? “SEGMENTS – END”部分定义和划分芯片所有可用的内存资源,包括程
序空间和数据空间。一般我们将程序空间定义成“ROM”,把数据空间划
分成第0 页的“Z_RAM”和普通区域的“RAM”,但实际上这些名字都不
是系统保留的关键词,可以由用户随意修改。用户也可以把内存空间按地
址和属性随意分割成大小不同的块,每块可以自由命名。关于内存划分的
具体方法在后面详解。
? “PLACEMENT – END”部分将指派源程序中所定义的各种段,例如数据
段DATA_SEG、CONST_SEG 和代码段CODE_SEG 被具体放置到哪一个内
存块中。它是将源程序中的定义描述和实际物理内存挂钩的桥梁。
? “STACKSIZE”定义系统堆栈长度,其后给出的长度字节数可以根据实际
应用需要进行修改。堆栈的实际定位取决于RAM 内存的划分和使用情况。
在常见的RAM 线性划分变量连续分配的情况下,堆栈将紧挨在用户所定义
的所有变量区域的高端。但如果你将RAM 区分成几个不同的块,请确保其
中至少有一个块能容纳已经定义的堆栈长度。
? “VECTOR”定义所有矢量入口地址。模板在生成prm 文件时已经定义了
复位矢量的入口地址。对于各类中断矢量用户必须自己按矢量编号和中断
服务函数名相关联,请参考3.4.2 中代码范例。如果中断函数的定义是用
“interrupt”加上矢量号,则无需在这里重复定义。
prm 文件中可以添加注释,语法和C语言相同,可以是“/*…*/”或“//”。
4.2 内存划分的具体方式
由“SEGMENTS”开始到“END”为止,中间可以添加任意多行内存划分的定义,
每一行用分号“;”结尾。定义行的语法型式为:
[块名] = [属性] [起始地址 ] TO [结束地址];
其中,
? “块名”的定义和C 语言变量定义相同,是以英文字母开头的一个字符
串。
? “属性”可以有三种不同的类型。对于只读的Flash-ROM 区属性一定是
“READ_ONLY”,对于可读写的RAM 区属性可以
您可能关注的文档
- 9鲸教学设计沈艳兰.doc
- BVI公司授权委托国内公司经营发生纠纷时主体资格公证认证.doc
- Byxwri教师个人工作小结.doc
- B站正式会员题库.docx
- c16090现场客户服务技巧课后测试.doc
- C2C电子商务开题报告.doc
- BZYS4212表面振动压实仪.doc
- BP神经网络算法java实现.docx
- BP神经网络开题报告.doc
- CAD图形模版制作过程.docx
- 2024年学校党总支巡察整改专题民主生活会个人对照检查材料3.docx
- 2025年民主生活会个人对照检查发言材料(四个带头).docx
- 县委常委班子2025年专题生活会带头严守政治纪律和政治规矩,维护党的团结统一等“四个带头方面”对照检查材料四个带头:.docx
- 巡察整改专题民主生活会个人对照检查材料5.docx
- 2024年度围绕带头增强党性、严守纪律、砥砺作风方面等“四个方面”自我对照(问题、措施)7.docx
- 2025年度民主生活会领导班子对照检查材料(“四个带头”).docx
- 国企党委书记2025年度民主生活会个人对照检查材料(五个带头).docx
- 带头严守政治纪律和政治规矩,维护党的团结统一等(四个方面)存在的问题整改发言提纲.docx
- 党委书记党组书记2025年带头增强党性、严守纪律、砥砺作风方面等“四个带头”个人对照检查发言材料.docx
- 2025年巡视巡察专题民主生活会对照检查材料.docx
文档评论(0)