日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OAD 空中升级

發(fā)布時間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OAD 空中升级 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/p/69222/172351.aspx#172351

第二十三節(jié)??OAD空中升級

通過仿真器更新程序或者通過USB更新固件那都是一般人都可以實現(xiàn)的操作,但是要想實現(xiàn)OAD空中升級,這還是需要一定的技術(shù)能力。這一節(jié)我就帶著大家完善這一能力。
? ? OAD: ?on air download,指空中下載模式。當我們的產(chǎn)品發(fā)布以后,有時需要對固件進行升級,OAD是升級方式中的一種。

配置BIM(Boot Image Manger)

? ? 打開IAR,打開BLE-CC254x-1.4.0下的工程C:\TexasInstruments\BLE-CC254x-1.4.0\Projects\ble\util\BIM\cc254x\BIM.eww,然后編譯,下載到開發(fā)板中。

配置Image A

? ? 打開OADExample工程,配置工程,添加如下幾個宏

? ? FEATURE_OAD_BIM

? ? HAL_IMAGE_A

? ? FEATURE_OAD

? ? OAD_KEEP_NV_PAGES

(1)??打開simplePeripheral.c找到宏定義DEFAULT_ENABLE_UPDATE_REQUEST,將其改為FLASE。否則會影響B(tài)LEDevice Monitor對其進行空中升級,到時可以再改回來。

(2)??IAR左側(cè)導(dǎo)航中找到Profile文件夾,點擊右鍵添加oad_target.c和oad_target.h兩個文件,二文件位于C:\TexasInstruments\BLE-CC254x-1.4.0\Projects\ble\Profiles\OAD中。

(3)??在IAR導(dǎo)航中找到HAL→Target→MT254xboard→Driver,右鍵添加文件hal_crc.c,該文件位于C:\TexasInstruments\BLE-CC254x-1.4.0\Components\hal\target\MT254xboard中。

(4)??在剛才的simplePeripheral.c文件中,找到simplePeripheral_Init()函數(shù),在里面添加OADTarget_AddService()函數(shù)。

(5)??在simplePeripheral.c的前面,添加引用OAD的頭文件,OAD.h和OAD_target.h。

(6)??點擊Project→Option…,或直接按Alt+F7,選擇BuildActions,在Post-buildcommand line中添加:

"$PROJ_DIR$\..\..\common\cc2540\cc254x_ubl_pp.bat""$PROJ_DIR$" "rodUBL""$PROJ_DIR$\CC2540-OAD-ImgA\Exe\OADExample"

注意,各雙引號之間只有一個空格。注意圖中紅框標的部分,Image_A是和之前第1步對應(yīng)的。

(7)??點擊Project→Option…,或直接按Alt+F7,選擇Linker,選擇Config,Linker Configurationfile中勾選Override default,添加C:\TexasInstruments\BLE-CC254x-1.4.0\Projects\ble\common\cc2540\cc254x_f256_imgA.xcl。

(8)??點擊Project→Option…,或直接按Alt+F7,選擇Linker,選擇Extra Output。

(9)??Extra Option添加Hex文件的輸出。

(10)??點擊OK,編譯下載,如果出現(xiàn)如下錯誤,是因為我們使用的是IAR8051 8.30版本,如果你使用的是IAR8.20版本就沒有這問題。

(11)??這個問題是因為使用了虛擬寄存器導(dǎo)致的,我們找到如下文件。

(12)??對文件的115行進行如下修改,將虛擬寄存器注釋掉。

(13)??編譯后,可以看到我們生成的文件

(14)??我們將hex文件疊加到BIM后面

? 這樣ImageA就成功燒錄進開發(fā)板了。




配置Image B

(1)??方法如Image A,其它要注意的幾個地方:點擊Project→Option…,或直接按Alt+F7,選擇C/C++Compiler,選擇Preprocessor,將Defined symbols中的HAL_IMAGE_A改成B。

(2)??點擊Project→Option…,或直接按Alt+F7,選擇Linker,選擇Config,將Linker Configuration file中的文件改為B。

(3)??保存后編譯,同樣的可以看到生成的文件。

(4)??為了區(qū)分A和B鏡像,我們將最終結(jié)果改名。



空中升級

? ? 有了bin文件就可以進行空中升級了,打開BLE Device Monitor(沒有安裝的需要安裝),打開后軟件會自動掃描設(shè)備,如圖,我們掃描到了開發(fā)板。

(2)??連接后,打開OAD

(3)??點擊file,選擇Progame(OAD),選擇生成的bin文件,可以看到我們當前運行的是A固件

(4)??點擊start,當進行到100%,就完成了固件空中升級。

(5)??升級后再次打開OAD選項,可以看到選擇運行的固件已經(jīng)是B版本的了。

注意:

要把 BLE協(xié)議棧BLE-CC254x-1.4.0 安裝在C盤,在其他盤符下沒有生成bin文件。



總結(jié)

以上是生活随笔為你收集整理的OAD 空中升级的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。