chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何實現(xiàn)鴻蒙系統(tǒng)編譯、燒錄不跨平臺的?

電子工程師 ? 來源:HarmonyOS社區(qū) ? 作者:HarmonyOS社區(qū) ? 2020-11-11 09:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

拿到鴻蒙開發(fā)板 AI Camera 已經(jīng)一個星期了,期間查找了眾多的資料教程來學習,無奈各位老師們的講解起點很高,各自的環(huán)境又不盡相同,經(jīng)驗碎片化很嚴重;各種工具和設置之間的切換也容易讓人摸不著頭腦,非常不利于我們這種剛剛接觸鴻蒙的小小白們?nèi)腴T。鑒于此我把目前的一點點操作流程初步總結一下,希望當作自己的記錄也能為別人提供一些幫助。

本文將盡量簡潔明了通俗易懂來描述各個環(huán)節(jié)的操作,包括以下四大步驟:


一、開天辟地:安裝一個只有 Linux操作系統(tǒng)實現(xiàn)全部工作,而不是在 Windows+各種虛擬機下完成,既提高運行效率又減少很多額外的操作,即使只有 4G 小內(nèi)存的機器也不怕了;


二、編譯環(huán)境:編譯工具就那么幾種,下載解壓配置一下環(huán)境變量就可以使用,固定的操作模式就能編譯出用于燒寫的鏡像文件;


三、開發(fā)環(huán)境:光燒寫沒有用,還得能把自己的文件添加進去,這步來說明怎樣最簡單的生成自己的可執(zhí)行文件;


四、燒寫文件:鴻蒙目前的弱點,Windows 下不能編譯,Linux 下又沒有燒寫工具。雖然 vscode有個 DevEcoDevice 插件,但是網(wǎng)絡不好我始終也安裝不完全,沒法用。所以只好自己動手,Linux 下敲命令來燒寫吧。

下面和我一來起操作,簡單低級的東西可以直接略過。

一、開天辟地:


1.拆機裝硬盤;

完全拋棄 Windows,因為前期已經(jīng)折騰的不像樣了,Windows 本身+Linux 虛擬機+vscode+瀏覽器+一個內(nèi)存盤,筆記本 8G 的內(nèi)存用起來提心吊膽,所以干脆只用 Linux,有強迫癥的我連硬盤都不希望和 Windows 共用一個。

翻出來一個很老的機械硬盤,跑 Linux 一樣飛快。拆機僅供參考,拆壞了可別找我。


2.安裝 Lubuntu18.04.5;

不像 Ubuntu 那樣臃腫,Lubuntu 可算是在各個發(fā)行版中比較精簡的,ARM 上都能流暢操作更別說x86 的了。最新版 Lubuntu20.04 是一個重大的更新版,但用起來不習慣了,最后還是退一步選擇了
Lubuntu18.04.5。

http://cdimage.ubuntu.com/lubuntu/releases/,各種版本自己挑吧,別太老就行。

二、編譯環(huán)境:

由于系統(tǒng)默認的是 dash 而不是 bash,所以首先把它改掉。

dpkg-reconfigure dash
rm -RF/bin/sh
ln -s /bin/bash /bin/sh

1.鴻蒙編譯環(huán)境:


1) 安裝:

apt-get install dosfstools mtools zip libffi-dev python3-setuptools python3-pip -y

Lubunt18.04 是 python3.6,已驗證可用。真要是碰到不行的時候想辦法裝 3.8 以上版本吧。

2)下載:

https://repo.huaweicloud.com/HarmonyOS/compiler/gn/1523/linux/gn.1523.tar
https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar

https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar

https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar
https://files.pythonhosted.org/packages/8a/f1/d98a89231e779b079b977590efcc31249d959c8f1d4b5858cad69695ff9c/kconfiglib-14.1.0-py2.py3-none-any.whl

也可以用瀏覽器下載,保存到哪里都可以。

3)解壓:

tar xvf gn.1523.tar
tar xvf ninja.1.9.0.tar

tar xvf hc-gen-0.65-linux.tar
tar xvf llvm-linux-9.0.0-34042.tar
pip3install kconfiglib-14.1.0-py2.py3-none-any.whl

我把鴻蒙所有相關的東西放到了一個單獨的分區(qū)里,工具也都扔在那里。

4) 配置:

找到用戶目錄下的.bashrc 文件,把這些東西添加進去。我用的是 root 登錄的,那么就在/root下找,其他用戶在 /home/登錄名 中。

export PATH=/HarmonyOS/Env/gn:$PATH
export PATH=/HarmonyOS/Env/ninja:$PATH
export PATH=/HarmonyOS/Env/hc-gen:$PATH
export PATH=/HarmonyOS/Env/llvm/bin:$PATH

告訴當前用戶這些工具從哪里能找到。保存后重啟一下,或者 source ~/.bashrc 來生效。

5)鴻蒙代碼:

https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz

tar xzvf code-1.0.tar.gz

其中/HarmonyOS 是鴻蒙分區(qū),可以隨意更改。Env 就是上面解壓的那些工具,OHOS 是源代碼解壓改名的目錄,編譯要從這里開始。先不要急著編譯,還要做一下小小的改動,否則需要重新編譯。

2.改造編譯命令:

用文本工具打開/HarmonyOS/OHOS/build/lite/gen_rootfs.py 文件,

搜索 if os.path.exists(rootfs):語句,然后注釋掉三行,編譯后就不會自動刪除 rootfs 目錄了。

3.編譯內(nèi)核:

python build.py ipcamera_hi3516dv300 -bdebug

編譯出的文件保存在 out 目錄下, 其中 OHOS_Image.bin、 rootfs.img、 userfs.img 用于燒寫,rootfs 目錄保存自己編譯后可執(zhí)行文件并可以單獨生成 rootfs.img 文件, 不用全部重新編譯。默認情況下,編譯后會將 rootfs 目錄刪除。雖然保留了 rootfs.tar 文件,但是每次還得解壓再使用,麻煩。rootfs 的詳細用法稍后說明。

三、開發(fā)環(huán)境:

1.Linux 下的 IDE:

Linux 下開發(fā) C 語言的 IDE 有很多,不過我感覺最好用的還是 vscode,小巧靈活,眾多的插件也能實現(xiàn)復雜的功能。其實嚴格來說,vscode 不是一個 IDE,只能算是一個 DE。但是這是一個非常出色的 DE,可以看成是一個工具的集合,把本不該它做的事也都做了。

不夸了,趕緊安裝。官網(wǎng)上已經(jīng)提供了編譯好的 Linux 版本,直接選擇對應的操作系統(tǒng)下載。

https://code.visualstudio.com/Download
dpkg -i code_1.49.3-1601661857_amd64.deb

2.編寫代碼:

隨便找個目錄存放自己的代碼,目錄文件的內(nèi)容包括代碼的各個.c、.h,編譯用的 make.sh 文件,和生成燒寫鏡像的 rootfs.sh 文件。程序的內(nèi)容就不多說了,想寫什么就寫什么,要保證頭文件引用對了。使用 IDE 開發(fā)的好處就是支持代碼跳轉,在 vscode 中配置好頭文件所在的路徑,按住 ctrl,然后鼠標點擊頭文件名即可打開對應的文件,便于查看,點擊函數(shù)名或變量等也可以,這樣在開發(fā)過程中就能驗證引用路徑是否正確,不必等待編譯的時候再看報錯信息。

3.單一程序的編譯:

make.sh 和 rootfs.sh 在使用之前請先編輯一下,把 ROOT 變量改為自己的正確的路徑。

make.sh:編譯出可執(zhí)行文件,并拷貝到 rootfs/bin 目錄下。

ROOT=/HarmonyOS/OHOS
clang -target arm-liteos

--sysroot=$ROOT/prebuilts/lite/sysroot/
-o Test *.c
cp Test $ROOT/out/ipcamera_hi3516dv300/rootfs/bin/

rootfs.sh:直接生成 rootfs.img 文件,不用再去全部重新編譯。
ROOT=/HarmonyOS/OHOS
rm $ROOT/out/ipcamera_hi3516dv300/rootfs.img
$ROOT/kernel/liteos_a/tools/scripts/make_rootfs/rootfsimg.sh
$ROOT/out/ipcamera_hi3516dv300/rootfs vfat

可執(zhí)行文件的名字是在 make.sh 里指定的,叫 Test,也可以改為其他名字,拷貝到 rootfs/bin里的就是這個 Test。

四、燒錄并運行:

1.生成燒錄鏡像文件:

./make.sh
./rootfs.sh

運行完之后會先把之前的 rootfs.img 刪除,再重新生成一個。如果不放心可以把原來的文件改名備份一下,再等著新文件的產(chǎn)生。

2.安裝燒錄用到的工具:

1) PL2303

AI Camera 開發(fā)板上有個 TTL 的調試串口,并且附送了一條 PL2303 的串口線。Lubuntu自帶 PL2303 的驅動,插上后從設備中可以找到這個串口,ttyUSB0。

不一定都叫這個名字,根據(jù)實際情況而定。

2) aptminicom

Windows 下有許多串口調試工具,Linux 下也有,比較常用的是 minicom。安裝之后要先指定一下使用哪個串口。

minicom -s,然后選擇 A,把默認的串口號改為/dev/ttyUSB0,按回車返回,再選擇保存。

重新運行 minicom,給開發(fā)板上電,可以看到 uboot 的啟動信息,串口通訊成功。

3) apt tftpd-hpa

修改/etc/default/tftpd-hpa 文件中的 TFTP_DIRECTORY 為鏡像文件所在的路徑和目錄。

修改配置文件之后保存,重新運行 tftpd,service tftpd-hpa restart。

3.燒錄并運行程序:

燒寫之前,uboot 的環(huán)境變量要先設置一下,最主要的是本機 MAC 地址、本機 IP、ServerIP、bootargs 和 bootcmd 等,可以使用 printenv 來顯示,修改后用 save 保存,reset 生效。

請參照上圖設置,偷懶不寫出來了。

Windows 下有海思專用的燒寫工具,看著功能很復雜,其實萬變不離其中,歸根結底就是幾條命令:
mw.b 0x81000000 0xFF 0x4f0000
tftp 0x81000000 OHOS_Image.bin
mmc write 0x0 0x81000000 0x800 0x2780

mw.b 0x81000000 0xFF 0xe05c00
tftp 0x81000000 rootfs.img
mmc write 0x0 0x81000000 0x5000 0x702e

mw.b 0x81000000 0xFF 0x3200000
tftp 0x81000000 userfs.img
mmc write 0x0 0x81000000 0xc800 0x19000

reset

分別燒寫了三個文件, kernel、 rootfs、 userfs。燒寫的過程就是先通過 tftp 下載文件到內(nèi)存中,再保存到 mmc 里。這樣可以直接脫離工具使用命令來完成。三個文件都成功后需要重啟才能運行。運行后還會停在 uboot 里,手動執(zhí)行 go 0x80000000 來進入系統(tǒng)。因為這個 go我沒有讓它直接運行, 為了方便燒寫。要自動運行的話, 把 go 0x80000000 加在環(huán)境變量的 bootargs里即可開機自動進系統(tǒng)。

這是其中一個文件下載的樣子,如果沒有保存直接 go 了是不會執(zhí)行新系統(tǒng)的。

另外多說一句,千萬不要用串口直接燒寫程序,會慢到你懷疑人生。不要問我怎么知道的,因為我懷疑過了。

燒寫完畢進入系統(tǒng),趕緊來找一下自己的程序,在/bin 下。

運行./bin/Test,大功告成。

最后打印一下系統(tǒng)的信息,留個紀念吧。

責任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編譯
    +關注

    關注

    0

    文章

    692

    瀏覽量

    35038
  • 燒錄
    +關注

    關注

    8

    文章

    309

    瀏覽量

    37036
  • 鴻蒙系統(tǒng)

    關注

    183

    文章

    2642

    瀏覽量

    69635

原文標題:我是如何實現(xiàn)鴻蒙系統(tǒng)編譯、燒錄不跨平臺的?

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    揭秘!三步讓Debian系統(tǒng)編譯速度起飛,告別重復下載資源的煩惱

    在 Debian 系統(tǒng)編譯的過程中,重復構建系統(tǒng)和動態(tài)下載相關資源往往會消耗大量時間,拖慢開發(fā)和部署進度。今天,我們就通過分析一組代碼修改,來探索如何優(yōu)化 Debian 系統(tǒng)編譯實現(xiàn)
    的頭像 發(fā)表于 02-01 16:43 ?1318次閱讀

    開源鴻蒙開發(fā)者的界成長之路

    在開源鴻蒙的開發(fā)者里,有一群“界先鋒”,他們帶著不同行業(yè)的積淀,在這片創(chuàng)新土壤上書寫著獨特的技術故事。張宇昕,浙江眾合科技的鴻蒙系統(tǒng)服務開發(fā)工程師,就是其中之一。從守護資金安全的銀行
    的頭像 發(fā)表于 01-23 09:13 ?574次閱讀

    開源鴻蒙技術大會2025丨平臺開發(fā)框架分論壇:共拓移動開發(fā)新邊界,共創(chuàng)平臺生態(tài)新時代

    隨著開源鴻蒙生態(tài)的持續(xù)壯大,開發(fā)者迎來了除Android與iOS之外的“第三種選擇”。為解決“加入一個新生態(tài)就會增加一倍投入”的行業(yè)痛點,讓開發(fā)者的代碼能夠在更多平臺上復用,開源鴻蒙
    的頭像 發(fā)表于 11-20 17:31 ?870次閱讀
    開源<b class='flag-5'>鴻蒙</b>技術大會2025丨<b class='flag-5'>跨</b><b class='flag-5'>平臺</b>開發(fā)框架分論壇:共拓移動開發(fā)新邊界,共創(chuàng)<b class='flag-5'>跨</b><b class='flag-5'>平臺</b>生態(tài)新時代

    開源鴻蒙技術大會2025丨編譯器與編程語言分論壇:語言驅動系統(tǒng)創(chuàng)新,編譯賦能生態(tài)繁榮

    在萬物智聯(lián)的時代背景下,操作系統(tǒng)底層能力的構建離不開編程語言與編譯器的關鍵支撐。作為開源鴻蒙生態(tài)的核心技術,語言設計與編譯器、虛擬機實現(xiàn)的進
    的頭像 發(fā)表于 11-20 17:24 ?786次閱讀
    開源<b class='flag-5'>鴻蒙</b>技術大會2025丨<b class='flag-5'>編譯</b>器與編程語言分論壇:語言驅動<b class='flag-5'>系統(tǒng)</b>創(chuàng)新,<b class='flag-5'>編譯</b>賦能生態(tài)繁榮

    開源鴻蒙技術大會2025丨開源鴻蒙應用開發(fā)再提速,平臺框架PMC(籌)正式啟動孵化

    9月27日,開源鴻蒙技術大會2025在長沙國際會議中心盛大舉辦。大會現(xiàn)場,開源鴻蒙平臺框架PMC(籌)正式啟動孵化,標志著開源鴻蒙在應用開
    的頭像 發(fā)表于 11-10 18:15 ?1311次閱讀
    開源<b class='flag-5'>鴻蒙</b>技術大會2025丨開源<b class='flag-5'>鴻蒙</b>應用開發(fā)再提速,<b class='flag-5'>跨</b><b class='flag-5'>平臺</b>框架PMC(籌)正式啟動孵化

    全新升級MokuOS 4.0,簡化設備平臺協(xié)同交互

    LiquidInstruments推出全新用戶操控系統(tǒng)MokuOS4.0,通過一套統(tǒng)一化的操控系統(tǒng)將Moku全系列產(chǎn)品的圖形化操作軟件、固件和API整合到同一操控平臺,實現(xiàn)Window
    的頭像 發(fā)表于 09-23 10:01 ?678次閱讀
    全新升級MokuOS 4.0,簡化<b class='flag-5'>跨</b>設備<b class='flag-5'>平臺</b>協(xié)同交互

    ArkUI-X平臺技術落地-華為運動健康(二)

    代碼依賴了鴻蒙Next系統(tǒng)的原生能力,我們將該原生能力包稱為A包;與此同時,我們開發(fā)平臺場景包,為了描述方便,我們將這個包命名為B包,B包的接口形式與數(shù)據(jù)結構跟A包保持一致,但是B包
    發(fā)表于 06-18 23:04

    ArkUI-X平臺技術落地-華為運動健康(一)

    NEXT系統(tǒng)上運動健康的架構設計如下: 1.新建獨立平臺的Entry模塊,該平臺Entry模塊用于
    發(fā)表于 06-18 22:53

    ArkUI-X平臺應用改造指南

    ArkUI-X平臺應用改造指南 現(xiàn)狀與訴求 隨著 HarmonyOS Next 5.0 版本正式發(fā)布,眾多開發(fā)者基于 ArkTS 語言為 HarmonyOS Next 系統(tǒng)開發(fā)了大量應用,這極大
    發(fā)表于 06-16 23:05

    鴻蒙5開發(fā)寶藏案例分享---線程性能優(yōu)化指南

    發(fā)現(xiàn)鴻蒙寶藏:線程序列化性能優(yōu)化實戰(zhàn)指南 大家好呀!今天在翻鴻蒙文檔時挖到一個超級實用的工具—— DevEco Profiler的序列化檢測功能 !平時用<span class
    發(fā)表于 06-12 17:13

    ArkUI-x平臺Bridge最佳實踐

    代碼中?到了?持平臺的API,此時?想平臺可以利?此機制將不?持
    發(fā)表于 06-10 23:06

    Kuikly鴻蒙版正式開源 —— 揭秘卓越性能適配之旅

    編譯鴻蒙上可高效運行的Native產(chǎn)物,探索Kotlin JS和Kotlin Native在鴻蒙平臺上的適配落地及其性能優(yōu)化;打通端層和
    發(fā)表于 06-04 16:46

    ArkUI-X平臺框架接入指南

    和Save location,點擊Finish,等待模版工程創(chuàng)建完成。 編譯構建生成平臺應用 DevEco Studio可打包生成不同平臺的應用包。 在主菜單欄,單擊Build &g
    發(fā)表于 05-18 18:21

    開源鴻蒙開發(fā)新體驗,開鴻Bot系列今日開啟預售!

    操作系統(tǒng),實現(xiàn)從國產(chǎn)高性能芯片到操作系統(tǒng)的全棧自主化,構建起一站式的開源鴻蒙學習與開發(fā)平臺。 融合開發(fā)與辦公場景,打造開源
    發(fā)表于 05-16 14:13

    【貝啟科技BQ3568HM開源鴻蒙開發(fā)板深度試用報告】系統(tǒng)鏡像編譯燒錄

    于進行圖形界面應用的開發(fā)。貝啟科技BQ3568HM開源鴻蒙開發(fā)板配備了顯示屏,可以開發(fā)GUI應用。 一、系統(tǒng)鏡像編譯 參考 BQ3568_代碼下載-開源鴻蒙技術交流-Bearkey-開
    發(fā)表于 03-16 10:53