成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

【藍(lán)牙開發(fā)筆記】中科藍(lán)訊SDK開發(fā) 內(nèi)置FLASH讀寫方法

02/06 14:43
1971
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

我們在開發(fā)的時候經(jīng)常要存儲一些自定義參數(shù)寫入內(nèi)部FLASH并讀取出來,本文講解中科藍(lán)訊SDK的內(nèi)置FLASH讀法方法。

首先了解一下中科藍(lán)訊的芯片框架結(jié)構(gòu):

芯片內(nèi)部一般會封裝一顆 512K 或 1M SpiFlash,用于存放代碼及資源文件/參數(shù)記憶等。SpiFlash 和芯片之間通過 spi 接口進(jìn)行通信。

首先,代碼不會直接在 SpiFlash 上運行,SpiFlash 中所有程序及數(shù)據(jù)均需要先通過 spi 接口加載到芯片 RAM 中,CPU 再從 RAM 中取指令或數(shù)據(jù)運行。

以上就是中科藍(lán)訊平臺 FLASH 相關(guān)內(nèi)容的介紹。下面我們探討一下內(nèi)部Flash讀寫方法,難免會有失誤,歡迎大家一起留言探討,謝謝大家!

設(shè)定寫入地址

文件:appplatformbspbsmatchp_param.h添加要寫的自定義參數(shù)的相對地址

調(diào)API讀寫FLASH

API

寫 flash cache函數(shù)

cm_write8(u32 addr, u8 val); ?? //注意:write 只是寫入 cache;
addr 是待寫入的地址值,val 是需要寫入的值;
cm_sync(); ? //將 write 寫入 cache 的內(nèi)容同步到 spiflash 中;

注意此接口函數(shù)在寫入操作后進(jìn)行調(diào)用是必須的,否則寫入操作不會生效。

讀 flash cache函數(shù)

cm_read8(u32 addr);
addr 是準(zhǔn)備讀取的地址值,函數(shù)返回值是我們讀取到的結(jié)果值。

寫參數(shù)接口函數(shù)

void bsp_param_write(u8 *buf, u32 addr, uint len);

讀參數(shù)接口函數(shù)

void bsp_param_read(u8 *buf, u32 addr, uint len);

示例:

在main.c bsp_sys_init后添加下面代碼

#if FLASH_RW_TEST_EN
u8 readPram[16];
bsp_param_write("Prama testn", PARAM_USER_DATA, 16);
bsp_param_read(readPram, PARAM_USER_DATA,16);
printf("%s", readPram);

#endif // FLASH_RW_TEST_EN

在配置文件config.h里,添加

#define FLASH_RW_TEST_EN 1

正式發(fā)布不需要這個測試,在配置文件里,把定義值改為0即可。

編譯燒錄、調(diào)試

開啟開發(fā)功能,燒錄后,會打印日志, 驗證是否讀寫成功。

相關(guān)推薦

腾冲县| 无极县| 开化县| 孝感市| 开封县| 黄陵县| 商洛市| 澄江县| 河源市| 平原县| 太康县| 元谋县| 平山县| 扎囊县| 浦江县| 惠水县| 庐江县| 肇东市| 大化| 大姚县| 高淳县| 孟村| 平阳县| 微山县| 昌都县| 镇康县| 图木舒克市| 南通市| 景德镇市| 岢岚县| 临城县| 潢川县| 陆川县| 武夷山市| 德钦县| 黄浦区| 泰来县| 运城市| 南投县| 怀集县| 洛扎县|