華為如何打造物聯(lián)網(wǎng)開發(fā)新平臺——華為DevCloud和LiteOS的完美結(jié)合
時間:2023-08-12 14:54:01 | 來源:網(wǎng)站運(yùn)營
時間:2023-08-12 14:54:01 來源:網(wǎng)站運(yùn)營
華為如何打造物聯(lián)網(wǎng)開發(fā)新平臺——華為DevCloud和LiteOS的完美結(jié)合:華為云軟件開發(fā)云(DevCloud)是集華為30年研發(fā)實(shí)踐、前沿研發(fā)理念、先進(jìn)研發(fā)工具,打造的一站式云端Devops平臺,支持互聯(lián)網(wǎng)開發(fā)、移動應(yīng)用開發(fā)、微服務(wù)開發(fā)等主流研發(fā)場景,也同樣支持物聯(lián)網(wǎng)相關(guān)嵌入式開發(fā)場景。目前,在Devcloud代碼托管平臺,已經(jīng)開放了LiteOS示例代碼,開發(fā)團(tuán)隊或開發(fā)者可以申請Devcloud賬號,下載該代碼,在此基礎(chǔ)上增量開發(fā)。
LiteOS是華為開源出來的輕量級實(shí)時操作系統(tǒng),由Huawei LiteOS kernel、互聯(lián)互通中間件、開放API以及安全組成,特性如下:
1.超小內(nèi)核,基礎(chǔ)內(nèi)核可剪裁至不到10KB
2.低功耗(uA級別)
3.支持多種傳輸協(xié)議,wifi,BT,4G,NB-IOT等
4.從芯片,內(nèi)核、傳輸保障E2E安全
5.支持多種芯片
6.開放API
我們可以在LiteOS的基礎(chǔ)上進(jìn)行物聯(lián)網(wǎng)應(yīng)用開發(fā),像智能穿戴,車聯(lián)網(wǎng)等。
環(huán)境準(zhǔn)備本文將使用Devcloud平臺開發(fā)一個LCD顯示功能,需要預(yù)先準(zhǔn)備硬件設(shè)備和軟件設(shè)備:
?STM32F4291-DISCO單板 STM32開發(fā)板(芯片型號STM32F429ZIT6)
?開發(fā)板供電(使用Mini USB連接線)
?STM32 ST-LINK Utility軟件 自帶ST-Link驅(qū)動,用于加載,燒寫代碼。
https://my.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.license%3d1513163277956.html 1.項目管理在Devcloud工作服務(wù)下,以思維導(dǎo)圖的形式將開發(fā)任務(wù)細(xì)化成story
2.代碼托管如果想將LiteOS在一款新的芯片上運(yùn)行起來,需要根據(jù)芯片硬件參數(shù),修改LiteOS kenerl等等相關(guān)文件,Devcloud的示例代碼中內(nèi)核源碼已適配好STM32F411芯片,本文將以STM32F429ZI芯片為例,介紹基Cortex M4核芯片的開發(fā)過程,本文將在STM32F429ZI單板LCD屏幕上顯示文字。
3.代碼檢查通過靜態(tài)代碼檢查規(guī)則,發(fā)現(xiàn)代碼中是否有內(nèi)存溢出,全復(fù)雜度過高,代碼重復(fù)率高的問題,該代碼發(fā)現(xiàn)重復(fù)率太高,將部分重復(fù)代碼抽象成公共接口或函數(shù)供各個地方調(diào)用,提高代碼后期可維護(hù)性。
4.編譯構(gòu)建
使用cmake進(jìn)行一鍵構(gòu)建,云端直接打包成bin包。
云端編譯構(gòu)建的好處很多,首先不必下載交叉編譯鏈,如果在本地centos上完成此工程構(gòu)建,需要增加如下步驟:
i.下載交叉編譯工具鏈
https://launchpad.net/gcc-arm-embedded/+downloadii.安裝
a)安裝路徑
cd opt
b)解壓
tar jxvf gcc-arm-none-eabi-5_4-2016q3.tar.bz2 -C /opt
c)修改環(huán)境變量
vim /etc/profile
添加export PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin:$PATH
d)使新的環(huán)境變量生效
source /etc/profile
reboot(選擇)
e)檢查路徑添加是否成功
echo $PATH
iii.開發(fā)環(huán)境適配
項目中,嵌入式平臺采用32位操作系統(tǒng),應(yīng)用服務(wù)程序采用64位操作系統(tǒng),項目開發(fā)中,需要將兩種開發(fā)環(huán)境,在同一臺物理機(jī)上實(shí)現(xiàn)。
嵌入式開發(fā)環(huán)境構(gòu)建時,安裝交叉編譯環(huán)境,需要32位開發(fā)庫。
$sudo yum install xulrunner.i686
$sudo yum install libXtst.i686
云上編譯就省去了上述麻煩,只需創(chuàng)建一個cmake任務(wù)就可以了。
5.軟件包歸檔6.本地?zé)龑?/b>
將云端的軟件包下載到本地,連接STM開發(fā)板,使用ST-LINK工具加載燒寫
7.查看效果