搜索
bottom↓
回复: 6

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

[复制链接]

出0入0汤圆

发表于 2014-3-13 14:57:49 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_Robin 于 2014-10-14 15:43 编辑

KL系列在CW中定义常量到指定的flash位置
    鉴于有些网友在使用KL系列的时候遇到了常量定义到指定flash位置的问题,所以这里专门分享一贴供需要的网友参考。
    KL系列将常量定义到指定的flash位置和飞思卡尔8位的定义方式有所不同,并不是直接使用例如:const int a @0x1000=0; 这样类型的语句能够解决。
   首先需要开辟一个块用于存储自定义常量,然后才可以直接写入。
下面以KL25为例,讲解具体的操作方法。
第一步: 在.ld文件中的memory中开辟一个段,定义起始地址以及长度。
如下图:

起始地址为0x0001E000, 长度为8k。具体的地址以及长度,根据用户自己的需要定义。
关于.ld文件,可以到工程的Project_Settings下Linker_Files中找到。
第二步:定义具体的输出段情况,如下图:

关于.ld的脚本意思,可以参看附件中的 PDF文档,在第3章有讲解具体的脚本含义。
第三步:在主程序中定义期望的常量。
例如定义:
__attribute__((section (".romsymbols"))) char test[4] ={0x55,0xAA,0x55,0xaa};
第四步:测试结果

可以看到,仿真后在0X0001E000地址开始,看到定义好的数据,完成了常量在flash中指定位置的定义。
本例程的测试代码在附件中,大家需要可以参考。








PS:本帖可从飞思卡尔版块置顶帖:飞思卡尔Kinetis资料大本营飞思卡尔论坛支持小组【经验分享】帖汇总链接进入。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2014-3-14 09:58:46 | 显示全部楼层
谢谢斑竹分享!!

出0入0汤圆

发表于 2014-3-14 10:10:21 | 显示全部楼层
给力的分享,赞一个!!

出0入0汤圆

发表于 2014-6-3 16:31:03 | 显示全部楼层
zxx   v ad fds  

出0入0汤圆

发表于 2014-9-1 23:18:01 | 显示全部楼层
.......................

出0入0汤圆

发表于 2014-9-1 23:22:37 来自手机 | 显示全部楼层
是的呢   

出0入0汤圆

发表于 2014-10-9 14:02:41 | 显示全部楼层
在PE下怎么操作啊?存储段是可以用PE设置,但自定义的输出段要怎么设置啊?直接改ld文件会在PE生成代码的时候刷掉。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 02:48

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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