打印
[Kinetis]

求助 CW kinetis 指定量变地址

[复制链接]
1157|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bjart|  楼主 | 2015-1-8 07:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎么在CodeWarrior10.6中指定变量地址,已经会了论坛中的一种方法:
__attribute__((section (".romsymbols"))) char test[4] ={0x55,0xAA,0x55,0xaa};

但是怎么“批量指定”呢?

例如在CW6.3中可以写成:

#pragma DATA_SEG MY_ZEROPAGE
     char test1[4] ={0x55,0xAA,0x55,0xaa}
     char test2[4] ={0x55,0xAA,0x55,0xaa}
#pragma DATA_SEG DEFAULT

那么在CodeWarrior10.6有没有这种方法呢?

相关帖子

沙发
FSL_TICS_ZJJ| | 2015-1-8 10:45 | 只看该作者
   __attribute__((section (".romsymbols")))   char test1[4] ={0x55,0xAA,0x55,0xaa}
   __attribute__((section (".romsymbols")))   char test2[4] ={0x55,0xAA,0x55,0xaa}

直接这样定义就可以了。
两个常量定义地址会连续在你分的flash块中。

使用特权

评论回复
板凳
bjart|  楼主 | 2015-1-8 15:37 | 只看该作者
但是我想在定义好多好多变量,就只有这一种方法吗?就没有类似
#pragma DATA_SEG MY_ZEROPAGE
     char test1[4] ={0x55,0xAA,0x55,0xaa}
     char test2[4] ={0x55,0xAA,0x55,0xaa}
#pragma DATA_SEG DEFAULT
的方法吗?

使用特权

评论回复
地板
FSL_TICS_ZJJ| | 2015-1-9 11:08 | 只看该作者
楼主你好,请问你用的是什么芯片?
还有你IDE用的是什么编译器?
如果是GCC,并且是非K系列的kinetis芯片,那么就只能用__attribute__((section (".romsymbols")))方式定义常量,不能用#pragma方式,#pragma方式是针对FSL的编译器的。

使用特权

评论回复
5
bjart|  楼主 | 2015-1-10 14:30 | 只看该作者
CodeWarrior10.6    MKE02Z64   看来是只能这样了,谢谢

使用特权

评论回复
6
Thefantasy| | 2015-1-25 20:45 | 只看该作者
学习一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

101

帖子

1

粉丝