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.
工具/软件:Code Composer Studio
您好!
我正在使用 CC2640R2F 芯片构建定制板。 我正在尝试通过 LAUNCHCL-CC2640R2板对芯片进行编程。 我使用以下连接器:GND、3.3V、RESET、TMS、TCK、TDI 和 TDO。
遗憾的是、出现错误"Unable to access the DAP"(无法访问 DAP)。
当我在 Code Composer Studio 内通过目标配置测试与芯片的通信时、它不会显示错误。
我有点迷路了、希望您能帮我。
谢谢你
Christian
是否需要为首次闪存设置任何标志或寄存器??
Christian、
我与一些人交谈、有几件事要你尝试。
SmartRF
不同的 JTAG 设置
保存更改并尝试连接。
此致、
John
有趣。
您能否尝试以下操作:
此致、
John
嗯、这很好。 您实际上已连接到 DAP、没有错误。
如果您返回 Debug 视图并选择 Cortex M 并进行连接、会发生什么情况?
如果连接正常、那么您可以尝试单击加载程序按钮并从项目中选择.out。
它仍然失败、出现相同的错误。
我的硬件设计中是否存在故障、或者您认为这是软件问题吗?
我不知道问题的位置。
让我们再尝试几件事情。
1:使用 SmartRF 加载程序
运行 SmartRF 并执行批量擦除
然后使用 SmartRF 加载程序映像
它是否起作用?
如果是这样、我们可以尝试在 CCS 中进行连接(使用启动具有.ccxml 的调试会话并手动连接的方法)、而不是加载程序、您可以选择使用加载.out 中的符号、并查看是否无错误。
#2我们可以从调试器生成一些日志、这些日志可能会提供一些更多信息
在 CCS 中、您可以转到"帮助"菜单、选择"CCS 支持"。 在打开的对话框中、您可以启用调试服务器日志。
然后尝试启动调试会话并加载程序。 收到错误后、退出调试会话、然后将日志添加到线程。
此致、
John
只是想让您知道我确实将登录信息传递给了开发团队。 在我听到一些消息后、我会告诉您。
此致、
John
尊敬的 John:
感谢您的更新。 我希望他们能找到一些东西。
Christian
John、
这是为了让您知道、我按照此帖子中描述的所有过程来解决 BOOSTXL-CC2650MA CC2540MA 电路板的问题、并且我会收到相同的错误。 升级到 ccsv9 (版本9.0.1.00004)后出现问题。 相同的设置适用于 ccsv7。
在这个问题得到解决之前,我不能继续发展。
编辑:我使用 SmartRF Flash Programmer 2再次擦除存储器。 这次、ccsv9成功刷写了 BOOSTXL-CC2650MA。 我更正了上面的器件型号排印错误。
Dennis
Christian、
通过查看此主题、我还有一个想法来尝试找出此行为的根本原因。 是否可以从调试配置中禁用"Auto Run to main"选项?
有关详细信息、请参阅以下调试用户指南的"自动运行和启动选项"部分:
http://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_debug-main.html
这将导致程序在_c_int00 (或代码入口点所在的任何位置)加载并停止,而不运行到 main()。 这将有助于查看问题是发生在代码刷写到器件中期间还是刚刚发生,还是发生在入口点和 main()之间。
如果禁用后问题仍然存在、我很可能会将电源线范围限定在您的外部板上。 电流过大(与所用细线成正比)可能会使器件变陷、从而导致器件在闪烁期间变得不稳定。
如果问题没有发生、则问题在于代码本身-入口点之后会发生什么情况、导致 CPU 执行 haywire 操作。 此时、我将对加载的代码执行分步调试、以尝试跟踪可能触发问题的位置。 另一个详细信息是 JTAG 引脚 TDI 和 TDO 是否由您的代码重新配置-如果目标由4线 cJTAG 或 JTAG 配置、这会中断通信。 如果系统发生这种情况、那么如果您以2引脚 cJTAG 模式运行(TMS 和 TCK 的两个引脚不是多路复用的)、您应该有一个完全稳定的系统。
此外、如果您的 CC2650 Launchpad 为修订版1.3、请确保其引脚1-2 (XDS110电源)之间设置了跳线、以确保正确设置电压转换器。 如果您的 LaunchPad 是修订版1.1、则没有跳线。
您使用的是哪些 SDK 和 CCS 版本? 如果转到菜单 Help -> About --> Installation Details,TI Emulators 组件的版本是什么?
希望这对您有所帮助、
拉斐尔
您好、John 和 Rafael、
您对此问题是否有任何更新?
谢谢你
Christian
Christian、
感谢您发送更多详细信息。 我不太熟悉相关函数、因为它属于 CC26xx 器件驱动程序的核心函数、但连接和代码加载似乎很顺利。 我需要来自驱动程序库团队的人来评论此函数执行的更改类型-也许可以在器件本身上执行一些操作。
但是在执行此操作之前、我想介绍一下我今天从开发团队那里学到的一个重要细节、开发团队开发了更新的 XDS110仿真包软件(emupack)。
CCSv9.0.x 版本(8.1.0.00012)随附的 emupack 在以2.5MHz (此版本的最大速度(可能会导致与目标的随机通信错误)运行时、在时钟边沿上有一些抖动。 虽然紧凑型 Launchpad 不会经常出现错误、但设置的较长连接时间(例如、甚至使用隔离适配器)可能会导致此问题。
解决此问题的方法是将 TCK 速度降低至1.25Mhz。 这将减少抖动、并应保证连接可靠。
此问题将在下一个版本的 emupack 中修复、即将公开发布。
由此给您带来的不便、我深表歉意、请告诉我此变通办法是否有助于您使用的连接。
此致、
拉斐尔
您好、Rafael、
TCK 已设置为1.00MHz。 这是我首先要改变的事情之一。 我认为 JTAG 通信是可以的。 在芯片重新启动期间必须有一些事情发生。
Christian
查看 setup.c 和 setup_rom.c/h 文件(C:\ti\simplelink_cc2640r2_sdk_3_10_00_15\source\ti\devices\cc26x0r2\driverlib)可能会有所帮助。 您的设计中是否使用了内部直流/直流转换器、LDO 或外部稳压器?
谢谢、
Chris
尊敬的 Chris:
我使用的是内部直流/直流转换器。 您认为它没有运行吗? 在函数"TrimAfterColdResetWakeupFromShutDown"内、JTAG 电源被关闭。 这可能会导致错误。
Christian
可能一个快速测试是更改 ccfg.c 文件中的设置。
//############################## //电源设置 //########################## #ifndef SET_CCFG_MODE_CONF_VDDR_TRIM_SLEEP_Delta #define SET_CCFG_MODE_CONF_VDDR_TRIM_SLEEP_Delta 0xF //有符号增量值+1用于应用于 VDDR_TRIM_SLEEP 目标(0xF=-1=DEFAULT=NO 补偿) #endif #ifndef SET_CCFG_MODE_CONF_DCDC_RELEGE/#define SET_CCFG_MODE_CONF_DCDC_RELEGY 0x0 //在重新充电期间在掉电 #define SET_CCFG_MODE_CONF_DCDC_REGLEE 中使用 DC/DC 0x1. //在断电期间不要使用 DC/DC #endif #ifndef SET_CCFG_MODE_CONF_DCDC_ACTIVE //#define SET_CCFG_MODE_CONF_DCDC_ACTIVE 0x0 //激活模式期间使用 DC/DC #define SET_CCFG_MODE_CONF_DCDC_ACTIVE 0x1. //在激活模式 期间不要使用 DC/DC #endif #ifndef SET_CCFG_MODE_CONF_VDDS_BOD_LEV/ #define SET_CCFG_MODE_CONF_VDDS_BOD_LEVEL 0x0 // VDDS BOD 电平为2.0V #define SET_CCFG_MODE_CONF_VDDS_BOD_LEVEL 0x1. // VDDS BOD 电平为1.8V (对于外部稳压器模式为1.65V) #endif #ifndef SET_CCFG_MODE_CONF_VDDR_CAP #define SET_CCFG_MODE_CONF_VDDR_CAP 0x3A //无符号8位整数、表示 VDDR 上的最小去耦电容、单位为100nF #endif #ifndef SET_CCFG_MODE_CONF_VDDR_TRIM_SLEEP_TC #define SET_CCFG_MODE_CONF_VDDR_TRIM_SLEEP_TC 0x1. //禁用 VDDR 睡眠调整上的温度补偿(默认) //#define SET_CCFG_MODE_CONF_VDDR_TRIM_SLEEP_TC 0x0 // VDDR 睡眠调整上的温度补偿启用 #endif
此致、
Chris
尊敬的 Chris:
是的、这对我们有所帮助。 现在、它正在运行、没有错误。 终于来了!!!
但我想、这不是最终的解决方案。 为什么直流/直流转换器不运行?
Christian
我不确定。 您能否对直流/直流电路进行一些故障排除?
http://www.ti.com/lit/pdf/swra640
请参阅 第31页的第9和10节
此致、
Chris
我正在检查 PIN33 (DCDC_SW)的电压。 它具有1.60V 电压。 根据数据表、它应该具有1.68V 电压。 我忽略了电压表上电缆的压降导致的差异。 我想电感 值有点太小了。 我要用更大的值替换它。 如果这是问题、我们将看到。
谢谢你
Christian
您好!
您是否成功更换了电感器并确认直流/直流稳压器存在问题?
此致、
Chris
尊敬的 Chris:
我必须订购新的电感器。 希望我今天能获得这些信息。
如果我运气好、我会告诉你。
此致、
Christian
您好!
最后、在增大内部直流/直流输出电感器的值后、我有一个正在运行的系统。 到目前为止、它的工作没有任何问题。
感谢 TI 的 John、Rafael 和 Chris 指导我解决这个问题。
此致
Christian