Question 使用 ModusToolBox 3.0 直接烧录 CY8CKIT-062-BLE 开发板(或其他P6开发板)之后,本该进入深睡眠的 PSoC6 芯片出现了较高的测量功耗,MTB 2.4 则没有这个问题。原因是什么,该如何解决。 AnswerModusToolBox 3.0 的 Program launch config 使用的 GDB 指令来实现烧录,但是烧录完成后没有给 debug domain 掉电,从而导致了高功耗。 解决方法 : Step1: 在 ModusToolBox 3.0 中选中目标工程之后,点击 Run -->Run Configuration, 打开 Run Configuration GUI 界面 Step2: 切换的 Debugger 表单,在 Config options 文本框中找到最后一行指令 -c "init; reset init",并用下面的指令替换。红色标记代表本工程 HEX 文件的放置路径,该路径显示在 Main 表单下 C/C++ Application 文本框中的,直接拷贝
覆盖即可。
-c "if [catch {program <insert_hex_file_path>} ] { echo {** Program operation failed **} } else { echo {** Program operation completed successfully **} }"
-c "reset_config srst_only;reset run;psoc6.dap dpreg 0x04 0x00;shutdown"
Example:
-s "${openocd_path}/../scripts"
-s "bsps/TARGET_APP_CY8CKIT-062-BLE/config/GeneratedSource"
-c "source [find interface/kitprog3.cfg]"
-c "transport select swd"
-c "puts stderr {Started by GNU MCU Eclipse}"
-c "source [find target/psoc6.cfg]"
-c "psoc6 sflash_restrictions 1"
-c "if [catch {program ${cy_prj_path:9de907a3-a3a5-4f25-8416-8adb508cf114}/build/APP_CY8CKIT-062-BLE/Debug/mtb-example-empty-app.hex} ]
{ echo {** Program operation failed **} } else { echo {** Program operation completed successfully **} }"
-c "reset_config srst_only;reset run;psoc6.dap dpreg 0x04 0x00;shutdown"
Step3: 将 Start GDB session 勾选框取消(默认勾选)。点击 Apply 保存配置,点击 RUN 运行 program 操作,烧录完毕 PSOC6 芯片功耗回复正常,无需再外部复位或者重新上电。
工程 HEX 文件的放置路径
内容转自:英飞凌官方论坛
|