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.

[参考译文] CC1312PSIP:OAD

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1482904/cc1312psip-oad

器件型号:CC1312PSIP

工具与软件:

您好!

我将以 rfOAD 和 Linux 应用为基础编写 TI15.4 OAD 服务器代码以嵌入到 CC1312PSIP 中。

您能告诉我将映像识别负载添加到 OAD 文件的位置吗? 我已经浏览过 oad_image_tool.py oad_write_bin.py  但我无法看到此标头创建的位置。  

/* Image Identify Payload */
typedef struct __attribute__((packed))
{
    uint8_t   imgID[8];       //!< User-defined Image Identification bytes. */
    uint8_t   bimVer;         //!< BIM version */
    uint8_t   metaVer;        //!< Metadata version */
    uint8_t   imgCpStat;      //!< Image copy status bytes */
    uint8_t   crcStat;        //!< CRC status */
    uint8_t   imgType;        //!< Image Type */
    uint8_t   imgNo;          //!< Image number of 'image type' */
    uint32_t  len;            //!< Image length in bytes
    uint8_t   softVer[4];     //!< Software version of the image */
    uint8_t   isDeltaImg;     //!< Indicates if payload is delta image  */
    uint8_t   toadMetaVer;    //!< Turbo OAD header version  */
    uint8_t   toadVer;        //!< Turbo OAD version  */
    uint8_t   memoryCfg;      //!< Flash configuration used */
    uint32_t  oldImgCrc;      //!< CRC of the current app image  */
    uint32_t  newImgLen;      //!< Length of the new app image  */
} OADStorage_imgIdentifyPld_t;

我考虑这一点的原因是 BIM 和 meta 版本导致我在将 bin 文件上传到服务器时在 oad_storage.c 中出现问题。 如何确保 BIM 和 meta 版本匹配?

    // Ensure the image is built with a compatible BIM and META (ensures the image is meant for the right bootloader too)
    if(idPld->bimVer  != currentImageHeader->fixedHdr.bimVer  ||
        idPld->metaVer != currentImageHeader->fixedHdr.metaVer )
    {
        status = OADStorage_Rejected;
    }

谢谢!

Andy

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

    Andy、您好!

    您能告诉我您为旧映像和新映像使用哪些版本的 SimpleLink CC13xx/CC26xx SDK 和 Linux 网关 SDK 吗?

    OADStorage_imgIdentifyPld_t 在 oad_storage.h 中定义

    谢谢、

    Marie H.

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

    您好!

    我使用  simplelink_cc13xx_cc26xx_sdk_7_41_00_17。

    一分钱下降了。 因此、内部闪存 BIM 使用链接器通过内部闪存中的.image_header 区域保存映像标头。 而外部闪存版本将映像标头存储在外部闪存中、因此不涉及链接器。  

    我认为让我困惑的地方是微妙但重要的一点、BIM_VER 不是 OAD 文件的一部分、因此不包含在 python 脚本中、而是 由 OAD 服务器创建并在运行时发送给客户端。  

    所有 BIM 和 meta 版本在整个示例中似乎都相同、我需要确保将来不使用 BIM 的其他版本。

    谢谢!

    Andy