使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置
前言
本文介紹了在VScode中編寫程序源碼,如何將源碼編譯成二進制文件,宏命令,以及一些爆紅問題的處理,IntelliSense設(shè)置,屏蔽內(nèi)置的 test suite方法
一、編寫程序源碼
1、準備開發(fā)套件
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
2、建立目錄
ps1:獲取虛擬機ip地址確保虛擬機處于開機狀態(tài)
ps2:如何獲取虛擬機ip地址,下載編譯源碼可以看我的另一篇文章 https://ost.51cto.com/posts/24912打開VScode,點擊左上角file,點擊open folder,輸入兩個\ 和虛擬機ip地址
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
雙擊home文件夾,進去到1.1.3根目錄,選擇1.1.1根目錄文件夾打開。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
打開之后…
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
3、編寫源碼
打開 applications\sample\wifi-iot\app\startup 點擊左上角新建文件圖標 新建hello.c文件
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
下面編寫C程序代碼,保存文件。
- ps1:其中 #include “ohos_init.h” 為OpenHarmony特定的頭文件。
- ps2:SYS_RUN為ohos_init.h頭文件定義的一個宏。
- ps3:這里爆紅先不急。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
4、編寫編譯腳本
ps:千萬要注意有兩個BUILD.gn。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
先打開 applications\sample\wifi-iot\app\startup\BUILD.gn。
需要把helloworld做成靜態(tài)庫,把source_set改成static_library。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
定義庫名稱,靜態(tài)庫需要編譯的源文件,include目錄,保存文件。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
再打開 applications\sample\wifi-iot\app\BUILD.gn。
ps:features字段用于指定業(yè)務(wù)模塊,使目標模塊參與編譯,保存文件。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
二、將源碼編譯成二進制文件
打開虛擬機 進入 OpenHarmony 源碼根目錄,選中1.1.3,鼠標右擊選擇在終端打開。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
輸入:
hb build -f
查看編譯結(jié)果,編譯成功完成。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
三、將二進制文件燒錄到開發(fā)板
編譯生成的固件位置
兩個\ 虛擬機 IP\home\lushikai\openharmony\1.1.3\out\hispark_pegasus。
wifiiot_hispark_pegasus\Hi3861_wifiiot_app_allinone.bin。
首先,連接開發(fā)板,打開HiBurn,進行初始配置。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
選擇固件打開。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
燒錄
ps:老方法,不會燒錄可以看另一篇文章 https://ost.51cto.com/posts/24912燒錄成功,點擊disconnect。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
四、查看程序運行結(jié)果
打開MobaXterm,連接好開發(fā)板串口。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
按下開發(fā)板RST鍵,開始運行。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
查看輸出。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
五、OpenHarmony啟動的8個階段
宏命令
core: CORE_INIT()
core system service: SYS_SERVICE_INIT()
core system feature: SYS_FEATURE_INIT()
system startup: SYS_RUN()
system service: SYSEX_SERVICE_INIT()
system feature: SYSEX_FEATURE_INIT()
application-layer service: APP_SERVICE_INIT()
application-layer feature: APP_FEATURE_INIT()
六、VScode的IntelliSense設(shè)置
ps:有智能感知功能,自動代碼補全,代碼提示,代碼導(dǎo)航,右鍵跳轉(zhuǎn),實時錯誤檢查等。
回到VScode,打開寫好的hello.c文件,鼠標移動到爆紅位置會顯示錯誤提示。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
在有錯誤提示地方有個黃色小燈泡點擊打開,點擊edit includePath setting。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
找到包含路徑。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
添加路徑。
${workspaceFolder}/utils/native/lite/include
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
ok~
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
建議的額外設(shè)置,完成之后保存文件。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
ps:如果#include <stdio.h>頭文件也爆紅,下面介紹如何解決。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
打開配置文件,""輸入路徑 注意第二行后面別忘了加逗號 然后保存文件。
${workspaceFolder}/device/hisilicon/hispark_pegasus/sdk_liteos/platform/os/Huawei_LiteOS/components/lib/libc/musl/include
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
ok~
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
七、VScode解析 .gn 文件
1、安裝gn.exe
PS:這一步有能力自行操作,安不安裝并不影響編譯。
下載 gn-windows-amd64.zip。
建議將 gn.exe 放到 C:\Windows\System32\ 不需要配置環(huán)境變量。
2、安裝GN插件 GNFormat插件
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
3、格式化 .gn 文件
回到start up目錄下的BUILD.gn文件。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
app目錄下的BUILD.gn文件。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
按下 Alt+Shift+F 進行格式化。
八、屏蔽內(nèi)置的 test suite
ps1:test suite會影響觀察程序運行結(jié)果。
ps2:注意刪除的還有86行的逗號。
刪除86-93行,保存文件,重新編譯。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
回到虛擬機,找到1.1.3源碼根目錄選擇在終端打開,進行全量編譯。
hb build -f
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
打開HiBurn,對重新編譯的Hi3861_wifiiot_app_allinone.bin固件進行燒錄。
ps:燒錄前先把MobaXterm關(guān)閉。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
打開MobaXterm,連接串口,按下RST鍵。
可以看到串口輸出日志不再包含測試輸出了。
【OpenHarmony快速入門】使用VSCode編寫程序源碼以及基礎(chǔ)設(shè)置-開源基礎(chǔ)軟件社區(qū)
九、快速查找文件和代碼
按內(nèi)容查找。
grep -nr xxx
按文件名查找
find . -name 'xxx'