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.

[参考译文] LAUNCHCC3235MOD:创建用于闪存和构建 CC3235SF 工程的终端设置

Guru**** 2387060 points
Other Parts Discussed in Thread: UNIFLASH, CC3235SF
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1009767/launchcc3235mod-creating-a-terminal-setup-for-flashing-and-building-cc3235sf-projects

器件型号:LAUNCHCC3235MOD
主题中讨论的其他器件:UNIFLASHCC3235SF

您好!

您好!

我非常不熟悉 TI 控制器的使用、我想澄清一下有关闪存工具链集成的问题。 我正在使用适用于 FreeRTOS 内核的 cc3235sf launchpad 和 gcc 编译器工具链。 我已经为 MacOSX 安装了 CCS、GCC 工具链和 UniFlash 工具。  

我想 将编译工具链和闪存工具链与我现有的 git 存储库项目集成、以便通过命令行进行编译和闪存。

根据快速入门指南、我已经为 FreeRTOS 内核和 Simplelink SDK 获取了"empty"项目、并在我的存储库中手动复制了该项目。 然后、我修改了 makefile 和 imports.mak 以丢弃 main_freertos.c 并指向 git 项目的 main.c。 通过运行 make 命令编译工程后、会生成.bin 文件和.out 文件。 我尝试使用 Uniflash GUI 工具刷写.bin 文件、它反映了更改。 但是、我希望使其成为完整的命令行界面过程、而不使用 GUI 进行刷写。

因此、我从 uniflash 安装目录复制了 dslite.sh 脚本、desktopdb 和 simplelink 文件夹、并将其粘贴到项目存储库中。 然后、我使用 uniflash GUI 工具、使用命令"./dslite.sh --mode cc32xx project program --name"通过 CLI 尝试刷写已创建的项目 ".It 刷新成功。 但是,我面临以下一些问题:

  1. 根据我的理解、只 能使用 uniflash GUI 创建工程。 我没有找到使用命令行创建它的命令。 是否有方法  可以使用命令行界面刷写.bin 而不在 uniflash 中创建工程? 此外、如果不是、我能否使用 CLI 创建新的 uniflash 项目?

     每次我更改代码并生成.bin 文件时、Uniflash 项目中都不会自动更新该文件。因此、我使用了以下命令:

       >./dslite.sh --mode cc32xx project add_file --name  --file empty.bin --mcu --overwrite (empty.bin 与./dslite.sh 脚本位于同一文件夹中)。 我还尝试添加.bin 文件              完整路径。

        但是、它会给我"  IOError:[errno 2] No such file or directory:"错误。

        我应该如何进行相同的操作?

如果你能就这些问题提出一些措施,我将会大有帮助。 此外 、欢迎您提出有关将闪存工具链与我的存储库集成到命令行界面的任何其他建议。

谢谢你。

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

    您好!

    您应该能够对从创建新项目到刷写最终项目的所有编程步骤使用 Uniflash Imagecreator CLI、而无需使用 GUI。

    完整的命令列表可在 Uniflash Imagecreator 用户指南的第7节中找到、网址为 :www.ti.com/lit/swru469

    要详细回答您的问题、请执行以下操作:

    参考上面链接的指南、您可以使用'new'命令创建新项目。 然后、您可以从此处运行适当的命令来设置服务 ack、添加您的 MCU 文件、然后按正常方式进行编程。

    2.是的、每次重建项目时、您都需要使用'add_file'交互向 Imagecreator 提供新生成的.bin。 您是否随后提供私钥和证书来在命令中对 MCU 映像进行签名? 您在上面提供的示例代码中的情况与此不同。

    此致、

    Michael

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

    您好、Michael、

    感谢你的答复。

    我尝试使用 CLI 创建新项目并对.bin 文件进行编程。 我执行了以下步骤:

    1. 使用命令创建了一个新项目  

      dslite.sh --mode cc32xx project new --name cli_flash --device CC3235SF

    2. 按如下方式为此项目添加了文件和证书:./dslite.sh --mode cc32xx project add_file --name cli_flash --file / /empty.bin --mcu --overwrite --priv /simplelink_cc32xx_sdk_5_10_00_02/tools/cc32xx_tools/certificate-spador/dummy-root-ca-cert-key --cert /simplelink_cc32xx_sdk_5_10_00_02/tools/cc32xx_tools/certificate-spadore/dummy-root-ca-cert
    3. 已将 service pack .bin 添加到项目: ./dslite.sh --mode cc32xx project set_sp --name cli_flash --file /simplelink_cc32xx_sdk_5_10_00_02/tools/cc32xx_tools/servicepack-cc3x35/sp_4.10.0.1_3.7.0.1_3.1.0.26.bin
    4. 然后运行项目程序命令: ./dslite.sh --mode cc32xx project program --name cli_flash

    但是、在执行上述步骤后、图像编程在完成98%时会产生以下错误。

    已接收的存储列表

    映像编程:98%(118784/120768) INFO:slbootloader.slbootloader: received error:error number =-10341,extended error = 2694

    回溯(最近一次调用最后一次):

     文件"SLImageCreator.py"、第5191行、位于

     文件"SLImageCreator.py"、第5187行、位于 main 中

     文件"SLImageCreator.py"、第5159行、位于命令行中

     COMMAND_PROJECT_PROGRAM 中的文件"SLImageCreator.py"、第4015行

     文件"SLImageCreator.py"、第2743行、位于 program_image_from _project 中

     program_image 中的文件"SLImageCreator.py"、第2884行

     文件"slbootloader/slbootloader.py"、第793行、在 FS_programming 中

    slbootloader.slbootloader.BootLoaderError:

    错误:SLImageCreator.exe:FS_programming 错误:RET:-10341、EX_ERR:2694 - FS_ERR_FILE_NOT 存在

    [4021]无法执行脚本 SLImageCreator

    我尝试在上述中提供不同的证书引用、但 显示相同的错误。  

    如果您能让我知道上述配置中缺少的内容、那将会大有帮助。  

    谢谢你。

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

    您好!

    返回您看到的错误 FS_ERR_FILE_NOT EXISTS、因为文件系统上不存在用于验证 MCU 二进制文件 dummy-root-ca-cert 的证书。

    除了添加 MCU 二进制文件和 servicepack 外、您还需要添加虚拟根目录-ca-cert 的文件 您可以将其添加为不安全文件。 请将该文件添加到文件系统、然后尝试再次刷写。

    此致、

    Michael

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

    您好、Michael、

    • 我在项目中添加了"dummy-root-ca-cert"。 我使用以下命令添加证书

     dslite.sh --mode cc32xx project add_file --name cli_flash --file / /empty.bin --mcu --overwrite --priv /simplelink_cc32xx_sdk_5_10_00_02/tools/cc32xx_tools/certificate-spador/dummy-root-ca-cert-key

    --cert  /simplelink_cc32xx_sdk_5_10_00_02/tools/cc32xx_tools/certificate-spadore/dummy-root-ca-cert

    但是、在 GUI 中打开项目后、我看不到添加的证书。

    我还使用以下命令添加了证书目录

    dslite.sh --mode cc32xx project set_certstore --name obj_os --project_path / /projects --file / /tools/cc32xx_tools/certificate-playground/certcatalogPlayGround20160911.lst -签署/ /tools/cc32xx_tools/certificate-playground/certcatalogPlayGround20160911.lst.signed_3235.bin

    我用--flags "nosignaturet"尝试了它,但它给了我错误。

    • 此外、 根据 UniFlash 用户指南、用户可以遵循以下序列进行刷写

     不带 SHA1的 host_file 由用户设置:

    ImageCreator 计算 SHA1和 host_final。

    2. host_final 文件的文件签名由 ImageCreator 使用 DER 格式的私钥作为输入来计算。

    --这是刷写.bin 文件的顺序吗?

    --还如何获取.der 格式的私钥?

     如果您能澄清上述疑虑、那将非常有帮助。

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

    您好!

    您使用的命令仅添加 MCU 文件-您还需要执行 add_file 以将实际的"dummy-root-ca-cert"文件添加到文件系统中。

    请参阅此旧版本的 CC32xx 入门指南第2.4节、以直观地展示所需内容。

    /cfs-file/__key/communityserver-discussions-components-files/968/swru461a.pdf

    这些指令适用于 Uniflash 的 GUI 版本、但对于 GUI 中的每个步骤、您都可以调用一个 CLI 命令来实现等效功能。 您将需要遵循该指南并确保添加所有所需的文件。

    对于私钥、看起来您使用的是 SDK 提供的虚拟证书文件。 在这种情况下,dummy-root-ca-cert-key 是正确的,不需要更改。

    此致、

    Michael

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

    您好、Michael、

    感谢您参考上述文档。  

    逐步指南实际上帮助理解了闪存项目创建过程。  

    我 通过 CLI 刷写的过程现在开始了!