飞思卡尔单片机编程

2026/1/27 9:59:45

下面的例子,说明了各种段名、PLACEMENT 和SEGMENTS之间的对应关系。

例4 定义非自动清零的数据段

SEGMENTS ……

RAM 0x2FFF;

RAM_NO_INIT 0x3FFF; ?? END

= READ_WRITE = NO_INIT DATA_NEAR 0x2000 TO 0x3000 TO DATA_NEAR

PLACEMENT ??

DATA_PERSISTENT INTO RAM_NO_INIT; ?? END

//源程序编写:

#pragma DATA_SEG DATA_PERSISTENT //定义复位时非自定清零数据段

byte sysState;

#pragma DATA_SEG DEFAULT

4 堆栈的设置

关于堆栈的设置,Codewarrior提供了两种方式:“STACKSIZE”命令方式和“STACKTOP”命令方式。这两种方式在同一个.prm文件中,不能同时存在。当用户只关心堆栈的大小而不关心堆栈的存放位置时,推荐使用STACKSIZE方式。

系统默认的方式为使用STACKSIZE方式。

STACKSIZE命令方式:

当使用STACKSIZE命令方式时,如果在PLACEMENT-END部分声明了“SSTACK INTO RAM”,这样的话,堆栈区就被放在RAM区域的起始部分,下面的例子说明了这种方式: 例5

SEGMENTS ……

RAM = READ_WRITE TO 0x3FFF; ?? END

PLACEMENT ??

SSTACK, PAGED_RAM, DEFAULT_RAM ??

DATA_NEAR RAM; 0x2000 INTO


飞思卡尔单片机编程.doc 将本文的Word文档下载到电脑
搜索更多关于: 飞思卡尔单片机编程 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219