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.

[参考译文] CCS/CC2640R2F:闪存写入的 OSAL_SNV_WRITE 错误

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/940491/ccs-cc2640r2f-osal_snv_write-error-for-flash-memory-writing

器件型号:CC2640R2F

工具/软件:Code Composer Studio

您好!

我想将数据转储/擦除到 CC2640R2的闪存中。

因此我创建了一个缓冲区。 这使用 SRAM 存储器。

为了按照这里的信息将 SRAM 中的数据写入闪存 IM:

software-dl.ti.com/.../flash_memory-cc2640.html

因此、我在信标事件结束时使用以下函数:

状态= osal_SNV_write (SNV_ID_APP、BUF_LEN、(Int16_t *) buffer);

但是、这会产生以下链接错误:

 

 未定义   的首次引用   

 符号       文件中      

 ------    --------   

 OSAL_SNV_WRITE ./bmi160_support.obj

 

错误#10234-D:未解析的符号仍然存在

错误#10010:链接期间遇到错误;未构建"i2cbmi160_CC2640R2_LAUNCHXL_tirtos_ccs.out"

我想知道是否有必须导入或链接的文件才能定义 osal_SNV_write 函数、但给定 URL 中未提及这一点。

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

    您好!

    您可能会怀疑这些错误是由缺少库或特定源文件引起的。

    https://e2e.ti.com/support/tools/ccs/f/81/t/796036

    专门针对 osal_SNV_write、这通常是 OS 抽象层(OSAL)的一部分、并集成了典型项目的配套堆栈库。

    然后、我将检查上述项目和/或文件是否属于您的项目。 请记住、仅仅包含头文件(.h)是不够的;实际源代码(或库中的目标代码)必须是项目的一部分。

    希望这对您有所帮助、

    拉斐尔

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

    您好、Rafael、

    非常感谢您的回答、尤其是您提供的链接。 我发现它非常有用。

    由于存在多个依赖项文件、我很难将 OSAL 库添加到 BMI160示例中。 这两种情况下、逐个添加 osal_SNV_write 所需的文件并直接添加(或链接) OSAL 和 HAL 文件夹看起来不是正确包含库的合理选项。

    是否有一种简单的方法将 OSAL 库添加到 BMI160示例工程中?(尽可能不要将其包含在 simple_peripheral 中)

    更新:

    从这篇文章中、我发现在不将整个 iCall 库包含到项目中的情况下、不可能包含 OSAL 库:

    e2e.ti.com/.../489525

    如果有人可以确认这一点、那就好了。

    谢谢。