女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

應用筆記|Blue NRG-1/2系列芯片Flash操作與BLE事件的互斥處理

STM32單片機 ? 來源:未知 ? 2023-04-06 03:10 ? 次閱讀

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

目錄預覽

1 引言

2 問題描述

3 解決辦法

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

5 小結

1. 引言

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

2. 問題描述

客戶經常反饋類似問題,諸如:當用戶程序嘗試將用戶定制數據寫入 Flash 中特定區域時,發現 BLE 射頻部分停止工作,或芯片直接死機了。

2.1. 原因分析

  • 2.1.1. BlueNRG-1/2 的 Flash 存儲應用數據時可能遇到這個問題。因為在擦除一頁的過程中,中斷會被關掉大概 20 多 ms, 在此期間,radio 中斷是被關掉了的,會導致整個radio 的狀態被延時或者整個 radio 部分的狀態被破壞。

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

3.解決辦法

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

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

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

第二步:設置之后,重寫函數aci_hal_end_of_radio_activity_event,當有事件觸發時, 就會進入這個函數。

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

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

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

第四步:構造 flash_list_tick 函數,flash_list_tick 函數主要是從 Flash 任務列表中去取節 點,當空余時間滿足時,則執行相應的 Flash 操作,然后將節點從任務列表中移除,回收到空閑列表中。

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

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

1. 初始化相關鏈表和初始化 radio 事件回調屏蔽。

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

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

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

3. 在主循環中調度。

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

4. 應用操作 Flash 調用接口。

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

5. 小結

如果使用此方法中的 Flash 擦除,沒有任何 BLE 事件時,直接調用此方法不會執行任何 Flash 的操作。所以當沒有藍牙事件時,可以使用 SDK 默認的 Flash 訪問接口或者是手工調度函數,類似這樣: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系列芯片Flash操作與BLE事件的互斥處理的流程和步驟。由于文章篇幅有限僅展示部分信息,完整內容請點擊“閱讀原文”下載原文檔。

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

長按掃碼關注公眾號

更多資訊,盡在STM32

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


原文標題:應用筆記|Blue NRG-1/2系列芯片Flash操作與BLE事件的互斥處理

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


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6063

    文章

    44916

    瀏覽量

    646913
  • STM32
    +關注

    關注

    2289

    文章

    11012

    瀏覽量

    362364

原文標題:應用筆記|Blue NRG-1/2系列芯片Flash操作與BLE事件的互斥處理

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    了解ISL28022的電流和功率計算應用筆記

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

    ISL28005、ISL28006單向電流檢測放大器應用筆記

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

    CDK應用筆記

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

    ES32VF2264應用筆記

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

    ES7P0214應用筆記

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

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

    1月15日,智通國際旗下品牌恒悅舉辦了全新一代商用筆記本的發布會。當前PC市場正處在傳統PC向AI PC邁進的關鍵時刻,硬件架構創新、產品形態創新、軟件應用創新風起云涌。而作為AI向大眾普及的最佳
    的頭像 發表于 01-16 16:01 ?692次閱讀

    ES7P0213應用筆記

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

    AT32F423 PWC應用筆記

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

    S32K3系列汽車級MCU應用筆記

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

    S32K3xxICU應用筆記

    S32K3xxICU應用筆記
    發表于 12-30 15:38 ?2次下載

    用筆記1604:去補償運算放大器

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

    TLC3702 TLC3704系列用筆記

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

    變頻器的功率計基本計算應用筆記

    電子發燒友網站提供《變頻器的功率計基本計算應用筆記.pdf》資料免費下載
    發表于 09-09 14:38 ?0次下載
    變頻器的功率計基本計算應<b class='flag-5'>用筆記</b>

    互斥鎖和自旋鎖的實現原理

    保護共享資源不被多個線程同時訪問。它的實現原理主要包括以下幾個方面: 1. 鎖的初始化 互斥鎖在創建時需要進行初始化,通常包括設置鎖的狀態為“未鎖定”。在某些實現中,還需要初始化鎖的等待隊列,用于存儲等待鎖的線程。 2. 鎖的
    的頭像 發表于 07-10 10:07 ?937次閱讀