在调试程序过程中,用户希望能保护EEPROM中掉电保存的内容,在编程时不破坏这部分数据,只对目标芯片Flash进行编程。下面在CodeWarrior 10.6环境下,以MC9S08PT为例,使用USB Multilink为调试工具,说明如何实现这一过程。 MC9S08PT包含60K大小的Flash和258B的EEPROM。如下是CodeWarrior链接文件(.ld)中对flash分区的描述。
其中EEPROM中存储的数据内容需要被保持,不能擦除。下面给出在CW10.6中实现这一功能的具体步骤,共分为两个大步。 Ø 创建TargetTasks o 在CW10.6的编辑环境中显示选项卡Target Tasks. 可以在菜单栏Window->ShowView->other中添加TargetTasks,然后选择在弹出的菜单中选择Debug->Target Tasks. o 在TargetTasks视图中,选择“Import” file:///C:/Users/B50031/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg,然后选择目标芯片的flash(.xml)文件。本例中选择MC9S08PT60.xml文件,这样在右侧的列表中能看到“MC9S08PT60”。
o 双击任务名,在“FlashProgrammer Actions”视图中,可以看到两个选项“Erase”和“Program”和“ Verify”。
o 默认Erase功能时先擦除全部的Flash,因此需要取消EEPROM的“Program”和“Verify”两项功能。如下所示。
o 最后,点击“UpdateProgram Action”按钮来更新上述设置。 Ø 修改Debug配置 o 这里调试使用USBMultilink工具为例,依次选择“Debugger”和“Download”选项卡。 o 默认情况下,执行标准下载“StandardDownload”,所有的Flash都将被擦除。这里取消“Standard Download”,勾选“Execute Tasks”。 o 点击右旁的“Add”按钮添加第一大步中创建的MC9S08PT60任务。
o 最后点击“Debug”按钮,应用程序程序将按照上述设置加载到Flash中,EEPROM将被保留,而不会被擦除。其结果可在Memory视图中查看。 (by Hanson He---IMMFAE China)
在CW10.6中 保留EEPROM内容.pdf
(265.82 KB)
|