ch582m BLEmesh 組網(wǎng)信息保存問題

最近使用ch582m 藍(lán)牙組網(wǎng)功能時發(fā)現(xiàn)一個問題,協(xié)議棧里flash儲存是開啟的,節(jié)點配網(wǎng)完成后沒有進(jìn)行過清除網(wǎng)絡(luò)的操作,但是掉電后又上電卻又是未配網(wǎng)的狀態(tài);將dataflash清空后,燒錄相同固件后再次進(jìn)行配網(wǎng),又正常了,想問一下這是為什么。因為是在做調(diào)試所以這些設(shè)備并不是第一次配網(wǎng),前面有過配網(wǎng)和清除網(wǎng)絡(luò)的操作,但是就有一兩臺會出現(xiàn)上面描述的問題;

????bt_mesh_is_provisioned()這個接口判斷是否配網(wǎng)的依據(jù)是什么,我查看dataflash里面是有配置信息的,但是就是判斷為未配網(wǎng)。

????此外,我還有個疑問,之前我發(fā)現(xiàn)每次清除網(wǎng)絡(luò)都不會把dataflash里面存儲的信息全部清除,再次配網(wǎng)又會占用更多的空間;我想問一下ble mesh所占用flash有地址范圍嗎,如果一直重復(fù)清除網(wǎng)絡(luò)和配網(wǎng)的操作,是否會影響我自己寫入flash的數(shù)據(jù)。

您好,使用的是哪些代碼測試的,代碼里有沒有手動擦除dataflash。mesh協(xié)議棧默認(rèn)占用前12K的dataflash;如果用到BLE的配對綁定功能,默認(rèn)會占用dataflash尾部的256字節(jié);如果用到OTA,會占用一個標(biāo)志變量的大小,下方博客中有介紹。

在判斷是否已配網(wǎng),會先運(yùn)行settings_load()嘗試恢復(fù)網(wǎng)絡(luò)信息,再運(yùn)行到bt_mesh_is_provisioned()會判斷是否有網(wǎng)絡(luò)地址和各個密鑰。

每次清除網(wǎng)絡(luò)都不會把dataflash里面存儲的信息全部清除”是針對配網(wǎng)者(中心節(jié)點)中心節(jié)點的嗎。配網(wǎng)者保存的數(shù)據(jù)較多,dataflash擦除的最小單位是256字節(jié),故不會刪除節(jié)點后立即擦除所在扇區(qū)。dataflash的存儲邏輯是發(fā)現(xiàn)存滿一塊后,整理搬運(yùn)到另一塊,可以配置塊數(shù)限制,不會一直寫滿所有dataflash,詳見?藍(lán)牙m(xù)esh組網(wǎng)實踐(dataflash的占用與管理) - JayWell - 博客園 (cnblogs.com)


好的? 謝謝解答;想再問一下settings_load()這個函數(shù)恢復(fù)網(wǎng)絡(luò)信息,恢復(fù)成功和恢復(fù)失敗返回值是否一樣呢。


有返回值如下圖。若是dataflash中網(wǎng)絡(luò)信息被篡改,有幾率卡在這個函數(shù)里出不來,需要檢查代碼中是否有dataflash誤操作,然后重新燒錄時清空dataflash。如果重新燒錄代碼且無需保留原有的節(jié)點網(wǎng)絡(luò)信息,需要清除dataflash中的原有數(shù)據(jù),否則可能會對重新配網(wǎng)產(chǎn)生影響。image.png


我使用的是vendor普通節(jié)點的例程改的,又出現(xiàn)反復(fù)掉電上電后恢復(fù)不了配網(wǎng)信息的問題。我讀取flash又是有信息的,settings_load()返回值為零,bt_mesh_is_provisioned()判斷為未配網(wǎng),如下圖:

我懷疑是我誤操作了dataflash,我想問一下flash的擦除不是只能一整頁的擦除嗎,但是提供的接口EEPROM_ERASE()又可以單個字節(jié)進(jìn)行擦除,這是為啥

image.pngimage.png


您好,只是提供操作datafalsh的接口函數(shù)名叫EEPROM,實際上它還是flash。dataflash最小擦除256字節(jié),不滿256字節(jié)的向256字節(jié)對齊,始末位置跨多個最小單位則按最小單位擦除所有涉及到的flash。


你好,代碼中我只對我儲存在dataflash中的信息進(jìn)行了擦除讀寫操作,下圖為做儲存的首地址;想問的是如果我對這部分dataflash讀寫擦除進(jìn)行了誤操作,是否會影響ble mesh儲存配置的信息產(chǎn)生影響;每次寫入之前都需要先擦除才能再次寫入嗎

image.png


mesh協(xié)議棧默認(rèn)占用前12K的dataflash,上述起始地址都在12K之后,應(yīng)該沒有影響??梢詫⒋a發(fā)送至郵箱zhaiyw@wch.cn,幫您看下。


已發(fā)送??


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

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