Hi3516標(biāo)準(zhǔn)系統(tǒng)入門(IDE方式)
注意:
從3.2版本起,標(biāo)準(zhǔn)系統(tǒng)不再針對(duì)Hi3516DV300進(jìn)行適配驗(yàn)證,建議您使用RK3568進(jìn)行標(biāo)準(zhǔn)系統(tǒng)的設(shè)備開發(fā)。
如您仍然需要使用Hi3516DV300進(jìn)行標(biāo)準(zhǔn)系統(tǒng)相關(guān)開發(fā)操作,則可能會(huì)出現(xiàn)無法適配的現(xiàn)象,此時(shí)請(qǐng)聯(lián)系芯片供應(yīng)商獲取相關(guān)適配指導(dǎo),或自行完成適配。
除小型系統(tǒng)外,Hi3516DV300開發(fā)板還支持標(biāo)準(zhǔn)系統(tǒng)。此章節(jié)簡要介紹如何使用IDE在Hi3516DV300開發(fā)板上進(jìn)行標(biāo)準(zhǔn)系統(tǒng)的開發(fā)。
下方將展示如何在單板上運(yùn)行第一個(gè)應(yīng)用程序,其中包括新建應(yīng)用程序、編譯、燒寫、運(yùn)行等步驟,最終輸出“Hello World!”。
在進(jìn)行開發(fā)之前,請(qǐng)完成如下準(zhǔn)備工作:
- [搭建開發(fā)環(huán)境]
- [創(chuàng)建工程并獲取源碼]
- 鴻蒙開發(fā)指導(dǎo)文檔:[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
編寫“Hello World”程序
示例目錄
applications/sample/hello
│── BUILD.gn
│── include
│ └── helloworld.h
│── src
│ └── helloworld.c
├── bundle.json
build
└── subsystem_config.json
productdefine/common
└── products
└── Hi3516DV300.json
開發(fā)步驟
請(qǐng)?jiān)谠创a目錄中通過以下步驟創(chuàng)建“Hello World”應(yīng)用程序:
創(chuàng)建目錄,編寫業(yè)務(wù)代碼。 新建applications/sample/hello/src/helloworld.c目錄及文件,代碼如下所示,用戶可以自定義修改打印內(nèi)容(例如:修改World為OHOS)。其中helloworld.h包含字符串打印函數(shù)HelloPrint的聲明。當(dāng)前應(yīng)用程序可支持標(biāo)準(zhǔn)C及C++的代碼開發(fā)。
#include < stdio.h > #include "helloworld.h" int main(int argc, char **argv) { HelloPrint(); return 0; } void HelloPrint() { printf("nn"); printf("nttHello World!n"); printf("nn"); }
再添加頭文件applications/sample/hello/include/helloworld.h,代碼如下所示。
#ifndef HELLOWORLD_H #define HELLOWORLD_H #ifdef __cplusplus #if __cplusplus extern "C" { #endif #endif void HelloPrint(); #ifdef __cplusplus #if __cplusplus } #endif #endif #endif // HELLOWORLD_H
新建編譯組織文件。
新建applications/sample/hello/BUILD.gn文件,內(nèi)容如下所示:
import("http://build/ohos.gni") # 導(dǎo)入編譯模板 ohos_executable("helloworld") { # 可執(zhí)行模塊 sources = [ # 模塊源碼 "src/helloworld.c" ] include_dirs = [ # 模塊依賴頭文件目錄 "include" ] cflags = [] cflags_c = [] cflags_cc = [] ldflags = [] configs = [] deps =[] # 部件內(nèi)部依賴 part_name = "hello" # 所屬部件名稱,必選 install_enable = true # 是否默認(rèn)安裝(缺省默認(rèn)不安裝),可選 }
新建applications/sample/hello/bundle.json文件,添加sample部件描述,內(nèi)容如下所示。
{ "name": "@ohos/hello", "description": "Hello world example.", "version": "3.1", "license": "Apache License 2.0", "publishAs": "code-segment", "segment": { "destPath": "applications/sample/hello" }, "dirs": {}, "scripts": {}, "component": { "name": "hello", "subsystem": "sample", "syscap": [], "features": [], "adapted_system_type": [ "mini", "small", "standard" ], "rom": "10KB", "ram": "10KB", "deps": { "components": [], "third_party": [] }, "build": { "sub_component": [ "http://applications/sample/hello:helloworld" ], "inner_kits": [], "test": [] } } }
bundle.json文件包含兩個(gè)部分,第一部分描述該部件所屬子系統(tǒng)的信息,第二部分component則定義該部件構(gòu)建相關(guān)配置。添加的時(shí)候需要指明該部件包含的模塊sub_component,假如有提供給其它部件的接口,需要在inner_kits中說明,假如有測(cè)試用例,需要在test中說明,inner_kits與test沒有也可以不添加。
修改子系統(tǒng)配置文件。 在build/subsystem_config.json中添加新建的子系統(tǒng)的配置。
"sample": { "path": "applications/sample/hello", "name": "sample" },
修改產(chǎn)品配置文件。 在productdefine/common/products/Hi3516DV300.json中添加對(duì)應(yīng)的hello部件,直接添加到原有部件后即可。
說明: 本章節(jié)操作是以OpenHarmony-v3.1-Release版本為例進(jìn)行操作的,該版本中,Hi3516的配置文件為productdefine/common/products/Hi3516DV300.json;從OpenHarmony-v3.2-Beta2版本開始,Hi3516的配置文件為vendor/hisilicon/Hi3516DV300/config.json。
"usb:usb_manager_native":{}, "applications:prebuilt_hap":{}, "sample:hello":{}, "wpa_supplicant-2.9:wpa_supplicant-2.9":{},
編譯
DevEco Device Tool支持Hi3516DV300開發(fā)板的源碼一鍵編譯功能,提供編譯工具鏈和編譯環(huán)境依賴的檢測(cè)及一鍵安裝,簡化復(fù)雜編譯環(huán)境的同時(shí),提升了編譯的效率。
說明: Hi3516DV300編譯環(huán)境為Ubuntu環(huán)境。
在菜單欄中點(diǎn)擊 Project Settings ,進(jìn)入Hi3516DV300工程配置界面。
在Tool Chain頁簽中,DevEco Device Tool會(huì)自動(dòng)檢測(cè)依賴的編譯工具鏈?zhǔn)欠裢陚洹?/p>
- 如工具為“uninstalled”狀態(tài)(
),可單擊 Download Uninstalled Tools ,自動(dòng)安裝所需工具,或單擊工具后方的Download安裝指定工具。
- 如當(dāng)前識(shí)別到的工具類型有缺失,需要補(bǔ)充,可單擊Add Utility添加。
- 如工具無法通過Download方式安裝,表示該工具未被DevEco Device Tool收錄,需要開發(fā)者自行下載到本地后單擊Import導(dǎo)入。
- 如“OpenHarmony Environment Dependency”的狀態(tài)異常(
),請(qǐng)單擊Install安裝。
部分工具安裝需要使用root權(quán)限,請(qǐng)?jiān)?strong>TERMINAL窗口輸入用戶密碼進(jìn)行安裝。
安裝完成后,工具和環(huán)境依賴的狀態(tài)顯示為。
- 如工具為“uninstalled”狀態(tài)(
在hispark_taurus_standard配置頁簽中,設(shè)置源碼的編譯類型 build_type ,默認(rèn)為“debug”類型,請(qǐng)根據(jù)需要進(jìn)行修改。
在PROJECT TASKS中,點(diǎn)擊對(duì)應(yīng)開發(fā)板下的 Build ,執(zhí)行編譯。
等待編譯完成,在TERMINAL窗口輸出“SUCCESS”,編譯完成。
編譯完成后,可以在工程的out目錄下,查看編譯生成的文件,用于后續(xù)的燒錄操作。
燒錄
燒錄是指將編譯后的程序文件下載到芯片開發(fā)板上的動(dòng)作,為后續(xù)的程序調(diào)試提供基礎(chǔ)。DevEco Device Tool提供一鍵燒錄功能,操作簡單,能快捷、高效的完成程序燒錄,提升燒錄的效率。
Hi3516DV300的鏡像燒錄通過Windows環(huán)境進(jìn)行燒錄,開發(fā)者啟動(dòng)燒錄操作后,DevEco Device Tool通過Remote遠(yuǎn)程模式,將Ubuntu環(huán)境下編譯生成的待燒錄程序文件拷貝至Windows目錄下,然后通過Windows的燒錄工具將程序文件燒錄至開發(fā)板中。
Hi3516DV300開發(fā)板標(biāo)準(zhǔn)系統(tǒng)的燒錄方式包括USB燒錄、網(wǎng)口燒錄兩種方式,本文采用USB方式進(jìn)行燒錄。
前提條件
- 請(qǐng)安裝Hi3516DV300開發(fā)板串口驅(qū)動(dòng)程序,請(qǐng)參考[Hi3516DV300開發(fā)板串口驅(qū)動(dòng)安裝指導(dǎo)]
- 請(qǐng)安裝Hi3516DV300開發(fā)板USB驅(qū)動(dòng)程序,請(qǐng)參考[Hi3516DV300開發(fā)板USB驅(qū)動(dòng)安裝]
操作步驟
請(qǐng)連接好電腦和待燒錄開發(fā)板,需要連接USB口和串口,具體可參考[Hi3516開發(fā)板介紹]
在DevEco Device Tool中,選擇 REMOTE DEVELOPMENT > Local PC ,查看遠(yuǎn)程計(jì)算機(jī)(Ubuntu開發(fā)環(huán)境)與本地計(jì)算機(jī)(Windows開發(fā)環(huán)境)的連接狀態(tài)。
- 如果Local PC右邊連接按鈕為
,則遠(yuǎn)程計(jì)算機(jī)與本地計(jì)算機(jī)為已連接狀態(tài),不需要執(zhí)行其他操作。
- 如果Local PC右邊連接按鈕為
,則點(diǎn)擊綠色按鈕進(jìn)行連接。連接時(shí)DevEco Device Tool會(huì)重啟服務(wù),因此請(qǐng)不要在下載源碼或源碼編譯過程中進(jìn)行連接,否則會(huì)中斷任務(wù)。
- 如果Local PC右邊連接按鈕為
在菜單欄中點(diǎn)擊Project Settings按鈕,進(jìn)入Hi3516DV300工程配置界面。
在“Tool Chain”頁簽,檢查Uploader燒錄器工具是否已安裝。
- 如工具為“uninstalled”狀態(tài)(
),可單擊 Download Uninstalled Tools ,自動(dòng)安裝所需工具,或單擊工具后方的Download安裝指定工具。
- 如工具無法通過Download方式安裝,表示該工具未被DevEco Device Tool收錄,需要開發(fā)者自行下載到本地后單擊Import導(dǎo)入。
- 如工具為“uninstalled”狀態(tài)(
在“hispark_taurus_standard”頁簽,設(shè)置燒錄選項(xiàng),包括upload_partitions_profile、upload_port和upload_protocol。配置完成后工程將自動(dòng)保存。
- upload_partitions_profile:選擇待燒錄程序的配置文件(已預(yù)置默認(rèn)的配置文件),該配置文件會(huì)指定燒錄文件名稱、起始燒錄地址、地址長度等信息;同時(shí)請(qǐng)勾選Enable to use upload_partitions_profile for upload選項(xiàng)。
說明:
如需修改燒錄profile文件,在設(shè)置燒錄分區(qū)起始地址和分區(qū)長度時(shí),應(yīng)根據(jù)實(shí)際待燒錄文件的大小進(jìn)行設(shè)置,要求設(shè)置的燒錄分區(qū)大小,要大于待燒錄文件的大小;同時(shí),各燒錄文件的分區(qū)地址設(shè)置不能出現(xiàn)重疊。
首次燒錄,請(qǐng)勾選Enable to use upload_partitions_profile for upload選項(xiàng),會(huì)自動(dòng)生成upload_partitions文件。再次燒錄時(shí),可根據(jù)實(shí)際情況選擇生成upload_partitions文件進(jìn)行自定義燒錄,也可以再勾選Enable to use upload_partitions_profile for upload選項(xiàng),使用upload_partitions_profile重新生成upload_partitions文件用于燒錄。
- upload_protocol:選擇燒錄協(xié)議,固定選擇“hiburn-usb”。
- upload_port:選擇已查詢到的串口號(hào)。
- upload_partitions_profile:選擇待燒錄程序的配置文件(已預(yù)置默認(rèn)的配置文件),該配置文件會(huì)指定燒錄文件名稱、起始燒錄地址、地址長度等信息;同時(shí)請(qǐng)勾選Enable to use upload_partitions_profile for upload選項(xiàng)。
單擊hispark_taurus_standard下的Upload按鈕。
此時(shí)待燒錄文件會(huì)從Ubuntu系統(tǒng)傳輸?shù)絎indows下,傳輸完成后界面顯示“Operation paused, Please press Enter key to continue”時(shí),請(qǐng)點(diǎn)擊Enter鍵啟動(dòng)燒錄。在終端窗口顯示如下提示信息時(shí),請(qǐng)?jiān)?5秒內(nèi),按住Update鍵,插拔USB線,最后松開Update鍵啟動(dòng)燒錄。
啟動(dòng)燒錄后,界面提示SUCCESS信息時(shí),表示燒錄成功。燒錄成功后,請(qǐng)根據(jù)運(yùn)行章節(jié)進(jìn)行操作,啟動(dòng)系統(tǒng)。
運(yùn)行
HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
啟動(dòng)系統(tǒng)
燒錄完成后通過以下步驟啟動(dòng)系統(tǒng):
說明: 初次燒寫標(biāo)準(zhǔn)系統(tǒng),需要完成以下配置,后續(xù)燒寫或者啟動(dòng),可以跳過以下操作。
在DevEco Device Tool中,點(diǎn)擊Monitor,打開串口工具。
重啟開發(fā)板,在倒計(jì)時(shí)結(jié)束前,按任意鍵進(jìn)入系統(tǒng)。
通過以下兩條命令設(shè)置啟動(dòng)參數(shù)。
setenv bootargs 'mem=640M console=ttyAMA0,115200 mmz=anonymous,0,0xA8000000,384M clk_ignore_unused rootdelay=10 hardware=Hi3516DV300 init=/init root=/dev/ram0 rw blkdevparts=mmcblk0:1M(boot),15M(kernel),20M(updater),2M(misc),3307M(system),256M(vendor),-(userdata)';
setenv bootcmd 'mmc read 0x0 0x82000000 0x800 0x4800; bootm 0x82000000'
保存參數(shù)設(shè)置。
save
重啟開發(fā)板,完成系統(tǒng)啟動(dòng)。
reset
運(yùn)行“Hello World”
設(shè)備啟動(dòng)后打開串口工具,在任意目錄下輸入命令helloworld后回車,界面打印“Hello World!”,程序運(yùn)行成功。
審核編輯 黃宇
-
IDE
+關(guān)注
關(guān)注
0文章
346瀏覽量
47389 -
Hi3516
+關(guān)注
關(guān)注
1文章
22瀏覽量
16067 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2474瀏覽量
43681 -
OpenHarmony
+關(guān)注
關(guān)注
26文章
3806瀏覽量
17956
發(fā)布評(píng)論請(qǐng)先 登錄
鴻蒙OpenHarmony【基于Hi3516DV300開發(fā)板(時(shí)鐘應(yīng)用開發(fā))】

鴻蒙OpenHarmony南向:【Hi3516標(biāo)準(zhǔn)系統(tǒng)入門(命令行方式)】

OpenHarmony2.0 一站式編譯燒錄Hi3516(3518))小型系統(tǒng)
OpenHarmony2.0 一站式編譯燒錄Hi3516標(biāo)準(zhǔn)系統(tǒng)
OpenHarmony2.0 Hi3516系列資料下載合集(源碼編譯+燒錄)
OpenHarmony 3.1 Release資料下載合集【系統(tǒng)開發(fā)+版本體驗(yàn)】
OpenHarmony標(biāo)準(zhǔn)系統(tǒng)編譯如何單獨(dú)編譯某個(gè)組件?
如何解決Hi3516標(biāo)準(zhǔn)系統(tǒng)只讀的問題?
OpenHarmony2.0編譯燒錄Hi3516標(biāo)準(zhǔn)系統(tǒng)的過程分享
OpenHarmony3.0上編譯C控制Hi3516開發(fā)板的LED閃爍

基于Hi3516開發(fā)板的智能貓眼設(shè)計(jì)
OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于3516開發(fā)板)】

鴻蒙OpenHarmony【小型系統(tǒng)運(yùn)行案例】 (基于Hi3516開發(fā)板)

鴻蒙OpenHarmony南向:【Hi3516開發(fā)板介紹】

評(píng)論