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.

[参考译文] CC3235SF:如何使用同一项目为 CC3235和 CC3220构建?

Guru**** 2538310 points
Other Parts Discussed in Thread: CC3235SF, LAUNCHXL-CC3235SF, CC3235MODASF, CC3220SF, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1006814/cc3235sf-how-to-build-for-both-cc3235-and-cc3220-using-same-project

器件型号:CC3235SF
Thread 中讨论的其他部件: 、CC3235MODASFCC3220SFSysConfig

在过去的几周里、我一直在开发一个 CC3235SF 项目、这一项目进展顺利。  我使用 LaunchXL-CC3235SF 板作为开发目标、我可以将调试映像下载到器件中、并使用"MCU+Image"构建目标将 SLI 映像刷写到器件中。

我们上周最终收到了一些目标硬件、但由于当前器件短缺、我们使用了一些我们手头上的 CC3235MODASF 模块、而不是安装电路板设计的 CC3235MODASF 模块、因为它们是引脚兼容的、但功能有一些损耗(无 COEX、无5GHz)。  我有一个 Launch-CC3220MODASF 开发板、还有一个独立的 XDS110编程器。

我正在尝试为 CC3220SF 构建一个映像、并将其编程到我们的目标板进行测试。  我想我需要在项目中更改 CPU 设置、但当我查看 CPU 设置时...

(笑声) 也就是说、我需要使用 SysConfig 来选择不同的 CPU。  好的、但我已经这样做了(我认为):

当我构建一个 SLI 映像(连接了 CC3220SF LaunchPad)时、它会构建良好。  但是、当我尝试对 SLI 文件进行编程时、过程会出现故障、因为很明显发现了错误的器件类型。  (无论我使用目标板还是 CC3220 LaunchPad、都会发生这种情况。)

Invoking command: C:\TI\simplelink_cc32xx_sdk_5_10_00_02\source\ti\drivers\net\imagecreator\bin\SLImageCreator.exe syscfg program --file C:\TI\workspace\ccs10_[redacted]\[redacted]_app\MCU+Image_CC3220\syscfg\[redacted]_app.sli --json C:\TI\workspace\ccs10_[redacted]\[redacted]_app\MCU+Image_CC3220\syscfg\ti_drivers_net_wifi_config.json

INFO:root:FTDI not detected, trying XDS
INFO:slbootloader.slbootloader:Connecting to device
INFO:slbootloader.slbootloader:Power off
INFO:slbootloader.slbootloader:Set break signal
INFO:slbootloader.slbootloader:Power on
INFO:slbootloader.slbootloader:Clear break signal
INFO:slbootloader.slbootloader:Connection succeeded
INFO:slbootloader.slbootloader:Received storage list
WARNING:root:Wrong device type, ignored
INFO:root:Patching RAM...

Preparing...: 38% (4080/10532)
Preparing...: 77% (8160/10532)
Preparing...: 100% (10532/10532)INFO:root:Patching SFLASH...

Preparing...: 68% (4080/5982)
Preparing...: 100% (5982/5982)INFO:slbootloader.slbootloader:Received error : error number = -10275 , extended error = 4097 
Traceback (most recent call last):
  File "<string>", line 5262, in <module>
  File "<string>", line 5258, in main
  File "<string>", line 5228, in cmdline
  File "<string>", line 4641, in command_sysconfig_program_image
  File "<string>", line 2885, in syscfg_program_image
  File "W:\slbootloader\slbootloader.py", line 793, in fs_programming
slbootloader.slbootloader.BootLoaderError: 
Error: SLImageCreator.exe: fs_programming error: ret: -10275, ex_err: 4097 - FS_PROGRAMMING_ILLEGAL_FILE
SLImageCreator returned -1

Command completed with exit value: -1

因此、我检查了构建输出\syscfg 目录中的 JSON 文件:

{
    "header":{
        "Name"                          :"CC3235SF_sysconfig_image",
        "Is5GSupport"                   :true,
        "IsGen3"                        :true,
        "DeviceType"                    :"CC3235SF",
        "Description"                   :"project for SysConfig",
        "IsTheDeviceSecure"             :true,
        "UseDefaultCertStore"           :false,
        "UseDefaultPlayGroundCatalog"   :true,
        "UseOtp"                        :false,
        "UseSecBtldr"                   :false,
        "UseDefaultSP"                  :true,
        "ProductionNWP"                 :"1",
        "CreateOTA"                     :false,
        "AddClstOta"                    :false,
        "SecuredOTA"                    :false,
        "OTAKeyFileLocation"            :"",
        "StorageCapacityBytes"          :"4194304",
        "SET_DEV_MAC"                   : true,
        "DEV_MAC_ADDR"                  :"00:00:00:00:00:04",
        "Mode"                          :"development",
        "IsModule"                      :"0",
        "EnableReturnToFactory"         :"defaults_and_image",
        "ReturnToFactoryGPIO"           :"0",
        "UseKey"                        :false,
        "KeyFileLocation"               :"",
        "ServicePackFileLocation"       :"",
        "UserFileRoot"                  :"C:/TI/workspace/ccs10_[redacted]/[redacted]_app/userFiles"
    },
    "systemFiles":{
        "FILES":{
[...]

显然、网络配置仍然认为 CPU 是 CC3235SF、主项目也是如此(请参阅上面的第一张图像)。

所以、我的问题... 在 CC3235SF 工程中创建附加编译目标的正确方法是什么、以便为另一个 CC32xx 变体、例如 CC3220SF 进行编译?  还是 CCS10根本不支持这一点?  我是否必须创建一个完整的单独项目才能为 CC3220SF 进行构建?  谢谢。

戴维·R.

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

    尊敬的 David:

    CC3220SF 和 CC3235SF 器件的应用二进制文件可以相同、但每个器件型号的 ImageCreator 工程必须不同。 CCS 内的 SysConfig 无法交换这种情况。

    如果要维护相同的 CCS 工程、最好使用独立的 SysConfig 工具来构建和刷写器件映像。 您可以 为每个器件变体提供单独的 SysConfig ImageCreator 工程、并在 MCU 映像部分链接到相同的应用程序二进制位置(CCS 工作区)。 如果使用此选项、则需要在 CCS 工程中禁用 SysConfig ImageCreator、可以通过从 MCU+Image 配置切换到调试配置来执行此操作。 这些配置的唯一区别是 image.syscfg 的编译后处理步骤。

    此致、

    Sarah

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

    您好、Sarah、

    我 真的不想在 CCS 中关闭 SysConfig;老实说、这是您向 CCS10添加的最好的 Dang 功能之一。  每次我要创建和刷写 SLI 时、在 CCS10中配置库和文件系统选项都要比使用 ImageCreator 轻松得多。

    也就是说... 假设我已经构建好了我的 CC3235项目并使其正常工作。  如何 *将 CC3235项目转换*为 CC3220项目?  更准确地说、如何修改项目以便为 CC3220而不是 CC3235正确编译"MCU+Image"目标?  我可以冻结 CC3235项目的分支、进行修改以将其转换为 CC3220编译、然后在我们获得生产硬件时转换回 CC3235编译。  (我希望您不要告诉我、我必须制作一个全新的项目、然后再复制一组内容。)

    (此外、您说的 CC3235SF 的.bin 固件映像应该与 CC3220SF 兼容?)

    戴维·R.

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

    尊敬的 David:

    您 可以将工程中的 CC3235SF image.syscfg 替换为 SDK 中的 CC3220SF image.syscfg 文件。 但这并未经过测试、因此您可能会遇到冲突。

    是的、应用 MCU 的二进制固件 应该兼容。 唯一的区别是存在任何硬件引脚冲突或对 CC3x3x 特定 Wi-Fi API 的调用。 不过、主机驱动程序、库和 SDK 示例是相同的。

    您应该能够切换驱动程序 SysConfig 文件(名为 common.syscfg 或) .syscfg)、用于器件变体以捕获任何引脚冲突。 打开 common.syscfg、 从右上角菜单中打开 Device View、然后找到 Switch 按钮。  请注意、这是一个测试版功能、您仍需要手动替换 image.syscfg 文件。

    此致、

    Sarah