飞思卡尔编程/prm目录下的文件Project.prm
发表:2023-08-29 11:59:48 阅读:45

飞思卡尔编程/prm目录下的文件Project.prm

文件Project.prm是连接器linker.exe用来定义程序中各段在单片机存储器物理上的对应位置,相当于汇编程序设计中的伪指令“0RG”。一个比较完整的prm文件如下,主要包括四部分:①第一部分定义连接器最终生成的可执行文件名*.abs,以及需要的目标文件名*.o,其中目标文件可能有多个。这部分在CodeWarrior集成开发环境中往往是默认的,需要的文件参数是通过命令行的方式传递给连接器linker.exe的;②第二部分分段定义单片机的存储器空间,不同单片机这里会有差别;③第三部分将用户程序中的段按出现的顺序,映射到存储器的具体位置,应用程序中没定义的段名将会被跳过;④第四部分是堆栈空间大小定义与中断函数的定义。中断的定义可以提供中断号或者是人口地址,比如“VECTOR 0一Startup”与“VECTOR ADDRESS 0xFFFE—Startup”是等同的。

/*第一部分*/

LINK test.abs //定义生成的可执行文件名

NAMES main.O Start08.O END /*连接需要的目标文件*/

/*第二部分*/

SEGMENTS/*列举所有的RAM/ROM空间,以备后面的PLACEMENT使用*/

Z—RAM =READ—WRITE 0x0060 T0 0xOOFF;

RAM =READ—WRITE 0x0100 T0 0x025F;

ROM =READ—ONLY 0xE000 T0 0xFFAD;

ROMl =READ—ONLY OxFFCO T0 0xFFCF;

/*INTVECTS =READ ONLY 0xFFDO T0 0xFFFF:Reserved for Interrupt

Vectors球/

END

/*第三部分*/

PLACEMENT /*将用户程序中出现的段放入上面定义的段中*/

DEFAULT RAM /*非零页变量*/

INTO RAM;

PRESTART. /*启动代码*/

STARTUP. /*启动数据结构*/

ROM VAR. /*数据表格*/

STRINGS. /*字符串列表*/

VIRTUAL TABL E SEGMENT, /*C++virtual table segment*/

DEFAULT—ROM,

COPY /*初始化变量的复制信息*/

INl:D ROM:

_DATA_ZEROPAGE, /*零页变量*/

MY—ZEROPAGE INTO Z—RAM:

END

/*第四部分*/

STACKSIZE 0x50 //定义堆栈深度

VECTOR 0一Startup /*复位向量,应用程序的默认人口*/

 

阅读更多请您关注:

C语言编程项目中自动生成的/Sources目录下的文件main.C

飞思卡尔编程/Sources目录下的文件Start08.c

飞思卡尔编程/Sources目录下的文件Start08.c

freescale代理