我目前有个应用,需要操作2540/2541内部的flash
我搜搜了一下,发现目前论坛上并没有在Flash里存放一段时间的暂存数据的操作方法.Ti的例程里也灭有.
由于PCB空间和成本不太可能放太大的flash在板子上,能否在这方面给与支持和帮助?一定要外置一颗FLASH吗?
您现在要存放多大的数据?您可以使用以下API来进行flash的读写
HalFlashErase
HalFlashWrite
HalFlashRead
更多详细信息建议参考用户指南
1、可以利用函数uint8 osal_snv_read( osalSnvId_t id, osalSnvLen_t len, void *pBuf);及uint8 osal_snv_write( osalSnvId_t id, osalSnvLen_t len, void *pBuf);
来进行数据的读与写,具体细节可以参看osal_snv.c这个源文件
2、另外,要注意,在分配flash时,注意不要与系统已用的ID重复,如下所示:
// Device NV Items - Range 0 - 0x1F
#define BLE_NVID_IRK 0x02 //!< The Device's IRK
#define BLE_NVID_CSRK 0x03 //!< The Device's CSRK
#define BLE_NVID_SIGNCOUNTER 0x04 //!< The Device's Sign Counter
// Bonding NV Items - Range 0x20 - 0x5F - This allows for 10 bondings
#define BLE_NVID_GAP_BOND_START 0x20 //!< Start of the GAP Bond Manager's NV IDs
#define BLE_NVID_GAP_BOND_END 0x5f //!< End of the GAP Bond Manager's NV IDs Range
// GATT Configuration NV Items - Range 0x70 - 0x79 - This must match the number of Bonding entries
#define BLE_NVID_GATT_CFG_START 0x70 //!< Start of the GATT Configuration NV IDs
#define BLE_NVID_GATT_CFG_END 0x79 //!< End of the GATT Configuration NV IDs
具体可参看,bcomdef.h这个源文件
3、祝你好运,希望可以帮到你!