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.

[参考译文] CC2640R2F:如何更改 NVS 的扇区大小?

Guru**** 2609285 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1284536/cc2640r2f-how-to-change-sector-size-for-nvs

器件型号:CC2640R2F

您好!

我想将 NVS 的扇区大小更改为2KB。

例如、我更改了应用代码中的扇区大小、但它导致了硬故障异常。

对它还有其他什么办法吗?

#define MY_NVS_REGIONS_BASE     0x18000
#define MY_NVS_SECTORSIZE       0x800
#define MY_NVS_REGIONSIZE       (MY_NVS_SECTORSIZE * 4)

/* Allocate objects for NVS Internal Regions */
NVSCC26XX_Object nvsCC26xxObjects[4];

/* Hardware attributes for NVS Internal Regions */
const NVSCC26XX_HWAttrs nvsCC26xxHWAttrs[4] = {
	{
		.regionBase = (void *)flashBuf,
		.regionSize = MY_NVS_SECTORSIZE,
	},
	{
		.regionBase = (void *)(flashBuf + MY_NVS_SECTORSIZE),
		.regionSize = MY_NVS_SECTORSIZE,
	},
	{
		.regionBase = (void *)(flashBuf + MY_NVS_SECTORSIZE*2),
		.regionSize = MY_NVS_SECTORSIZE,
	},
	{
		.regionBase = (void *)(flashBuf + MY_NVS_SECTORSIZE*3),
		.regionSize = MY_NVS_SECTORSIZE,
	}
};

谢谢。

卡尔文

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

    您好、Calvin、

    您是否从 nvsinternal 示例获得您的作品?  您能否将完整的 CC2640R2_LAUNCHXL.c/文件以及 Board.h 和应用文件(即 nvsinternal.c)一起附加、提供硬故障异常的调试截屏、并确定调用哪个函数来引发该异常、 并解释您之前使用的哪些 NVS 设置不会导致类似问题?

    此致、
    瑞安