色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

OpenHarmony開發學習:【源碼下載和編譯】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-14 09:36 ? 次閱讀

本文介紹了如何下載鴻蒙系統源碼,如何一次性配置可以編譯三個目標平臺(Hi3516Hi3518Hi3861)的編譯環境,以及如何將源碼編譯為三個目標平臺的二進制文件。

坑點總結

  1. 下載源碼基本上沒有太多坑,可以很順利的進行
  2. 編譯源碼主要的一個大坑是,默認版本的scons依賴python 3.7+,鴻蒙基礎編譯代碼依賴python3,需要安裝python 3.7+,并和當前系統上的python2.7/python3.6和諧共處!解決方法一般有兩種:
    • 使用virtualenv管理多個版本的python環境,這種方式好處是只在當前shell會話生效不影響系統環境、其他用戶和其他shell會話,缺點是使用前需要source active腳本稍微有點麻煩;
    • 使用update-alternatives管理系統的多個版本python命令,這種方式需要切換系統的鏈接/usr/bin/python/usr/bin/python3,可能會影響依賴python的應用程序(例如apt)的正常使用、其他用戶和其他shell會話;

準備環境

本節介紹下載、編譯和燒寫鴻蒙系統所需的軟硬件環境。
開發前HarmonyOS文檔參考:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

硬件環境

開發環境

其中,Linux主機用于源碼下載和編譯,Windows主機用于燒寫程序到單板以及源碼編輯。

軟件環境

硬件說明
Linux主機推薦實際物理機器,Ubuntu16.04及以上64位系統,Shell使用bash,使用虛擬機也可以,如何安裝這里不做詳細介紹。
Windows主機Windows XP/Windows7/Windows10 系統
遠程終端推薦MobaXterm(PuTTY、SecureCRT等其他遠程終端也可以),用于在Windows主機上登錄Linux主機,進行源碼下載、編譯等工作
USB轉串口芯片驅動頁面,USB-to-Serial Comm Port.exe 文件(AI Camera和DIY IPC套件附贈的USB串口線中集成了PL2302芯片,需要安裝此驅動才能識別)。WiFi IoT主控芯片上集成的是CH340G芯片,可以選擇聯網自動安裝驅動程序。

本文所有操作均基于Ubuntu 18.04進行,其他發行版和Ubuntu版本上的命令操作可能不完全一致,但說明的原理可以互通。

下載源碼

搜狗高速瀏覽器截圖20240326151344.png

HarmonyOS&OpenHarmony文檔學習mau123789添加拿取紫料

本節介紹如何在Linux主機上下載鴻蒙源碼,所有命令均通過遠程終端在Linux主機上執行。

這里使用的是“從代碼倉庫獲取”的方式,這種方式方便后續更新代碼;你也可以從官網下載源碼壓縮包(這里不再介紹)。

配置 repo 工具

如果你的Linux系統上還沒有配置repo命令,需要先下載并配置repo命令行工具:

mkdir ~/bin/
# sudo apt install curl # 如果沒有curl命令需要先下載
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo
chmod +x ~/bin/repo
echo 'export PATH=~/bin:$PATH'  > > ~/.bashrc
source ~/.bashrc

下載Harmony OS源碼

mkdir -p ~/harmonyos/openharmony && cd ~/harmonyos/openharmony
sudo apt install --no-install-recommends git python # repo工具本身是python腳本,它會調用git命令下載單個代碼倉
# 開始前需要配置`user.name`和`user.email`,如果沒有配置,使用如下命令進行配置:
# git config --global user.name "yourname"
# git config --global user.email "your-email-address"
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c  # 以后每天同步遠程倉的修改,只需要執行這一條命令即可

配置環境

本節介紹如何在Linux主機上配置鴻蒙源碼的編譯構建環境,所有命令均通過遠程終端在Linux主機上執行。

安裝文件系統打包工具

  1. 運行"mkfs.vfat",如果未找到該命令,需要安裝
  2. 運行"mcopy ",如果未找到該命令,需要安裝
sudo apt-get install dosfstools mtools  # 官方文檔說明的兩個文件系統打包工具
sudo apt-get install zip       # 官方文檔雖然沒有寫,但是打包rootfs過程中需要使用
sudo apt install mtd-utils     # 3518需要打包 jffs2 鏡像的mkfs.jffs2 命令,需要安裝這個包
sudo apt install build-essential # 安裝gcc/g++/make等工具,ffmpeg的測試過程中需要使用鏈接器ld,需要這個包

下載、配置編譯工具鏈

使用如下命令,分別下載 gn、ninja、LLVM、hc-gen包,根據官方文檔修改,一步到位,不用反復復制粘貼!

# 下載gn/ninja/LLVM/hc-gen包
URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compiler
DOWNLOAD_DIR=~/Downloads                # 下載目錄,可自行修改
TOOLCHAIN_DIR=~/harmonyos/toolchain     # 工具鏈存放目錄,可自行修改

[ -e $DOWNLOAD_DIR ] || mkdir $DOWNLOAD_DIR
[ -e $TOOLCHAIN_DIR ] || mkdir -p $TOOLCHAIN_DIR

wget -P $DOWNLOAD_DIR $URL_PREFIX/gn/1523/linux/gn.1523.tar
wget -P $DOWNLOAD_DIR $URL_PREFIX/ninja/1.9.0/linux/ninja.1.9.0.tar
wget -P $DOWNLOAD_DIR $URL_PREFIX/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar
wget -P $DOWNLOAD_DIR $URL_PREFIX/hc-gen/0.65/linux/hc-gen-0.65-linux.tar

# 編譯 hi3861 需要 riscv 編譯工具鏈
wget -P $DOWNLOAD_DIR $URL_PREFIX/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz

# 解壓gn/ninja/LLVM/hc-gen包:
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/gn.1523.tar
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/ninja.1.9.0.tar
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/llvm-linux-9.0.0-34042.tar
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/hc-gen-0.65-linux.tar
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/gcc_riscv32-linux-7.3.0.tar.gz

# 向 ~/.bashrc 中追加gn/ninja/LLVM/hc-gen路徑配置:
cat <

安裝python3.8和pip包管理器

  • 安裝python3.8和pip(編譯鴻蒙源碼hi3861目標平臺需要使用scons,默認安裝的scons版本需要python版本>=3.7):
    • sudo apt-get install --no-install-recommends python3.8 python3-pip
  • 將默認python切換為3.8(因為18.04 上默認Python3版本是 3.6),通常有兩種方式切換:
    • 使用virtualenv管理,單獨source相應的active腳本切換當前shell會話的默認python版本(推薦,下面均已這種方式進行操作);
    • 使用 update-alternatives管理,并切換全局Python腳本配置(不推薦,用完需要切換回去,否則會影響apt等依賴python3的軟件包使用);
  • 配置pip包下載源,加速國內安裝pip包:
    mkdir ~/.pip/
    cat <
    

準備virtualenv

# 安裝virtualenv
pip3 install virtualenv

# 創建使用python3.8為默認python解釋器的virtualenv
mkdir ~/harmonyos/venv && virtualenv -p python3.8 ~/harmonyos/venv

# 激活 virtualenv,激活后的pip3 install會將包文件緩存到相應的子目錄中
source ~/harmonyos/venv/bin/activate

# 安裝 setuptools 和 kconfiglib
pip3 install setuptools kconfiglib

# 安裝編譯hi3861需要的pip包
pip3 install scons ecdsa pycryptodome
# pip3 install --upgrade --ignore-installed six

# 可選:將激活腳本添加到 bashrc 中,下次登錄默認自動激活此python虛擬環境,可以使用 deactivate 使虛擬環境無效
cat <

編譯源碼

激活剛剛建立的python虛擬環境后,在源碼根目錄下(openharmony目錄)執行:

$ source ~/harmonyos/venv/bin/activate # 激活虛擬環境,激活后 deactivate 命令可使當前虛擬環境無效
$ python build.py -h # 查看支持哪些目標平臺
usage:
  python build.py ipcamera_hi3516dv300
  python build.py ipcamera_hi3518ev300
  python build.py wifiiot

  Quickstart: https://device.harmonyos.com/cn/docs/start/introduce/oem_start_guide-0000001054913231

positional arguments:
  product               Name of the product

optional arguments:
  -h, --help            show this help message and exit
  -b BUILD_TYPE, --build_type BUILD_TYPE
                        release or debug version.
  -t [TEST [TEST ...]], --test [TEST [TEST ...]]
                        Compile test suit
  -n, --ndk             Compile ndk

可以查看支持哪些目標平臺,目前可選的有三個。

切換默認shell為bash

vendor目錄下的部分Makefile里面使用了bash特有的pushd/popd命令,需要使用bash環境才能編譯通過,有兩種方法切換默認shell:

  1. sudo dpkg-reconfigure dash彈出對話框之后選擇No;
  2. sudo rm /bin/sh && sudo ln -s /bin/bash /bin/sh

編譯3516目標平臺的命令

python build.py ipcamera_hi3516dv300 -b debug

編譯生成的kernel、rootfs、userfs映像文件會生成到out/ipcamera_hi3516dv300目錄下,u-boot二進制會生成在vendor目錄(可以通過find vendor -name u-boot*.bin命令進行查找)。

編譯3518目標平臺的命令

python build.py ipcamera_hi3516dv300 -b debug

編譯生成的kernel、rootfs、userfs映像文件會生成到out/ipcamera_hi3518ev300目錄下,u-boot二進制會生成在vendor目錄(可以通過find vendor -name u-boot*.bin命令進行查找)。

編譯3861目標平臺的命令

python build.py wifiiot

編譯生成的二進制文件位于out/wifiiot/子目錄下,刷機需要使用Hi3861_wifiiot_app_allinone.bin文件。

ffmpeg相關編譯失敗問題定位

編譯過程中可能會遇到ffmpeg相關的編譯失敗,可能是因為configure過程中出現了問題,可以通過vendor/hisi/hi35xx/middleware/source/third_party/ffmpeg/ffmpeg-y/ffbuild/config.log文件查看。

審核編輯 黃宇

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

    關注

    8

    文章

    652

    瀏覽量

    29370
  • 鴻蒙
    +關注

    關注

    57

    文章

    2392

    瀏覽量

    42980
  • HarmonyOS
    +關注

    關注

    79

    文章

    1982

    瀏覽量

    30423
  • OpenHarmony
    +關注

    關注

    25

    文章

    3744

    瀏覽量

    16491
收藏 人收藏

    評論

    相關推薦

    【軟通動力鴻湖萬聯揚帆系列“競”開發板試用體驗】OpenHarmony源碼編譯環境攻略

    開發板試用體驗】認識"競" 筆者帶大家認識了揚帆系列“競”開發板,本節將講解OpenHarmony源碼編譯環境搭建以及將
    的頭像 發表于 10-13 10:30 ?3123次閱讀
    【軟通動力鴻湖萬聯揚帆系列“競”<b class='flag-5'>開發</b>板試用體驗】<b class='flag-5'>OpenHarmony</b><b class='flag-5'>源碼</b><b class='flag-5'>編譯</b>環境攻略

    如何獲取OpenHarmonyOS源碼

    OpenHarmony源碼目錄結構。OpenHarmony的代碼以組件的形式開放,開發者可以通過如下其中一種方式獲取:獲取方式1:從鏡像站點下載
    發表于 09-10 18:03

    HarmonyOS學習之四:OpenHarmony源碼下載及構成簡介

    下載。適用場景用戶已通過組件式獲取的方式獲取源碼,需要對源碼中的某個或某幾個組件進行獨立升級。用戶已經比較熟悉OpenHarmony系統的開發
    發表于 11-26 09:42

    OpenHarmony下載

    OpenHarmony官方認證后,貢獻代碼到OpenHarmony社區。修復OpenHarmony的問題。學習OpenHarmony
    發表于 03-09 18:36

    OpenHarmony2.0 Hi3516系列資料下載合集(源碼編譯+燒錄)

    build -f(執行編譯)經過1個半小時后編譯成功2、OpenHarmony2.0 Hi3516系列標準系統源碼編譯及燒錄1、請連接好電
    發表于 03-24 10:52

    【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】第3章 OpenHarmony源碼編譯下載

    開發環境:開發系統:Ubuntu 20.04開發板:Pegasus物聯網開發板MCU:Hi3861OpenHarmony版本:3.0.1-L
    發表于 06-03 23:40

    OpenHarmony開發——系統源碼編譯

    背景隨著OpenHarmony-v3.1的發布,越來越多的開發者將目光聚焦到OpenHarmony系統開發上。對于首次接觸OpenHarmony
    發表于 08-30 10:08

    【軟通動力鴻湖萬聯揚帆系列“競”開發板試用體驗】OpenHarmony源碼編譯環境攻略

    前言通過【軟通動力鴻湖萬聯揚帆系列“競”開發板試用體驗】認識"競"筆者帶大家認識了揚帆系列“競”開發板,本節將講解OpenHarmony源碼編譯
    發表于 09-25 15:05

    OpenHarmony嵌入式系統原理與應用——基于RK2206芯片(微課視頻版)》學習記錄1 環境配置與源碼編譯

    ,需要配置rk2206開發板的IP地址和SSH連接。 二、源碼下載編譯 獲取OpenHarmony源碼
    發表于 06-25 11:26

    openharmony源碼地址 openharmony編譯運行

    一、Openharmony源碼地址以及獲取方式 開源代碼倉庫地址:https://openharmony.gitee.com 1:從鏡像站點下載歸檔后的發行版壓縮文件。 2:通過HPM
    的頭像 發表于 06-23 10:49 ?2734次閱讀

    openharmony源碼解讀

    如何獲取OpenHarmony源碼并說明OpenHarmony源碼目錄結構。OpenHarmony的代碼以組件的形式開放,
    的頭像 發表于 06-24 09:29 ?3840次閱讀

    【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】第3章 OpenHarmony源碼編譯下載

    20.04 開發板 :Pegasus物聯網開發板 MCU:Hi3861 OpenHarmony版本:3.0.1-LTS ? 3.1 OpenHarmony
    的頭像 發表于 11-01 15:10 ?1043次閱讀
    【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】第3章 <b class='flag-5'>OpenHarmony</b><b class='flag-5'>源碼</b><b class='flag-5'>編譯</b>與<b class='flag-5'>下載</b>

    基于泰凌微電子平臺實現OpenHarmony開發——編譯環境搭建

    在獲取OpenHarmony源碼進行開發之前,首先要配置好編譯環境,本文主要詳細介紹開發所需環境并安裝
    的頭像 發表于 02-22 10:10 ?1878次閱讀

    基于Android13的AOSP源碼下載編譯指南

    AOSP(Android Open Source Project)是Android操作系統的開源項目,通過下載編譯AOSP源碼,您可以獲得原始的Android系統,并進行定制和開發
    的頭像 發表于 01-17 09:49 ?4134次閱讀
    基于Android13的AOSP<b class='flag-5'>源碼</b><b class='flag-5'>下載</b>及<b class='flag-5'>編譯</b>指南

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

    本文介紹瑞芯微主板/開發編譯OpenHarmony源碼后燒錄鏡像的教程,觸覺智能Purple Pi OH鴻蒙開發板演示。搭載了瑞芯微RK3
    的頭像 發表于 12-30 10:08 ?149次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>源碼</b><b class='flag-5'>編譯</b>后燒錄鏡像教程,RK3566鴻蒙<b class='flag-5'>開發</b>板演示
    主站蜘蛛池模板: 视频一区视频二区ae86 | 国产偷国产偷亚州清高 | 国产精品A久久久久久久久 国产精品A久久777777 | 就去色电影| 性夜影院午夜看片 | 含羞草国产亚洲精品岁国产精品 | xxxjapanese丰满奶水 | 国产视频a在线观看v | 久久久精品免费视频 | 天天看片视频免费观看 | 欧美日韩888在线观看 | 亚洲精品另类有吗中文字幕 | 扒开双腿疯进出爽爽爽动态图 | 国产露脸A片国语露对白 | 国产精品久久久久久久久爆乳 | 亚洲乱码中文字幕久久 | 国产午夜在线精品三级a午夜电影 | 国产跪地吃黄金喝圣水合集 | 国产伦精品一区二区免费 | 毛片免费观看视频 | 中文字幕精品在线观看 | 邻家美姨在线观看全集免费 | 国产麻豆精品人妻无码A片 国产麻豆精品久久一二三 国产麻豆精品传媒AV国产在线 | 欧美精品AV无码一区二区 | 久久99国产亚洲高清观着 | 麻美ゆま夫の目の前で犯 | 国产在线精品视频免费观看 | 97在线播放视频 | 一二三四中文字幕在线看 | 国产成人AV永久免费观看 | 我半夜摸妺妺的奶C了她软件 | 我和妽妽在厨房里的激情区二区 | 粉嫩小护士 | 公和熄洗澡三级中文字幕 | 日本免费一区二区三区四区五六区 | 日本高清加勒比 | 日本AAA片爽快视频 日本aaaa | 亚洲精品视频在线观看视频 | 亚洲日本乱码中文论理在线电影 | 97久久伊人精品影院 | 海角国精产品一区一区三区糖心 |