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:尝试使用 uniflash 对 Amazon SDK 进行编程

Guru**** 2587365 points
Other Parts Discussed in Thread: UNIFLASH, CC3220SF

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/678495/cc3220sf-launchxl-trying-to-program-amazon-sdk-with-uniflash

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

我只是尝试使用 uniflash 对 cc3220SF 进行编程。 我不明白为什么它如此复杂、而且在任何地方似乎都没有关于它的文件。

我已经尝试使用他们至少加载但没有错误的虚拟示例。 但是、我无法使用它连接到 AWS 云。  

如果有人告诉我如何用我的虚拟文件替换这些文件会有所帮助。 当我查看文件时、它们是.der 或.pem。 它们似乎是其他的东西,所以简单地把这些文件放在我的证书上是不可行的。  

我还尝试将文件放置在与 uniflash 虚拟示例的工作方式类似的位置。 然后无法识别 root_ca 密钥、因此我甚至无法按这种方式加载代码。  

因此、如果有人可以帮助我解决无法识别 root_ca 密钥的原因。  

我还知道我的代码可以正常工作。 当我使用 CCS 加载它时、代码工作并执行我需要的操作。 然而、它只是加载到 RAM 中、用于测试是有史以来最烦人的事情。 我花了一个多星期来看看这个。 如果任何人都能帮助我、而不是不断地向我指出那些不是很有帮助的文档、那么我们就可以解决这一问题、这将会大有帮助。  

我看过这个论坛,但没有得到完整的答案,似乎在 Uniflash 工作方面存在一些巨大的差距....https://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/t/593513#pi320098=4/

我也已经发布了此帖子、但对我没有帮助... https://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/p/677479/2497576#2497576 ...

我只需要有关如何执行 Uniflash 的指令或过程。  

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

    您好!

    您链接的帖子显示了如何对 Uni 闪存进行编程、(请参阅下面的内容)您尝试此操作时遇到了什么错误?

    "要使用 uniflash 加载证书、只需在"用户文件"部分添加这些文件。  

    您可以直接添加从 AWS 获取的文件、而不是根据需要重命名这些文件。

    然后在您的 AWS IoT 配置中配置这些文件名、同样也是从 AWS 直接获取的。

    例如:-

    //================================================================================================

    #define AWS_IOT_MQTT_HOST        "A ******* 4.iot.us-west-2.amazonaws.com"

    #define AWS_IOT_MQTT_PORT        8883

    #define AWS_IOT_MQTT_CLIENT_ID     "c-sdk-client-id"

    #define AWS IOT 我的东西名称      "**Test"(测试)

    #define AWS IOT 根 CA 文件名   "root-cA.crt"

    #define AWS IOT certificate_filename "4**** 5- certificate.pem.crt"

    #define AWS_IOT_PRIVE_KEY_FILENAME "4**** 5-private.pem.key (5-private.pem.key)"

    //================================================================================================ "

    此致。

    查尔斯·奥

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

    我遇到未知的根 CA 错误。 我应该使用默认 cert.lst 还是用于虚拟设置的 cert.lst? 我尝试了两种方法。 我也不知道哪种方式是正确的。 我尝试查看 cert.lst 文件、但它们不能只通过在编辑器中打开来读取。

    另外、我绑定到 mcuimg 的键是什么? 在虚拟示例中、它们有一个指向的第4个密钥

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

    我已经回读过该论坛、但看不到有人说过他们需要使用 uniflash 将其写入闪存。 我看到他们在哪里有使用 uniflash 向闪存写入的根、证书、私钥、然后他们使用 CCS 加载了 mcuimg。 不过、我看不到如何使用 Uniflash。

    如果我使用我从亚马逊获得的认证、并使用默认 cert.lst 对其进行刷写、则由于 root_ca 问题、这些认证将不会闪烁。  

    因此、我的 root_ca 显然可以工作、因为我已经使用它并连接了、但在 cert.lst 中看不到它(实际上、我不知道它是如何工作的、因此无法提供更多详细信息)。 我能否更改 cert.lst 或以某种方式绕过该 root_ca 检查

    我尝试使用虚拟示例、但当我这么做时、我使用他们的 cert.lst、至少允许我进行闪存、但当连接到 AWS 云时、认证失败

    这样做、我将如何获得我的认证、因为它具有虚拟设置、并且我使用他们的 cert.lst (我想这告诉我不要查看我的认证?)

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

    您好、Jonathan、

    当您为 CC3220开发程序时、预计您将使用游乐场根 CA 目录以及虚拟证书链来刷写您的器件。 但是、此游乐场目录仅将 dummy-root-ca-cert 文件作为受信任文件。 这意味着、在签署 MCUflashimg.bin 文件时、您需要提供其中一个虚拟私钥、以及与该密钥关联的证书。 您的 Uniflash 窗口应如下所示:

    入门指南的第2.4节介绍了如何使用 Uniflash:

    http://www.ti.com/lit/ug/swru461a/swru461a.pdf

    需要记住的是、如果您使用虚拟根 CA 目录、设备将不会信任 Amazon 证书。 这意味着、当您尝试使用它安全地连接到 AWS 时、您将收到一条警告、表示证书未知。 这是正常情况。 要解决此问题,您需要修改 network_sl.c 中的 IoT_TLS_CONNECT ()函数,以简单地忽略未知根 CA 警告,如下所示:

    iRetval = sl_Connect (skt、(struct sockaddr *)& address、
    sizeof (address));
    如果(iRetval < 0 && iRetval!=-468){
    RET = NETWORK_ERR_NET_CONNECT_FAILED;
    转到 quit;
    } 

    在生产中、您需要从证书颁发机构获取自己的证书、并使用该证书对 MCU 映像进行签名。 这样、您就可以使用默认证书目录而不是运动场目录、这意味着您不会在 AWS 认证上遇到未知根 CA 警告 不过、现在请使用虚拟根 CA 证书在 uniflash 中对 MCU 映像进行签名、并对 network_sl.c 文件进行编辑。

    此致、
    Michael