CC2541 OAD無線升級遇到問題總結

最近做BLE CC2541 OAD空中升級,鑑於256K的flash,如果編譯代碼code大的話,存儲空間顯得有些力不從心。有的人會採用雙CPU工作,主從形式,不過顯得有些奢侈。Flash分成三個區:bootloader(BIM)、Image-A、Image-B區。bootloader(BIM)區是固定的不用改,Image-A應該儘量小,這樣Image-B纔會有足夠的升級空間。遇到的問題列一下:
1.在PC端用SmartRF Flash Programmer軟件下載好BIM、Image-A之後,BIM下載時Actions要選擇全部擦除芯片。下載Image-A要選擇燒錄到前一個映像後面Append and verify。然後打開BLE Device Monitor軟件進行Image-B bin文件寫入。遇到端口無反應這裏寫圖片描述
這是因爲USB Dongle固件的問題,在作爲BTool\BLE Device Monitor 使用前,需要下載對應的固件,在協議棧目錄下:c:\Texas Instruments\BLE-CC254x-1.4.0\Accessories\HexFiles\CC2540_USBdongle_HostTestRelease_All.hex下載後就可以識別端口了。
2.下載了BIM和Image-B,用BLE Device Monitor加載Image-B .bin文件後,點擊Start開始升級,一會就斷開連接,軟件自動關閉。如下:

這裏寫圖片描述

這是可能由於軟件版本太低的原因,下載最新的即可。
不過感覺在PC端升級時間太長,可以適當修改從機的連接參數,速度會提升。如:

// Minimum connection interval (units of 1.25ms, 80=100ms) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL     16//80

// Maximum connection interval (units of 1.25ms, 800=1000ms) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL     16//800

// Slave latency to use if automatic parameter update request is enabled
#define DEFAULT_DESIRED_SLAVE_LATENCY         0

// Supervision timeout value (units of 10ms, 1000=10s) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_CONN_TIMEOUT          50//1000     

// Whether to enable automatic parameter update request when a connection is formed
#define DEFAULT_ENABLE_UPDATE_REQUEST         FALSE//TRUE

更多技術文章瀏覽請關注:

百家號:
https://author.baidu.com/home?context=%7B%22app_id%22%3A%221646108714303504%22%7D&wfr=bjh

頭條號:
https://www.toutiao.com/c/user/8115738721/#mid=1646025109246987

發佈了39 篇原創文章 · 獲贊 20 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章