查看: 2646|回复: 1

[CodeWarrior] 在CW10.6中对指定flash存储区域进行编程

[复制链接]

该用户从未签到

7

主题

9

帖子

0

注册会员

Rank: 2

积分
84
最后登录
1970-1-1
发表于 2015-1-18 20:18:58 | 显示全部楼层 |阅读模式
本帖最后由 FSL_FAE_Chao 于 2015-1-22 15:24 编辑

在调试程序过程中,经常需要将一部分的Flash用来保存数据,而不希望在下载用户应用程序的过程中修改这段数据。下面在CodeWarrior 10.6环境下,以K64FN1M0为例,使用Jlink为调试工具,说明如何实现这一过程。
MK64FN1M0 MCU包含1M大小的Flash,在工程中将Flash分成2个区域,如下是CodeWarrior链接文件(.ld)中对flash分区的描述。
1_1.jpg
其中m_text为代码段,用于存储加载的代码,而m_text2中存储的数据内容需要被保持,不能擦除。下面给出在CW10.6中实现这一功能的具体步骤,共分为两个大步。
Ø 创建TargetTasks
o  在CW10.6的编辑环境中显示选项卡Target Tasks. 可以在菜单栏Window->ShowView->other中添加Target Tasks,然后选择在弹出的菜单中选择Debug->TargetTasks.

o  在TargetTasks视图中,选择“Import” file:///C:/Users/B50031/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg,然后选择目标芯片的flash(.xml)文件。本例中选择MK64FN1M0.xml文件,这样在右侧的列表中能看到“MK64FN1M0”。
1_2.jpg
o  双击任务名,在“FlashProgrammer Actions”视图中,可以看到两个选项“Erase”和“Program and Verify”。
1_3.jpg
o  默认Erase功能时先擦除全部的Flash,因此需要取消“Erase”功能。添加“Program and Verify”选项。
o  双击“Programand Verify”选项,在弹出的对话框中,勾选“Erasesectors before program”选项。虽然不需要擦除所有的Flash,但需要编程的Flash还是要先擦除的。
1_4.jpg
o  另外勾选“Restrictto Addresses in this Range”选项,然后指定需要编程的Flash地址范围。在该范围外的数据/代码内容都将会被保留(不会被擦除或更改)。最后,点击“UpdateProgram Action”按钮来更新上述设置。
Ø 修改Debug配置
o  这里调试使用JLink工具为例,依次选择“Debugger”和“Download”选项卡。
o  默认情况下,执行标准下载“StandardDownload”,所有的Flash都将被擦除。这里取消“Standard Download”,勾选“ExecuteTasks”。
o  点击右旁的“Add”按钮添加第一大步中创建的K64F1M012任务。
1_5.jpg
o  最后点击“Debug”按钮,应用程序程序将按照上述设置加载到Flash中,未被指定编程的区域将被保留,而不会被擦除。其结果可在Memory视图中查看。
上述步骤主要描述加载应用程序过程中保护特定的存储区代码不被擦写。本文中使用的是Segger-JLink,使用其他调试工具,如P&E Multilink USB TAP也是一样,有任何问题请联系 b44516@freescale.com
(by Hanson He---IMM FAEChina)
在CW10.6中对指定 Flash存储区域进行编程.pdf (420.3 KB, 下载次数: 25)
回复

使用道具 举报

  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13274
    最后登录
    2019-1-27
    发表于 2015-1-19 09:31:18 | 显示全部楼层
    赞一个,貌似以前FAE的这类帖子,主题前都会标注【经验分享】的?
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-9-12 07:48 , Processed in 0.112663 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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