CH582M的flash/eeprom讀寫問題

在使用ISP583.h時有幾個問題咨詢一下:

問題1:EEPROM_WRITE/EEPROM_ERASE/EEPROM_READ接口的StartAddr使用的應(yīng)該是相對地址,對于582M來說是相對0x70000作為首地址么?

問題2:FLASH_ROM_***接口中只提供了READ/WRITE/VERIFY三種,其參數(shù)StartAddr使用的是絕對地址么?(看起來像絕對地址)

問題3:如果上述FLASH_ROM***接口使用的是絕對地址,那么CH58x_flash.c中提供的FLASH_ROM_READ接口使用的應(yīng)該也是絕對地址。那么使用這個接口能直接讀取0x70000以后的數(shù)據(jù)(也就是EEPROM的數(shù)據(jù))?(試了但讀出來的數(shù)據(jù)對不上)

你好,EEPROM_WRITE/EEPROM_ERASE/EEPROM_READ接口的StartAddr使用的是相對地址,是相對0x70000作為首地址。

FLASH_ROM_接口中,其參數(shù)StartAddr使用的是絕對地址,不能直接讀取0x70000以后的數(shù)據(jù),僅限于操作codefalsh。


CH583 32K EEPROM 0地址開始保存了一些配置信息,比如節(jié)點(diǎn)地址,訂閱地址,key信息等等,那么這些信息最大會占用多大空間,哪些地址可以留給用戶使用會比較安全呢?比如我有溫濕度、ADC值需要保存的話,應(yīng)該放在哪里呢?EEPROM數(shù)據(jù).png


dataflash總共32K。一般都是無數(shù)據(jù)存放可以使用。

注意:

????如使用藍(lán)牙功能,則dataflash最后的512字節(jié)是作為snv存放ID信息使用。

????如使用藍(lán)牙OTA功能,則此處會存放升級標(biāo)志。

image.png



你好 我用的是adv_vendor_self_provision_with_peripheral例程,很明顯32K data flash從0地址開始保存了配置信息,怎么會無數(shù)據(jù)存放呢?難道這里配置信息不是保存在data flash?


如果使用mesh,默認(rèn)會占用前面12K的dataflash空間。


請問CH582M等內(nèi)部的DATAFLASH的讀寫次數(shù)是多少?


你好,可以參考手冊的參數(shù)章節(jié):

image.png


你好,我在這里也看到了一些系統(tǒng)保存的信息,所以不太確定用戶能用的dataflash 空間是多少,能給一個確定的范圍嗎?

image.png


使用藍(lán)牙功能,默認(rèn)是在dataflash最后512字節(jié)存放SNV信息:

1.png

使用MESH功能,會占用dataflash前12K。因?yàn)閙esh也會涉及到配對綁定功能,所以也需要用到snv,也就是dataflash的最后512字節(jié)也會被占用;

使用OTA功能,則肯定是使用藍(lán)牙的,那就是最后512字節(jié)會被占用。同時OTA的升級標(biāo)志也會被存放在dataflash:

2.png


了解,謝謝!


請問下dataflash寫之前需要先擦除嗎?


您好,dataflash也是flash,也有flash須先擦再寫的特性。

若確保目標(biāo)地址距上一次擦除后沒有被寫過,當(dāng)前仍是被擦除的狀態(tài),那么可以直接寫;若無法保證目標(biāo)地址中是否已被寫過數(shù)據(jù),一定要先擦再寫,直接覆寫會概率導(dǎo)致數(shù)據(jù)異常。


我測試過的,不擦除,直接寫入,可以將位1寫為0,但是不能將0寫為1.


寫之前一定要確保是被擦過的就好,否則實(shí)際寫入的數(shù)據(jù)可能與目標(biāo)數(shù)據(jù)不一致。


1


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频