chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

應(yīng)用筆記|Blue NRG-1/2系列芯片F(xiàn)lash操作與BLE事件的互斥處理

STM32單片機 ? 來源:未知 ? 2023-04-06 03:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在許多基于 BlueNRG-1/2 系列芯片的低功耗藍牙的設(shè)計項目時,客戶通常會在 Flash的特定區(qū)域存儲定制的數(shù)據(jù)。然而需要特別注意的是,在 BlueNRG-1/2 方案中,用戶對Flash 的讀寫操作必須在射頻空閑的情況下進行,兩者是互斥的關(guān)系。本文檔描述Blue NRG-1/2系列芯片F(xiàn)lash操作與BLE事件的互斥處理的流程和步驟。

目錄預(yù)覽

1 引言

2 問題描述

3 解決辦法

4 將上述方案加入客戶工程的步驟示例

5 小結(jié)

1. 引言

在許多基于 BlueNRG-1/2 系列芯片的低功耗藍牙的設(shè)計項目時,客戶通常會在 Flash 的特定區(qū)域存儲定制的數(shù)據(jù)。然而需要特別注意的是,在 BlueNRG-1/2 方案中,用戶對 Flash 的讀寫操作必須在射頻空閑的情況下進行,兩者是互斥的關(guān)系。

2. 問題描述

客戶經(jīng)常反饋類似問題,諸如:當(dāng)用戶程序嘗試將用戶定制數(shù)據(jù)寫入 Flash 中特定區(qū)域時,發(fā)現(xiàn) BLE 射頻部分停止工作,或芯片直接死機了。

2.1. 原因分析

  • 2.1.1. BlueNRG-1/2 的 Flash 存儲應(yīng)用數(shù)據(jù)時可能遇到這個問題。因為在擦除一頁的過程中,中斷會被關(guān)掉大概 20 多 ms, 在此期間,radio 中斷是被關(guān)掉了的,會導(dǎo)致整個radio 的狀態(tài)被延時或者整個 radio 部分的狀態(tài)被破壞。

  • 2.1.2. ST 的 SDK 雖然提供了訪問 Flash 的示例代碼,但是當(dāng) Flash 操作比較多時,與藍牙事件的互斥就比較難處理了;特別是對于一些多連接應(yīng)用或者同時用了主從、多種藍牙事件的場景,互斥就顯得更麻煩了。

3.解決辦法

使用一個雙向鏈表來管理 Flash 操作(Flash 擦除或者是 Flash 寫,F(xiàn)lash 讀無需和 BLE 相關(guān)事件互斥),并使用一個雙向鏈表來管理空余時間狀態(tài)。在空余的時間執(zhí)行 Flash 操作。從芯片手冊可以知道,操作 Flash,特別是擦除時,會占用比較多的時間。為 了避免操作 Flash 占用過多的時間片,把每次寫或者擦除 Flash,用一個列表來管理,每 次寫或者擦除操作,插入 Flash 操作鏈表的最后。在主循環(huán)中檢測是否有足夠的時間寫, 如果當(dāng)前空閑的時間足夠,取出 Flash 操作鏈表中最前的一個節(jié)點,執(zhí)行 Flash 操作,然 后將節(jié)點移除。對于如何檢測空閑時刻,也用一個鏈表來管理空閑時刻。具體思路如下:

第一步:初始化時需要設(shè)置 radio active 事件拋到應(yīng)用。aci_hal_set_radio_activity_mask(0x0001|0x0002|0x0004|0x0008|0x0010|0x0020)

6249bf3c-d3e5-11ed-bfe3-dac502259ad0.png

第二步:設(shè)置之后,重寫函數(shù)aci_hal_end_of_radio_activity_event,當(dāng)有事件觸發(fā)時, 就會進入這個函數(shù)。

6286e920-d3e5-11ed-bfe3-dac502259ad0.png

第三步:構(gòu)造一個 Flash 操作調(diào)度函數(shù),每次進入這個函數(shù),生成一個空閑時刻的節(jié)點插 入到鏈表中。主循環(huán)中有個 Flash 操作的調(diào)度函數(shù),不停的調(diào)度是否有數(shù)據(jù)需要寫入。在 Flash 操作的調(diào)度函數(shù)中,主要做兩件事情,一個是把空閑時間計算出來給到底層的 Flash 操作鏈表調(diào) 度中。另一個是移除過期的節(jié)點。

62a69932-d3e5-11ed-bfe3-dac502259ad0.png

第四步:構(gòu)造 flash_list_tick 函數(shù),flash_list_tick 函數(shù)主要是從 Flash 任務(wù)列表中去取節(jié) 點,當(dāng)空余時間滿足時,則執(zhí)行相應(yīng)的 Flash 操作,然后將節(jié)點從任務(wù)列表中移除,回收到空閑列表中。

62b7dbac-d3e5-11ed-bfe3-dac502259ad0.png

4.將上述方案加入客戶工程的步驟示例

1. 初始化相關(guān)鏈表和初始化 radio 事件回調(diào)屏蔽。

62d9a552-d3e5-11ed-bfe3-dac502259ad0.png

2. 在 aci_hal_end_of_radio_activity_event 中添加空閑鏈表的更新函數(shù)。

63122012-d3e5-11ed-bfe3-dac502259ad0.png

3. 在主循環(huán)中調(diào)度。

6337c2b8-d3e5-11ed-bfe3-dac502259ad0.png

4. 應(yīng)用操作 Flash 調(diào)用接口。

63518dce-d3e5-11ed-bfe3-dac502259ad0.png

5. 小結(jié)

如果使用此方法中的 Flash 擦除,沒有任何 BLE 事件時,直接調(diào)用此方法不會執(zhí)行任何 Flash 的操作。所以當(dāng)沒有藍牙事件時,可以使用 SDK 默認(rèn)的 Flash 訪問接口或者是手工調(diào)度函數(shù),類似這樣:flash_list_tick(~0u)

工程測試源碼參考附件壓縮包:

BlueNRG Flash vs BLE event handle source code.7z

工程路徑為:

BlueNRG_Demo/BlueNRG-1_2DK 3.1.0/Project/Supply/BLE_Chat_Master_Slave_WithFlashAccess/

本文檔描述Blue NRG-1/2系列芯片F(xiàn)lash操作與BLE事件的互斥處理的流程和步驟。由于文章篇幅有限僅展示部分信息,完整內(nèi)容請點擊“閱讀原文”下載原文檔。

636f2c58-d3e5-11ed-bfe3-dac502259ad0.png

長按掃碼關(guān)注公眾號

更多資訊,盡在STM32

點擊“閱讀原文”,可下載原文檔


原文標(biāo)題:應(yīng)用筆記|Blue NRG-1/2系列芯片F(xiàn)lash操作與BLE事件的互斥處理

文章出處:【微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6067

    文章

    44989

    瀏覽量

    650345
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    364781

原文標(biāo)題:應(yīng)用筆記|Blue NRG-1/2系列芯片F(xiàn)lash操作與BLE事件的互斥處理

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    使用不同的Bluetooth?適配器時,BLE速率較慢怎么解決?

    我已經(jīng)在CYW20829中編寫了一個BLE服務(wù)器程序。 當(dāng)我使用 Python 腳本將其連接到我的計算機時,它可以達到 800 Kbps,該腳本生成使用 Bleak 的 BLE 客戶端,并使用筆記
    發(fā)表于 06-27 06:28

    GPDV6624C應(yīng)用筆記1.0版

    電子發(fā)燒友網(wǎng)站提供《GPDV6624C應(yīng)用筆記1.0版.pdf》資料免費下載
    發(fā)表于 06-06 17:20 ?0次下載

    低價不貴!安信可WiFi+BLE模組Ai-WB2系列

    安信可Ai-WB2系列模組集成Wi-Fi&BLE于一體,搭載BL602芯片作為核心處理器,支持Wi-Fi 802.11b/g/n協(xié)議和
    的頭像 發(fā)表于 03-06 08:49 ?477次閱讀
    低價不貴!安信可WiFi+<b class='flag-5'>BLE</b>模組Ai-WB<b class='flag-5'>2</b><b class='flag-5'>系列</b>

    了解ISL28022的電流和功率計算應(yīng)用筆記

    本應(yīng)用筆記討論數(shù)字電源監(jiān)控器(DPM) ISL28022的內(nèi)部計算程序。它解釋了數(shù)據(jù)寄存器的位格式,并舉例說明了內(nèi)部數(shù)學(xué)處理器從測得的分流和總線電壓導(dǎo)出電流和功率值的程序步驟。本應(yīng)用筆記是ISL28022數(shù)據(jù)手冊的摘要。
    的頭像 發(fā)表于 02-21 11:30 ?577次閱讀
    了解ISL28022的電流和功率計算應(yīng)<b class='flag-5'>用筆記</b>

    ISL28005、ISL28006單向電流檢測放大器應(yīng)用筆記

    本應(yīng)用筆記介紹高度集成的電流檢測放大器ISL28005和ISL28006系列,它們可以大大簡化復(fù)雜電流監(jiān)控電路的設(shè)計。本應(yīng)用筆記解釋了具有接地檢測診斷功能的內(nèi)部雙放大器拓撲結(jié)構(gòu),討論了在何種類型的應(yīng)用中使用何種增益,并提供了一個
    的頭像 發(fā)表于 02-21 10:08 ?541次閱讀
    ISL28005、ISL28006單向電流檢測放大器應(yīng)<b class='flag-5'>用筆記</b>

    CDK應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《CDK應(yīng)用筆記.pdf》資料免費下載
    發(fā)表于 01-16 16:17 ?0次下載
    CDK應(yīng)<b class='flag-5'>用筆記</b>

    ES32VF2264應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《ES32VF2264應(yīng)用筆記.pdf》資料免費下載
    發(fā)表于 01-16 16:14 ?0次下載
    ES32VF2264應(yīng)<b class='flag-5'>用筆記</b>

    ES7P0214應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《ES7P0214應(yīng)用筆記.pdf》資料免費下載
    發(fā)表于 01-16 16:06 ?0次下載
    ES7P0214應(yīng)<b class='flag-5'>用筆記</b>

    智通國際推出全新商用筆記本品牌恒悅

    1月15日,智通國際旗下品牌恒悅舉辦了全新一代商用筆記本的發(fā)布會。當(dāng)前PC市場正處在傳統(tǒng)PC向AI PC邁進的關(guān)鍵時刻,硬件架構(gòu)創(chuàng)新、產(chǎn)品形態(tài)創(chuàng)新、軟件應(yīng)用創(chuàng)新風(fēng)起云涌。而作為AI向大眾普及的最佳
    的頭像 發(fā)表于 01-16 16:01 ?889次閱讀

    ES7P0213應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《ES7P0213應(yīng)用筆記.pdf》資料免費下載
    發(fā)表于 01-16 15:26 ?0次下載
    ES7P0213應(yīng)<b class='flag-5'>用筆記</b>

    AT32F423 PWC應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《AT32F423 PWC應(yīng)用筆記.pdf》資料免費下載
    發(fā)表于 01-15 15:30 ?0次下載
    AT32F423 PWC應(yīng)<b class='flag-5'>用筆記</b>

    S32K3系列汽車級MCU應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《S32K3系列汽車級MCU應(yīng)用筆記.docx》資料免費下載
    發(fā)表于 12-30 15:43 ?2次下載

    S32K3xxICU應(yīng)用筆記

    S32K3xxICU應(yīng)用筆記
    發(fā)表于 12-30 15:38 ?2次下載

    應(yīng)用筆記1604:去補償運算放大器

    電子發(fā)燒友網(wǎng)站提供《應(yīng)用筆記1604:去補償運算放大器.pdf》資料免費下載
    發(fā)表于 09-29 10:30 ?0次下載
    應(yīng)<b class='flag-5'>用筆記</b>1604:去補償運算放大器

    TLC3702 TLC3704系列應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《TLC3702 TLC3704系列應(yīng)用筆記.pdf》資料免費下載
    發(fā)表于 09-20 09:14 ?0次下載
    TLC3702 TLC3704<b class='flag-5'>系列</b>應(yīng)<b class='flag-5'>用筆記</b>