#prama 个人使用总结

本文详细介绍了在MC9S12单片机中,如何使用#pragma指令进行常量数据段、变量数据段、程序段的定义和中断函数的优化。通过实例解析了CONST_SEG、DATA_SEG、CODE_SEG的用法,以及LINK_INFO DERIVATIVE用于自动检测芯片的功能,最后提到了#pragma MESSAGE在控制编译信息显示中的作用。
摘要由CSDN通过智能技术生成

1、格式:#pragma CONST_SEG名称

解读:定义一个常数数据段,必须和const修饰关键词配置使用。该定义下的所有数据将被放置在程序只读的ROM区,并且需要.prm文件配合使用

1)在testmode.c中出现这个用法

#pragma  CONST_SEG  ECUINFO

Volatile  const  INT8U FlashECUInfo[12] ={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x05};

#pragma CONST_SEG DEFAULT

2)查看project.prm文件有如下定义:

         SEGMENTS

                ROM_ECUINFO   = READ_ONLY     0xFE00 TO  0xFE1F;

         END

         PLACEMENT

                ECUINFO           INTO ROM_ECUINFO;

         END

3)在源程序中将FlashECUInfo12个字节数据放在CONST_SEG ECUINFO段,之后的程序放在default段。在prm中,分配ROM_ECUINFO段的地址0xFE00-0xFF1F。在编译时,把ECUINFO的数据放入ROM_ECUINFO。这样就实现源程序到实际物理地址的连接。

查看对应地址信息,和程序中一致:0FE00 FF FF FF FF FF FF FF FF   FF F

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值