This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我为 launchxl-rm46板重新打开了 openocd 配置、因为 repo 中的配置无效。
adapter_kHz 1500 源[查找接口/CMSIS-DAP.cfg] #source [查找接口/xds110.cfg] transport select JTAG set CHIPNAME rm46 set DAP_TPID 0x2B95502F set JRC_TPID 0x2B95502F adapter_kHz 1500 if{[存在信息 CHIPNAME]}{ set _CHIPNAME}$ INDIAN}{ 如果存在则设置 TMSENINEST_INUAN }设置 TMSENINNAME } 否则{ set _ENDIAN big } # TMS570具有 ICEpick-C、我们需要路由器命令。 source [查找 target/icepick.cfg ]# Main DAP # DAP_TADPID 如果 {[信息存在 DAP_TADP]}{ set _DAP_TAP_TADPID $ DAP_TADPID } JTAG newtap $_CHIPNAME CPU -irtap4 -ircapture 0x1 -irmask 0xF -Expected -tap_CCAP_TAP_TAP0 #_ENABLET.$ TRIPIPIP_ENABLE_TRD #"$ TRIPIPIPIPIP_ENABLE"#TRIP_TRIP_ENDIPIPIPIPIP_ENABLE_TRD (JTAG 路由控制器) 如果 {[信息存在 JRC_TAPID]}{ 设置_JRC_TAPID $JRC_TAPID } 设置_JRC_TAPD82 0x0B7B302F 设置_JRC_TAPID3 0x0B95502F 设置_JRC_TAPD82 0x0B0B0B0BTRC 设置_TAP2F 设置_JTRC 0x000B0B0B0B0AD2F -ircapture 0x1 -irmask 0x3f \ -Expected-id $_JRC_TAPID \ -Expected-id $_JRC_TAPID2 \ -Expected-id $_JRC_TAPID3 \ -Expected-id $_JRC_TAPID4 \ -Expected-id $_JRC_TRC -CONFIGURE -JTRC-JIPID6-JERC-END$-JTRC-POIND-POIND-POIND-ENDx 1-ENDx-ENDx-JER_TRC-ENDx-ENDx-JIPD-JTRC-ENDx-JIPD-ENDx-ENABP-ENDx-ENDx-ENDx-ENDx-JIPD-ENDx-JIPD-1-1-1-1-1-1-1-1-1- 目标 集_TARGETNAME $_CHIPNAME.CPU DAP 创建$_CHIPNAME.DAP -连锁位置$_CHIPAME。CPU 目标创建$_TARGETNAME cortex_R4 -endian $_ENDIAN \ -DAP $_CHIPdb.dAP -CoreID 0 -tex gbase 0x00001003 #task_task_triggaps #task_r32_triggaps #triggote_attrit r32_rgaps #triggaps #triggote_attrit r32_rgaps #triggote_attrit rgaps #triggaps #triggote_rg WAIT_HALT $_CHIPNAME.CPU ARP_HALT WAIT_HALT } $_TARGETNAME 配置-EVENT "复位-断言"{ GLOBAL _CHIPNAME #通过 ICEPick icepick_c_wreset $_CHIPNAME.JRC 声明系统热复位 }
openocd 运行正确、但当我尝试使目标停止时、我看到了
错误:等待暂停超时
当我尝试复位暂停时、我看到了
INFO:JTAG TAP:rm46.jrc tap / device found:0x2b95502f (mfg:0x017 (Texas Instruments)、part:bx955、ver:0x2)
INFO:JTAG TAP:rm46.CPU 已启用
警告:rm46.cpu:在复位后和停止前运行...
错误:等待暂停超时
在程序"重置"中
在程序"OCD_Bouncer"中
可能是我犯了个错误吗?
我在修改配置时暂停,但现在我无法刷写,因为我知道 openocd 支持 Flash021 API,我是否需要设置组地址,例如在不同的配置中?
我已将目标创建更改为
目标创建$_TARGETNAME cortex_R4 -endian little -DAP $_CHIPNAME.dAP -CoreID 0
此外、我在日志中看到奇怪的电流模式
由于调试请求、目标在 ARM 状态下暂停、当前模式:未定义指令
CPSR:0x000001db PC:0x00000004
信息:rm46.cpu rev 3, partnum c14, archf,变体1,实现者41
D-Cache:Disabled (已禁用)、I-Cache:Disabled (已禁用)
亚历山大
我正在尝试使 openocd 与 tms570ls3137和 tms570ls1227一起工作。
[引用用户="Alexander Bulychev55"]据我所知,openocd 支持 Flash021 API[/quot]
您在哪里看到 openocd 支持 Flash021 API? 因为我一直在寻找它、我没有找到任何东西。
亚历山大
感谢您发送新的目标创建行;我可以将其添加到这里、现在目标在连接时停止。 然而、复位仍然充满问题(当被多次调用时、它往往会使 OpenOCD 崩溃)。
关于当前模式:如果您的器件为空、这是预期的。 这个地址上的闪存将包含全部1 (0xFFFFFFFF)、这是一个无效指令、因此器件触发一个异常。 我已将代码刷写到器件中、只要不发出复位、就可以对其进行调试。
我正在使用的文件随附在后面。
下面的讨论中提到了 Flash021 API 支持:
https://forum.43oh.com/topic/7333-openocd-support-for-hercules-launchpads/
同样、遗憾的是、我对器件的内部 JTAG 地址和地址没有太多了解、因此我支持这项工作的能力有限。
希望这对您有所帮助、
拉斐尔