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.

[参考译文] LAUNCHCC3220MODASF:SDK 中缺少 OTA.A 库

Guru**** 2482105 points
Other Parts Discussed in Thread: CC3220SF

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1332054/launchcc3220modasf-absence-of-ota-a-library-in-sdk

器件型号:LAUNCHCC3220MODASF
主题中讨论的其他器件:CC3220SF

您好!

使用 CC3220MODASF 时、我在编译 cloud_ota 应用程序时遇到错误、因为该应用程序在 ti/net/otA/CCS/Release/ota.a 路径中找不到"ota.a"库。 SDK 检查发现缺少 OTA.A 文件。 您能否共享编译后的 ota.a?

谢谢

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

    您需要使用 otauser.h 配置对其进行编译。  

    最简单的方法是导入到 CCS。

    如果您通过 OTA_IF 使用该应用程序-则应确保设置以下各项:

    #define OTA_SERVER_TYPE OTA_FILE_DOWNLOAD

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

    您好!
    我认为"#define OTA_SERVER_TYPE OTA_FILE_DOWNLOAD"已用于指定云服务。 提供三个选项:GitHub、Dropbox 和 OTA 文件下载。 我已在 otauser.h 上启用此设置、但问题仍然存在。

    ****项目 cloud_ota_CC3220SF_LAUNCHXL_tirtos_ccs 的配置调试构建****

     

    "C:\\ti\\ccs1240\\ccs\\utils\\bin\\gmake"-k -j 12所有-O  

    构建目标:"cloud_ota_CC3220SF_LAUNCHXL_tirtos_ccs.out"
    调用:ARM 链接器
    "c:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl /ti/simplelink_cc32xx_sdk_4_10_00_07/source/ti/net/ota /ti/simplelink_cc32xx_sdk_4_10_00_07/source /ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/lib /syscfg/ti_drivers_config.obj -mv7M4 --code_state=16 --float_support=vfplib -me -- define=CC32XX -g --out_warning=225 /ti/simplelink_cc32xx_sdk_4_10_00_07/source/ti/utils/json/lib --xml_warning=255 /ti/simplelink_cc32xx_sdk_4_10_00_07/source/ti/drivers/net/wifi --obj_wap=off /ti/simplelink_cc32xx_sdk_4_10_00_07/kernel/tirtos/packages --display_error_number --gen_func_subsections=on /syscfg/ti_net_config.obj /syscfg/ti_drivers_net_wifi_config.obj /Users/noush/test/tirtos_builds_CC3220SF_LAUNCHXL_release_ccs/Debug/configPkg/linker.cmd   

    错误#10008-D:找不到文件"CCS/Release/ota.a"

    第一个引用的未定义
           文件中的符号      
    ---------------- ----------------
    ota_get  ./cloud_ota.obj  
    ota_init ./cloud_ota.obj  
    ota_run  ./cloud_ota.obj  
    ota_set  ./cloud_ota.obj  

    错误#10234-D:未解析的符号仍存在
    错误#10010:链接期间遇到错误;未生成"cloud_ota_CC3220SF_LAUNCHXL_tirtos_ccs.out"

    >>编译失败
    Makefile:154:目标"cloud_ota_CC3220SF_LAUNCHXL_tirtos_ccs.out"的配方失败
    gmake[1]:***[cloud_ota_CC3220SF_LAUNCHXL_tirtos_ccs.out]错误1
    Makefile:147:目标"全部"的食谱失败
    gmake:***[全部]错误2

     

    ****构建完成****

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

    您首先需要编译 ota.a。 然后在编译应用程序时-确保链接器使用正确的路径(在您的示例中未找到 OTA.a)。

     OTA_FILE_DOWNLOAD 意味着库会跳过与云服务器进行的 CDN 客户端协商、并直接使用给定的 URL 从 A 文件服务器下载 OTA 内容。 从 SDK6.10开始到引入 OTA_IF、CDN 协商由应用程序代码完成(请参阅我们的 OTA_Vender_GitHub.c 和 OTA_Vender_dropbox.c 参考)、该库仅负责加载和解析(主要在 oOtaArchive.c 中)更新内容。

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

    您好!
    创建 ota.a 库可解决问题。 现在我可以编译云 OTA 示例代码。 通过 OTA_FILE_DOWNLOAD、由于我们正在使用 Azure IoT Hub 进行云存储、我能否避免 CDN 客户端协商? 是否可以使用类似于 Dropbox 的 Azure IoT Blob 存储? 目前、我们已完成 ESP HTTPS OTA;其 URL 如下。
    https://onesensedeviceupdate.blob.core.windows.net/deviceupdate-5/PCB_V0_5_v1_2_17_1.bin?sv=2020年04月08日(&S)=2024-01-16T06%3A04%3A15Z&SR=b&sp=r&Dp=m1hjqDp0pUB2zAwLV3z2fkfFdGQD8Dr4wwyiVDbRvgm%3d sig

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

    请检查 OTA_IF 接口和 MQTTClient 示例的自述文件。

    如果您已经有映像下载的文件服务器 URL、则可以使用:  OTA_IF_downloadImageByFileURL (而不是  OTA_IF_downloadImageByCloudVendor )。  

    FileServerParams_t params;
    memcpy(params.URL, "">onesensedeviceupdate...")
    // update certificates info according to TLS requirements
    
    OTA_IF_downloadImageByFileURL(&params, 0);

    如果您想用一个探测从 Azure 下载 URL 的代码替换 Dropbox/Github 代码-您可以实施自己的" OTA_供应商_azure "并提供名为 OTA_Azure_getDownloadLink () ,那么您将能够使用以下功能:

     OTA_IF_downloadImageByCloudVendor(OTA_Azure_getDownloadLink, NULL, 0);

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

    您好!
    我们当前正在使用 simplelink_cc32xx_sdk_4_10_00_07。 我认为它没有 OTA_IF 选项。 在我的 SDK 中、otauser.h 有三个 OTA 选项:

    # define OTA_SERVER_TYPE OTA_SERVER_GITHUB
    # define OTA_SERVER_TYPE OTA_SERVER_DROBS_V2
    #define OTA_SERVER_TYPE OTA_FILE_DOWNLOAD

    我是否可以使用#define OTA_SERVER_TYPE OTA_FILE_DOWNLOAD 从 Azure IoT Blob 存储下载 OTA 文件?
    需要对 otauser.h 文件进行哪些更改?
    我需要 Azure 根证书吗? Cert_High_Assurance_CA.der?

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

    您好!
    今天有更新吗?

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

    是的、您应该使用  OTA_FILE_DOWNLOAD。

    在 otauser.h (位于 #Elif OTA_SERVER_TYPE = OTA_FILE_DOWNLOAD) -定义服务器根 CA 认证。

    在应用程序中、使用 OTA_SET (EXTLIB_OTA_SET_OPT_FILE_SERVER_URL、strlen (URL)、URL、NULL) -在 开始 OTA 处理之前设置所需的 URL (而不是 EXTLIB_OTA_SET_OPT_SERVER_INFO )。