大家好:
在官方示例用使用 ONEPAGE 来存储数据,我想用其他页(比如 0x1C000)来给用户自定义一些参数。
请问:
如何声明让 15.4 知道我这一块 FLASH 已经被我使用了,系统不会把这块覆写呢?
谢谢
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.
大家好:
在官方示例用使用 ONEPAGE 来存储数据,我想用其他页(比如 0x1C000)来给用户自定义一些参数。
请问:
如何声明让 15.4 知道我这一块 FLASH 已经被我使用了,系统不会把这块覆写呢?
谢谢
#define FLASH_BASE 0x00000000 #ifdef ONE_PAGE_NV #define FLASH_SIZE 0x1E000 #define FLASH_NV_BASE 0x1E000 #define FLASH_NV_SIZE 0x1000 #else #define FLASH_SIZE 0x1D000 #define FLASH_NV_BASE 0x1D000 #define FLASH_NV_SIZE 0x2000 #endif #define FLASH_LAST_BASE 0x1F000 #define FLASH_LAST_SIZE 0x1000 #define RAM_BASE 0x20000000 #define RAM_SIZE 0x5000
如果我把 ONEPAGE 的定义改为
#define FLASH_BASE 0x00000000 #ifdef ONE_PAGE_NV #define FLASH_SIZE 0x1D000 #define FLASH_NV_BASE 0x1D000 #define FLASH_NV_SIZE 0x1000 #else #define FLASH_SIZE 0x1C000 #define FLASH_NV_BASE 0x1C000 #define FLASH_NV_SIZE 0x2000 #endif #define FLASH_LAST_BASE 0x1F000 #define FLASH_LAST_SIZE 0x1000 #define RAM_BASE 0x20000000
这样是否就可以把 1E000 这页拿来自用了?
已经运行起来了,还需要修一个参数,指定NV起始地址
#define SNV_FIRST_PAGE (0x1E >> 0)
改为
#define SNV_FIRST_PAGE (0x1D >> 0)
这个问题的延伸,我对这个自定义的页面想写个配置工具,类似 Flash Programmer 2的,可以对这一页读写的,请问有什么办法没有?
可以参考NVS的具体使用说明:https://dev.ti.com/tirex/content/simplelink_cc13x0_sdk_4_20_01_03/docs/tidrivers/doxygen/html/_n_v_s_8h.html
SDK中也有NVS例程,可以看一下,上位机方面我没有经验,无法提供更多帮助