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.

[参考译文] CC3220SF-LAUNCHXL:根据 CC3220S-CC3220SF 使用 OpenOCD 进行调试

Guru**** 2581345 points
Other Parts Discussed in Thread: CC3200, UNIFLASH, CC3220SF, CC3220S

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/651371/cc3220sf-launchxl-debugging-with-openocd-against-cc3220s-cc3220sf

器件型号:CC3220SF-LAUNCHXL
主题中讨论的其他器件:CC3200UNIFLASHCC3220SFCC3220S

是该线程的延续、该线程已锁定。 我别无选择、只能使用 OpenOCD、并且想要针对 CC3220S-CC3220SF 进行调试。

服务器端 OpenOCD 连接到电路板、客户端 gdb 连接到 OpenOCD 服务器。 但我不知道如何继续进行步进调试。

  • 服务器端

-OpenOCD 应为0.0.9,而不是0.10.0

$ 
openocd -f cc3220_xds110.cfg
打开 GNU GPL v2许可的片上调试器0.9.0 (2016-09-30-17:45) 有关错误报告,请阅读 openocd.org/.../bugs.html Info:Only one transport option;autoselect 'swd' adapter speed:2500kHz Info:CMSIS-DAP:SWD 支持 的信息:CMSIS-DAP:JTAG 支持 的信息:CMSIS-DAP:接口初始化(SWD) 信息:CMSIS-DAP:CMSIS-DAP FW 版本= 1.0 信息:SWCLK/TCK = 0 SWDIO/TMS = 0 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 信息:CMSIS-DAP:接口就绪 信息:时钟速度2500kHz 信息:SWD IDCODE 0x2ba01477 信息:cc3220.CPU: 硬件有6个断点,4个观察点 信息:在 TCP/3333上接受'gdb'连接 未定义调试原因7-目标需要复位 请求目标停止并执行软复位 警告:SOFT_RESET_HALT 已被弃用,请改用'set Halt'。 目标状态:由于 断点而停止目标,当前模式:线程 xPSR:0x01000000 PC:0x0000eb0c MSP:0x20004000 WARN:负确认,但无数据包暂挂 WARN:负确认,但无数据包暂挂 WARN:负确认,但无数据包暂挂 WARN: 否定确认,但无数据包暂挂 警告:否定确认,但无数据包暂挂 警告:否定确认,但无数据包暂挂 警告:否定确认,但无数据包暂挂 警告:否定确认,但无数据包暂挂 警告:否定确认,但无数据包暂挂 信息: 请求暂停时目标未运行、从而停止 GDB。 INFO:已断开'gdb'连接

  • 客户端
$ 
arm-no-eabi-gcc/6.3.1-20170620/bin/arm-no-eabi-gdb

GNU gdb (用于 ARM 嵌入式处理器的 GNU 工具6-2017-Q2-update) 7.12.1.20170417-git 版权所有(C) 2017 Free Software Foundation、Inc. 许可证 GPLv3+:GNU GPL 版本3或更高版本<gnu.org/.../gpl.html> 这是免费软件:您可以随意更改并重新分发。 在法律允许的范围内、不提供任何保证。 键入"show copying" 和"show warranty"了解详细信息。 此 GDB 配置为"--host=x86_64-apple-darwin10 --target=arm-none-eabi"。 键入"show configuration"了解配置详情。 有关错误报告说明、请参阅: <www.gnu.org/.../>。 有关 GDB 手册和其他在线文档资源的信息,请访问 :<www.gnu.org/.../>。 如需帮助、请键入"帮助"。 键入"apropos word"以搜索与"word"相关的命令。 (gdb) target extended :3333 使用:3333进行远程调试 警告:没有指定可执行文件,目标不支持 自动确定可执行文件。 尝试使用"file"命令。 0x0000eb0c 输入?? () (gdb)监控 SOFT_RESET_HALT 请求目标停止并执行软复位 SOFT_RESET_HALT 已弃用、请改用"重新设置停止"。 目标状态:由于 断点而暂停目标、当前模式:线程 xPSR:0x01000000 PC:0x0000eb0c MSP:0x20004000 (gdb)文件 embeddedcompation.elf 正在调试程序。 是否确定要更改文件? (y 或 n) y 从 embeddedcompation.elf...done 读取符号。 (gdb)加载 段.intvecs、大小0x3c lma 0x20004000 加载段.text、大小0x6eb8 lma 0x20004040 忽略数据包错误、继续... 正在加载.c_int00段、大小0x34 lma 0x2000aef8 正在加载.rodata 段、大小0xa64 lma 0x2000af2c 忽略数据包错误、继续... 正在加载段.data、大小0x6f4 lma 0x2000b990 正在加载段.arm.exidx、大小0x8 lma 0x2000c084 正在加载段.empty、大小0xf4 lma 0x2000d4b8 起始地址0x2000aef8、加载大小33148 传输速率:1KB/秒、4143字节/写入。 回复包含无效的十六进制数字79 (gdb)中断 embed1.ino:156 回复包含无效的十六进制数字79 (gdb) c 继续。 警告:无效的远程回复:00f0 警告:无效的远程回复: 警告:无效的远程回复:

  • 讨论

http://ti.comhttp://e2e.ti.com 上的文档 很少。

与 CC3200所需设置 sp CP 手动进行相同的配置。

设置$sp = g_pfnVectors [0]
设置$PC = g_pfnVectors [1]

CC3220S-CC3220SF 是否需要类似的配置?

2017 年3月31日星期五上午12:21 上述主题的最后一篇文章阅读"我们可能会在未来发布更多文档、但很遗憾、我不知道 GDB 的内容或日期。"

此类更新的文档是否已发布?

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Rei VILO、

    您在哪里获得了设置$sp = g_pfnVectors [0]的信息? 我在我们的 cc3200.cfg 中看不到它。 我们将进一步了解 CC3220配置。

    您应该检查 CC3220器件是否处于开发模式。 您可能没有将其用于开发、但您是否在 CCS 或 UniFlash 等 TI 工具上测试了硬件?

    此致、
    Sarah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答。

    是的、CC3220SF 在 Uniflash 的开发模式下完全配置。

    CCS 不是一个选项、因此重点关注 OpenOCD。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在 CC3200上手动设置 sp 和 CP 的参考来自 Linux 下的 CC3200开发—Eclipse 调试。  

    但也可以在许多其他地方找到它、包括 2014年9月7日晚上9:24在这一论坛中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我能够通过 OpenOCD 0.10.0连接到 CC3220、但没有收到多个警告-尽管我使用的是1500kHz @ SWD 模式。

    另一个详细信息是、当 OpenOCD 通知与您的日志中消息相同(未定义调试原因7 -目标需要重置)时、我发现'info register"返回的是全零-表示器件未完全停止或位于 La-la-land 中的符号。 要获得完全停止并检查/加载数据、我必须发出"监控器重置"、然后发出"监控器停止"。

    在我的示例中、我没有将代码加载到 RAM 中、而是调试闪存中的开箱即用示例并从 elf 可执行文件中加载符号(在本例中具有相同的实际效果)。

    我随附了我正在使用的.cfg 文件以及两个控制台的输出。  

    希望这对您有所帮助、

    拉斐尔

    e2e.ti.com/.../cc3220_5F00_OpenOCD.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答和共享文件。

    我使用的 CC3220S LaunchPad 是修订版 B、即 按照2017年6月30日星期五下午5:49进行预量产Rev. A  (即生产)是否会带来一些差异?

    随附 的 ti-cc3220-launchxl.cfg 可与 OpenOCD 0.10.0搭配使用

    监视器复位/监视器停止替换已停止的  MONITOR SOFT_RESET_HALT 命令。

    但是,加载仍会抛出忽略数据包错误、继续...消息,并且调试将停止,并显示警告:无效的远程回复

    (gdb)加
    载加载段.intvecs、大小0x3c lma 0x20004000
    加载段.text、大小0x6eb8 lma 0x20004040
    忽略数据包错误、继续...
    正在加载.c_int00段、大小0x34 lma 0x2000aef8
    正在加载.rodata 段、大小0xa64 lma 0x2000af2c
    忽略数据包错误、继续...
    正在加载段.data、大小0x6f4 lma 0x2000b990
    正在加载段.arm.exidx、大小0x8 lma 0x2000c084
    正在加载段.empty、大小0xf4 lma 0x2000d4b8
    起始地址0x2000aef8、加载大小33148
    传输速率:1KB/秒、4143字节/写入。
    回复包含无效的十六进制数字79 

    根据    swru463§2.4.5表7、SOP 配置为210 = 001 =功能模式和2线制 JTAG。

     

    但是、使用 DSLite  7.2.0.2096和7.4.0.1099直接上载到 RAM  需要 SOP 210 = 011或010。

    保持  SOP 210 = 011或010会触发 OpenOCD 错误。

    INFO:
    
    在“OCD_Bouncer”过程中的过程“INIT”中,时钟速度为1500 kHz
    

    对于开发、我希望继续上传至 RAM 并从 RAM 进行调试。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我还使用 Rev B 板、我使用 SOP [2:0]= 001来允许 SWD。  

    [引用 USER="Rei VILO "]但是、使用 DSLite  7.2.0.2096和7.4.0.1099直接上载到 RAM  需要 SOP 210 = 011或010。[/引用]

    我不能完全确定我是否理解你的意思。 DSLite 是 Uniflash 的一个组件、旨在通过其串行端口和实用程序 Image Creator (无线用户可以为您提供有关此特定过程的更详细信息)将映像刷写到器件中。

    有趣的是、您提到了从 RAM 进行上载/调试所需的其他两种 SOP 配置、因为 SWD 和 JTAG 模式允许我从0x20000000开始对 IRAM 进行读写访问、 这一前提假定代码可以完全由它控制-尽管我并不是很熟悉此器件、其他细节可能会让我印象不深刻。  

    [引用 user="Rei ViLO"]

    保持  SOP 210 = 011或010会触发 OpenOCD 错误。

    INFO:
    
    在“OCD_Bouncer”过程中的过程“INIT”中,时钟速度为1500 kHz
    

    对于开发、我希望继续上传至 RAM 并从 RAM 进行调试。

    [/报价]

    我遇到相同的错误、但我的责任在于这种模式不允许 JTAG 或 SWD 对器件进行控制、而是成为一种简单的串行闪存器机制。  

    CCSv7.4发布后发布了 XDS110固件的更新、其中包括调试探针固件已更新以支持 OpenOCD (我怀疑这些只是对该支持的改进)。 这可能会对您看到的无效数据包产生影响。

    不幸的是、由于其他未决问题、我无法保证能够在1月的第一周之前测试这一点、 但是、如果您想尝试一下、请从 此处下载并安装 emupack 、然后按照 XDS110 页面第7节中所示的步骤进行操作。   

    希望这对您有所帮助、

    拉斐尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的建议。 我会尝试一下。

    圣诞节快乐,新年快乐!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢! 你也一样!