云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 飞思卡尔单片机编程

飞思卡尔单片机编程

  • 62 次阅读
  • 3 次下载
  • 2025/6/16 5:24:55

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

SEGMENTS ……

RAM = READ_WRITE DATA_NEAR TO 0x2FFF;

RAM_NO_INIT = NO_INIT DATA_NEAR TO 0x3FFF; …… END

PLACEMENT ……

DATA_PERSISTENT INTO RAM_NO_INIT; …… END

0x2000 0x3000

//源程序编写:

#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 DATA_NEAR 0x2000 TO x3FFF; …… END

PLACEMENT ……

SSTACK, PAGED_RAM, DEFAULT_RAM INTO RAM; ……

0END

STACKSIZE 0x100

上面的例子将堆栈区域存放的地址为0x20FF-0x2000,初始的堆栈指针指向栈顶地址0x20FF。

相反,如果在PLACEMENT-END部分没有声明

“SSTACK INTO RAM”,则堆栈被分配在RAM区域中已分配空间的后面。请参见例6。 例6 SEGMENTS …… RAM =

READ_WRITE DATA_NEAR 0x2000 TO 0x3FFF; …… END

搜索更多关于: 飞思卡尔单片机编程 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

例4 定义非自动清零的数据段 SEGMENTS …… RAM = READ_WRITE DATA_NEAR TO 0x2FFF; RAM_NO_INIT = NO_INIT DATA_NEAR TO 0x3FFF; …… END PLACEMENT …… DATA_PERSISTENT INTO RAM_NO_INIT; …… END 0x2000 0x3000 //源程序编写: #pragma DATA_SEG DATA_PERSISTENT //定义复位时非自定清零数据段 byte sysState; #pragma DATA_SEG DEFAU

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com