女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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

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

3天內不再提示

如何實現鴻蒙系統編譯、燒錄不跨平臺的?

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

掃碼添加小助手

加入工程師交流群

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

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


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


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


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


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

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

一、開天辟地:


1.拆機裝硬盤;

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

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


2.安裝 Lubuntu18.04.5;

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

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

二、編譯環境:

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

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

1.鴻蒙編譯環境:


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

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

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 是鴻蒙分區,可以隨意更改。Env 就是上面解壓的那些工具,OHOS 是源代碼解壓改名的目錄,編譯要從這里開始。先不要急著編譯,還要做一下小小的改動,否則需要重新編譯。

2.改造編譯命令:

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

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

3.編譯內核:

python build.py ipcamera_hi3516dv300 -bdebug

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

三、開發環境:

1.Linux 下的 IDE:

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

不夸了,趕緊安裝。官網上已經提供了編譯好的 Linux 版本,直接選擇對應的操作系統下載。

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

2.編寫代碼:

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

3.單一程序的編譯:

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

make.sh:編譯出可執行文件,并拷貝到 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

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

四、燒錄并運行:

1.生成燒錄鏡像文件:

./make.sh
./rootfs.sh

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

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

1) PL2303

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

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

2) aptminicom

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

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

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

3) apt tftpd-hpa

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

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

3.燒錄并運行程序:

燒寫之前,uboot 的環境變量要先設置一下,最主要的是本機 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 下載文件到內存中,再保存到 mmc 里。這樣可以直接脫離工具使用命令來完成。三個文件都成功后需要重啟才能運行。運行后還會停在 uboot 里,手動執行 go 0x80000000 來進入系統。因為這個 go我沒有讓它直接運行, 為了方便燒寫。要自動運行的話, 把 go 0x80000000 加在環境變量的 bootargs里即可開機自動進系統。

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

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

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

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

最后打印一下系統的信息,留個紀念吧。

責任編輯:lq

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

    關注

    0

    文章

    676

    瀏覽量

    33871
  • 燒錄
    +關注

    關注

    8

    文章

    285

    瀏覽量

    36258
  • 鴻蒙系統
    +關注

    關注

    183

    文章

    2642

    瀏覽量

    67909

原文標題:我是如何實現鴻蒙系統編譯、燒錄不跨平臺的?

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

    ArkUI-X平臺應用改造指南

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

    鴻蒙5開發寶藏案例分享---線程性能優化指南

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

    ArkUI-x平臺Bridge最佳實踐

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

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

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

    ArkUI-X平臺框架接入指南

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

    【貝啟科技BQ3568HM開源鴻蒙開發板深度試用報告】系統鏡像編譯燒錄

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

    迅為RK3588開發板實時系統編譯-Preemption系統/ Xenomai系統編譯-編譯Linux實時系統

    這里以 buildroot 系統為例(其他 Linux 系統編譯步驟同)。 Buildroot 是一款集成的編譯集合包,解決了以前交叉編譯麻煩的問題,本小節將介紹buildroot 鏡
    發表于 01-21 14:15

    AIGC入門及鴻蒙入門

    模型,能夠生成與給定文本描述相符的圖像。 鴻蒙系統入門 1. 基礎知識: 鴻蒙系統(HarmonyOS)是華為推出的一款分布式操作系統,旨
    發表于 01-13 10:32

    迅為RK3588開發板實時系統編譯-Preemption系統/ Xenomai系統編譯-獲取Linux源碼包

    3.1 Preemption 系統/ Xenomai 系統編譯 3.1.1 獲取 Linux 源碼包 編譯環境說明: 本手冊使用的是迅為提供的編譯環境 ubuntu20.04,在網盤資
    發表于 01-09 11:03

    OpenHarmony源碼編譯燒錄鏡像教程,RK3566鴻蒙開發板演示

    本文介紹瑞芯微主板/開發板編譯OpenHarmony源碼后燒錄鏡像的教程,觸覺智能Purple Pi OH鴻蒙開發板演示。搭載了瑞芯微RK3566四核處理器,樹莓派卡片電腦設計,支持開源鴻蒙
    的頭像 發表于 12-30 10:08 ?745次閱讀
    OpenHarmony源碼<b class='flag-5'>編譯</b>后<b class='flag-5'>燒錄</b>鏡像教程,RK3566<b class='flag-5'>鴻蒙</b>開發板演示

    鴻蒙端實踐-JS虛擬機架構實現

    在Roma端方案中,JS虛擬機是框架的核心,負責執行動態化的JS代碼。在Android平臺采用了基于V8的J2V8,iOS平臺則使用了系統自帶的JSCore,而在HarmonyOS中
    的頭像 發表于 09-30 14:42 ?2938次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>跨</b>端實踐-JS虛擬機架構<b class='flag-5'>實現</b>

    【北京迅為】iTOP-i.MX6開發板使用手冊第四部分固件編譯第十四章非設備樹Android4.4系統編譯

    【北京迅為】iTOP-i.MX6開發板使用手冊第四部分固件編譯第十四章非設備樹Android4.4系統編譯
    的頭像 發表于 09-12 15:43 ?883次閱讀
    【北京迅為】iTOP-i.MX6開發板使用手冊第四部分固件<b class='flag-5'>編譯</b>第十四章非設備樹Android4.4<b class='flag-5'>系統編譯</b>

    人工智能編譯器與傳統編譯器的區別

    人工智能編譯器(AI編譯器)與傳統編譯器在多個方面存在顯著的差異。這些差異主要體現在設計目標、功能特性、優化策略、適用范圍以及技術復雜性等方面。以下是對兩者區別的詳細探討,旨在全面解析其內在差異。
    的頭像 發表于 07-17 18:19 ?2854次閱讀
    主站蜘蛛池模板: 陈巴尔虎旗| 蒙城县| 渭源县| 朝阳县| 乌兰浩特市| 屏东市| 岑溪市| 肥东县| 元朗区| 乐安县| 沧州市| 唐河县| 南投市| 衢州市| 长寿区| 平谷区| 武平县| 盐源县| 高尔夫| 仪征市| 信宜市| 阿勒泰市| 云安县| 青海省| 交口县| 株洲县| 丹巴县| 敦煌市| 军事| 新平| 鹤岗市| 新建县| 达拉特旗| 泰宁县| 宜丰县| 社旗县| 浏阳市| 安阳市| 广饶县| 高密市| 依安县|