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.

[参考译文] LP-EM-CC2340R53:通过串行引导加载程序对 CC2340R53 进行编程

Guru**** 2419530 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1539273/lp-em-cc2340r53-programming-cc2340r53-via-serial-bootloader

器件型号:LP-EM-CC2340R53


工具/软件:

您好:

我希望能够通过串行引导加载程序 (UART) 对空白 CC2340R53 进行编程。 根据我所发现的、TI Github 存储库 (github.com/.../TI_CC2340_Linux_SBL) 中的 SBL 工具有一些相关工具。 然而、存储库中用于生成要编程的二进制文件的指令似乎有点反直觉。

例如、它会提示用户将二进制文件和 cfg 从已运行目标固件的器件中单独导出。 我希望能够通过单个二进制文件对固件进行编程、类似于旧 SDK 和器件中的工具完成编程的方式(请参阅 github.com/.../cc2538-bsl) 。  

也许我理解不正确、但我的目标是能够通过串行引导加载程序对.hex 文件进行编程。 如果我对流程有误解、不知道有新的工具、或者唯一的方法是单独对 ccfg 进行编程、请告诉我。

谢谢、

Alex Trujillo

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

    您好 Alex、

    CC2340R53 将需要对应用程序和 CCFG 进行编程(请注意,如果所有配置与以前相同,CCFG 可能会保持静态)。  与 CC25xx/CC26xx 器件不同、CC23xx 具有一个独立于主闪存区域的 CCFG 位置(0x02004E00,而不是最后一个闪存页面)。  由于 TI_CC2340_Linux_SBL 工具仅接受二进制 (.bin) 映像、并且二进制映像不能有空洞、因此组合的二进制映像将非常大 (>1.3GB)。  为了解决该问题、我们将应用程序和 CCFG 拆分为两个单独的二进制映像、并同时刷写这两个映像。  可以通过在工程的输出 (.out) 文件中执行两个编译后步骤来创建二进制映像。  下面是 CCS 示例:

    ${CG_TOOL_ROOT}/bin/tiarmobjcopy.exe "${BuildArtifactFilePath}" --only-section .ccfg --output-target binary "${BuildArtifactFileBaseName}_ccfg.bin"
    ${CG_TOOL_ROOT}/bin/tiarmobjcopy.exe "${BuildArtifactFilePath}" --remove-section .ccfg --output-target binary "${BuildArtifactFileBaseName}_app.bin"

    也许可以修改 TI_CC2340_Linux_SBL 解决方案源代码、使其允许.hex 文件输入、从而允许出现空洞、但我还没有深入研究这一点来确定

    此致、
    Ryan