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.

[参考译文] CC2538:在特定地址写入NV

Guru**** 2540720 points
Other Parts Discussed in Thread: Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/580734/cc2538-write-to-nv-at-specific-address

部件号:CC2538
主题中讨论的其他部件:Z-stack

您好,TI:

是否有方法只在NV内存中的特定寄存器地址和特定列上写入? 我曾经尝试使用过API,但不知怎么的,当我尝试重新编程芯片时,内存被写入了不同的地址,即,有时是0x0027e260,有时是0x0027e800。

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

    您可以在Z-Stack 3.0 .0\Documents\API文件夹中提供的OSAL API.pdf中查看第10节。 要有一个新的项目,你需要使用osal_NV_item_init()函数,然后是osal_NV_read()和osal_NV_write(),以便读取和写入NV项目。 NV项目在ZComDef.h中定义,因此您可以查看已预留的项目,并添加从0x0401到0x0FFF的新ID。 顺便说一句,我认为您不需要关注NV数据存储的存储位置。

    我希望这能有所帮助,
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看到,但是如果数据不断变化,如何在SmartProgrammer 2中检查写入NV地址的数据?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Bumblebee,您好!

    NVM部分定义 为0x0027C800到0x0027F7FF,因此您可以通过从地址 0x0027C800读取1.2287万字节来读取edit部分中的NVM。

    此致,

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢Jose。 在1.2287万字节内,我应该如何知道我使用NV API写入了哪个确切地址和列的起始/结束? 如果您可以分享如何精确定位,则对于将来仅使用智能编程器2进行节点故障分析非常有用。