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.

[参考译文] CC2340R2:闪存编程

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1387128/cc2340r2-flash-programming

器件型号:CC2340R2

工具与软件:

1:我想使用 ROM Serial Bootloader 命令对芯片的闪存进行编程。 您能给我一些 参考代码?

2:如何在执行 BLDR_CMD_DOWNLOAD_CRC 时计算此位置的 CRC?  您能给我计算公式和初始值?吗

3:我想知道如何执行 BLDR_CMD_CRC32命令。 您能给我提供一个数据流的示例吗?

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

    您好!

    我建议参考以下代码: https://github.com/TexasInstruments/ble_examples/tree/simplelink_low_power_f3_sdk-7.40/tools/TI_CC2340_Linux_SBL

    我希望这将有所帮助、

    此致、

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

    您能否检查在0x0C-0x0F 上设置了 ccfg.bootcfg.CRC32?

    在 BSP 中表示:

    /*CCFG 文件区域:
    ccfg.bootcfg.CRC32 0x0000-0x000B
    Ccfg.CRC32 0x0010-0x074B
    ccfg.userRecord.crc32 0x0750-0x07FB*/

    uint8_t Crc32Value[4];
    uint16_t CcfgRegionStart[4]={0x0000、0x0010、0x075、0x07D0};
    uint16_t CcfgRegionEnd[4]={0x000B、0x0074、0x0CB、0x07FB};
    uint16_t regionStartAddr;

    *

    *

    *

    fseek (CCFGfPtr、regionEndAddr、seek_set);
    /*将数据添加到区域结束*/
    fwrite (&Crc32Value[0]、1、4、CCFGfPtr);

    但该 区域 EndAddr =0x0B! 为什么将 CRC 设置为0XB-0x0E???