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.

[参考译文] RTOS/CC2650:使用 driverlib 中的 HapiProgramFlash()与 FlashProgram()函数

Guru**** 2587345 points
Other Parts Discussed in Thread: TIMAC

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/675230/rtos-cc2650-using-hapiprogramflash-vs-flashprogram-function-from-driverlib

器件型号:CC2650
主题中讨论的其他器件:TIMAC

工具/软件:TI-RTOS

我正在使用 TIMAC 样片应用程序随附的 TI-RTOS 2.11。  我应该使用哪个函数来写入闪存存储器(我正在编写 OTA 固件更新程序)、 HapiProgramFlash()或 FlashProgram()?  为什么?

谢谢!

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

    您是否查看了已包含 OAD 示例的最新 Simple Link 版本。
    dev.ti.com/.../
    这可能会为您节省大量开发自己的 OTA 固件更新程序的时间。 它使用 FlashProgram()。

    此致、
    Prashanth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试使用 FlashProgram()将128字节数据块编程到闪存中。 该函数偶尔会返回 FAPI_STATUS_FSM_ERROR。 我不确定原因。 当我使用64字节块时、不会发生这种情况。 此外,HapiProgramFlash()似乎是 MemBusWrkAroundHapiProgramFlash()的重命名宏。 解决方法是否有原因? 我找不到任何解释它的文档。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为问题的根本原因是代码偶尔生成重复数据包、并编程到相同的闪存位置。 一旦解决了该问题,我就能够使用 FlashProgram()函数,而不会出现任何问题。 但这仍然存在一个问题:为什么 HapiProgramFlash()函数存在...