找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4106|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

為自己的DA14580工程添加OTA功能

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:539125 發(fā)表于 2019-5-15 19:04 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
簡(jiǎn)介:此方法基于DA14580官方SDK_5.0.4更改,可以為自己的工程增加OTA功能。
詳細(xì)步驟如附件。
相關(guān)工具另外發(fā)帖。

簡(jiǎn)介:此方法基于DA14580官方SDK_5.0.4更改,可以為自己的工程增加OTA功能。
一、開發(fā)準(zhǔn)備:
1、DA14580官方SDK:DA1458x_SDK_5.0.4
2、官方SDK5OTA文檔
3、轉(zhuǎn)換工具
4、手機(jī)APP

二、工程代碼更改步驟:
1、同時(shí)打開自己的工程和官方SDK中的例程ble_app_ota.uvprojx。

2、更改自己藍(lán)牙的地址,不要與其它藍(lán)牙地址沖突就行。

3、更改宏定義。

4、包含頭文件

5、更改廣播數(shù)據(jù)和設(shè)備的名稱。將廣播數(shù)據(jù)更換成官方ota例程的數(shù)據(jù),這一段數(shù)據(jù)如果不一致會(huì)導(dǎo)致手機(jī)軟件suota搜不到設(shè)備。名稱可以隨意設(shè)定。

6、編譯自己的工程,會(huì)出現(xiàn)錯(cuò)誤,根據(jù)錯(cuò)誤提示,將沒(méi)有定義的函數(shù)或變量從官方ota例程中全局搜索并對(duì)比每一處,更改為一樣即可。
              錯(cuò)誤一:user_profile_callbacks
在官方ota例程中全局搜索
將官方ota與自己工程不一致的地方復(fù)制到自己工程
錯(cuò)誤二:on_spotar_status_change
將官方ota與自己工程不一致的地方復(fù)制到自己工程

錯(cuò)誤三:變量沒(méi)有定義。
SDK5.0.4\SDK5.0.4\DA1458x_SDK_5.0.4\DA1458x_SDK\5.0.4\sdk\ble_stack\profiles\spota 目錄下的spotar文件夾復(fù)制到自己工程的(src)文件夾,并在工程中添加。
將文件添加完成后就可以編譯通過(guò)了。


編譯通過(guò)后,請(qǐng)轉(zhuǎn)至文檔最后,還有一段代碼需添加。
三、轉(zhuǎn)換文件準(zhǔn)備
程序更改已經(jīng)完成,下面進(jìn)行bin文件與imag文件的生成。
1、轉(zhuǎn)換工具需要兩個(gè)工程輸出的HEX文件。
先編譯工程生成HEX文件cocobit_19_5_11_1

然后隨意更改任意一處,加個(gè)延時(shí)或者定義變量,反正要與上一個(gè)程序不一樣,因?yàn)镺TA時(shí)會(huì)驗(yàn)證程序是否一樣。更改后生成cocobit_19_5_11_2

將兩個(gè)HEX文件更改為fw_1和fw_2放入轉(zhuǎn)換工具的input文件夾中,
創(chuàng)建兩個(gè)頭文件,要求第二個(gè)頭文件的版本信息和時(shí)間都需要比第一個(gè)的高。
如果是580的工程就更改下名字,585就該另外一個(gè)。


四、生成bin和image文件
1、安裝python環(huán)境
              去官網(wǎng)https://www.python.org/downloads/ 下載安裝包
              為計(jì)算機(jī)添加安裝目錄搭到環(huán)境變量,如圖把python的安裝目錄添加到pth系統(tǒng)變量中即可
測(cè)試python安裝是否成功,cmd打開命令行輸入 python 命令,如下圖即成功:

2、運(yùn)行腳本
訪問(wèn)轉(zhuǎn)換工具文件夾,然后輸入命令運(yùn)行腳本
成功生成文件

3、查看output文件夾。(運(yùn)行腳本前可以把文件夾內(nèi)容都刪除)
然后將fw_multi_part_spi.bin文件用SmartSnippets燒錄到flash。
五、燒錄bin文件與OTA功能驗(yàn)證
1、燒錄的時(shí)候選擇
燒錄成功,重新上電。
2、打開手機(jī)SOUTA手機(jī)APP就可以搜索到設(shè)備相關(guān)的名稱和地址。
3、將轉(zhuǎn)換工具生成的img文件放到手機(jī)Suota文件夾。
4、在手機(jī)APP上點(diǎn)擊設(shè)備,選擇updata device,
選擇send to device

升級(jí)完成之后選擇重啟設(shè)備。
至此,整個(gè)過(guò)程完畢。
六、測(cè)試
測(cè)試OTA功能是否正常,在工程改一下設(shè)備名稱,編譯生成HEX文件后再按照上述步驟,將HEX改成fw_2.hex,然后在頭文件fw_2_version.h把時(shí)間更改為現(xiàn)在的時(shí)間,保證要大于之前的時(shí)間或者版本即可。
將生成的fw_image_2.img文件用手機(jī)升級(jí)即可。升級(jí)完成之后,手機(jī)發(fā)送重啟命令,設(shè)備沒(méi)有完成重啟,必須手動(dòng)重啟才能使程序生效,那是因?yàn)檫有一段代碼沒(méi)有復(fù)制過(guò)去。
重啟代碼如下,添加后可完善OTA程序。即OTA完成后可用app復(fù)位,不用手動(dòng)復(fù)位。


完整的Word格式文檔51黑下載地址:
詳細(xì)步驟.docx (2.26 MB, 下載次數(shù): 14)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表