查看: 4329|回复: 7

[CodeWarrior] [经验分享]KL系列在CW中定义常量到指定的flash位置

[复制链接]

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-3-13 14:53:01 | 显示全部楼层 |阅读模式
本帖最后由 小恩GG 于 2016-4-15 10:42 编辑


KL系列在CW中定义常量到指定的flash位置

    鉴于有些网友在使用KL系列的时候遇到了常量定义到指定flash位置的问题,所以这里专门分享一贴供需要的网友参考。
    KL系列将常量定义到指定的flash位置和飞思卡尔8位的定义方式有所不同,并不是直接使用例如:const int a @0x1000=0; 这样类型的语句能够解决。
   首先需要开辟一个块用于存储自定义常量,然后才可以直接写入。
下面以KL25为例,讲解具体的操作方法。
第一步: 在.ld文件中的memory中开辟一个段,定义起始地址以及长度。
如下图:
1.jpg
起始地址为0x0001E000, 长度为8k。具体的地址以及长度,根据用户自己的需要定义。
关于.ld文件,可以到工程的Project_Settings下Linker_Files中找到。
第二步:定义具体的输出段情况,如下图:
2.jpg
关于.ld的脚本意思,可以参看附件中的 PDF文档,在第3章有讲解具体的脚本含义。
第三步:在主程序中定义期望的常量。
例如定义:
__attribute__((section (".romsymbols"))) char test[4] ={0x55,0xAA,0x55,0xaa};
第四步:测试结果
3.jpg
可以看到,仿真后在0X0001E000地址开始,看到定义好的数据,完成了常量在flash中指定位置的定义。
本例程的测试代码在附件中,大家需要可以参考。
我知道答案 目前已有7人回答
回复

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
 楼主| 发表于 2014-3-13 14:53:53 | 显示全部楼层

回复:[经验分享]KL系列在CW中定义常量到指定的flash位置

补上参考文档和代码附件:

mkl25_code_relocate.rar

199.63 KB, 下载次数: 97, 下载积分: 威望 1

ld.pdf

689.77 KB, 下载次数: 105, 下载积分: 威望 1

回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

351

帖子

0

高级会员

Rank: 4

积分
870
最后登录
1970-1-1
发表于 2014-3-14 10:12:20 | 显示全部楼层

回复:[经验分享]KL系列在CW中定义常量到指定的flash位置

学习一下
支持楼主的分享
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
 楼主| 发表于 2014-3-19 15:30:03 | 显示全部楼层

RE:[经验分享]KL系列在CW中定义常量到指定的flash位置

不用客气,以后我们会将我们在学习的过程中,学到的宝贵经验和大家分享。
回复 支持 反对

使用道具 举报

该用户从未签到

15

主题

194

帖子

0

高级会员

Rank: 4

积分
551
最后登录
1970-1-1
发表于 2014-12-12 14:27:40 | 显示全部楼层
请问这个定义完了可以进行修改么?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2019-9-17 17:18
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    26

    主题

    394

    帖子

    0

    高级会员

    Rank: 4

    积分
    935
    最后登录
    2019-10-9
    发表于 2015-4-30 10:31:44 | 显示全部楼层
    版主你好
    K64要将变量写入指定地址的flash中也可游参照这个教程吗?急急急
    谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    196

    主题

    495

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1482
    最后登录
    2020-12-3
    发表于 2016-5-26 15:18:17 | 显示全部楼层
    本帖最后由 teclimber 于 2016-5-26 15:19 编辑
    darren_liu 发表于 2015-4-30 10:31
    版主你好
    K64要将变量写入指定地址的flash中也可游参照这个教程吗?急急急
    谢谢 ...

    不错不错
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2245
    最后登录
    2024-4-12
    发表于 2016-5-31 09:18:53 | 显示全部楼层
    谢谢楼主的分享
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-2 16:13 , Processed in 0.135281 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表