问题 使用 ModusToolbox 3.0中的 Kitprog3 编程 PSoC6 时,Modus 会自动执行闪存比较功能,以检查 PSoC 闪存的内容是否与当前的 HEX 文件匹配。如果匹配,则跳过编程过程。如何关闭此功能? 回答 OpenOCD 在执行编程之前会进行闪存的预验证,当所有数据匹配时,会跳过编程过程。例如: 区域验证中 (0x10000000, 110696) ... 匹配
区域验证中 (0x10020000, 44220) ... 匹配
信息:所有数据匹配,跳过闪存编程。 但在特别情况下,开发者可能更倾向于重新编程设备,不对代码进行任何更改并重新加载。禁用闪存预验证功能有两种方法: 方法 1: 在MTB启动配置的 "Config options" 部分中添加 "gdb_smart_program disable" 命令。依次点击ModusToolBox->Run->Run Configurations...打开运行配置窗口,选择ProjectNate_Program (Kitprog3_Miniprog4) 工程,在MTB启动配置中添加"gdb_smart_program disable"命令。 该方法仅对当前工程有效,配置修改不会影响其他工程。推荐使用这种方法。
方法 2: 点开ModusToolbox™安装路径,"xxx\ModusToolbox\tools_3.0\openocd\scripts\target\mxs40\",打开文件 "psoc6_common.cfg",将其最后一行修改为"gdb_smart_program disable"。 注意,这是一个全局性修改,会影响所有的PSoC6 MTB工程。请在不需要时恢复到初始设置。我们不建议盲目使用此方法,修改前请确保对需求有充分的了解。
|