小熊派交叉編譯的原理:
一肝谭、讓win10支持WSL
- 開發(fā)者模式中選擇WSL選項(這個簡單著蟹,有需要的話可以百度,這里不啰嗦)
二咧织、機器支持虛擬化
三、選擇安裝的linux子系統(tǒng)的發(fā)行版
由于教程用的是Ubuntu籍救,自己用的是centos7习绢,所以又裝了Ubuntu子系統(tǒng)。結果驚訝地發(fā)現(xiàn),win10可以安裝多個子系統(tǒng)
四闪萄、更換apt的源并更新系統(tǒng)
sudo vi /etc/apt/sources.list
將http://archive.ubuntu.com/
修改成https:mirrors.aliyun.com
更新系統(tǒng):
sudo apt update
sudo apt upgrade
五梧却、更換默認shell為bash
sudo dpkg-reconfigure dash
ls -l /bin/sh
lrwxrwxrwx 1 root root 9 Feb 26 00:00 /bin/sh -> /bin/bash
選擇no
六、正式搭建編譯環(huán)境
Linux安裝:
windows安裝:
6.1 Linux Python環(huán)境:
安裝Python開發(fā) 環(huán)境
由于我的ubuntu是20.04败去,默認已經(jīng)安裝了python3.8
$ sudo apt-get install python3.8
$ python3 --version
Python 3.8.5
$ sudo ln -s /usr/bin/python3 /usr/bin/python
$ which python3.8
/usr/bin/python3.8
#安裝pip工具
$ sudo apt-get install python3-setuptools python3-pip -y
$ sudo pip3 install --upgrade pip
$ pip3 install setuptools
配置一下源:
$ sudo pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/
接續(xù)安裝:
sudo pip3 install kconfiglib #GUI menuconfig工具:
sudo pip3 install pycryptodome
sudo pip3 install launchpadlib==1.10.13
sudo pip3 install six --upgrade --ignore-installed six
sudo pip3 install ecdsa
sudo apt install scons -y #安裝Scons
scons -v #檢查
6.2 在Linux中安裝交叉編譯器放航、gn 和 ninjia
gn工具下載
ninjia工具下載
risc-v交叉編譯器下載
安裝:
#解壓到home目錄:
tar -xvf gn.1523.tar -C ~/
tar -xvf ninja.1.9.0.tar -C ~/
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/
將工具路徑添加~/.barshrc
sudo vim ~/.bashrc
## 文件最后一行添加以下語句:
export PATH=~/gn:$PATH
export PATH=~/ninja:$PATH
export PATH=~/gcc_riscv32/bin:$PATH
刷新環(huán)境配置
source ~/.bashrc
# 檢查
riscv32-unknown-elf-gcc -v
win10中下載安裝燒錄工具:
- USB轉串口驅動:CH341SER.EXE
- 代碼燒錄工具: Hiburn 密碼:1234
安裝并檢查端口即可
七、下載源碼并且燒錄
7.1 Linux安裝node.js
wget https://nodejs.org/dist/v14.15.1/node-v14.15.1-linux-x64.tar.xz
tar -xvf node-v14.15.1-linux-x64.tar.xz -C ~/
sudo ln -s ~/node-v14.15.1-linux-x64/bin/npm /usr/bin/
sudo ln -s ~/node-v14.15.1-linux-x64/bin/node /usr/bin/
node -v
7.2 安裝hpm
npm install -g @ohos/hpm-cli
sudo ln -s ~/node-v14.15.1-linux-x64/bin/hpm /usr/bin
hpm --version
7.3 配置git
git config --global user.name "yourname"
git config --global user.email "your-email-address"
7.4 下載源碼(有四種方法圆裕,這里只選擇一種)
hpm init -t default
hpm i @bearpi/bearpi_hm_nano
hpm install
hpm dist
源碼目錄說明:
開啟VSCODE的remote WSL,登錄Linux子系統(tǒng):
#include <stdio.h>
#include "ohos_init.h"
void Hello_World(void)
{
print("Hello World!\r\n");
}
//運行函數(shù)
APP_FEATURE_INIT(Hello_World); //#函數(shù)名
編寫編譯構建文件
static_library("myapp"){
sources = [
"hello_wolrd.c"
]
include_dirs = [
"http://utils/native/lite/include"
]
}
-
static_library
中制定業(yè)務模塊的編譯結果广鳍,為靜態(tài)庫文件libmyapp.a, 開發(fā)者根據(jù)實際情況完成填寫; -
sources
中制定靜態(tài)庫.a所依賴的.c文件及其路徑吓妆,若路徑中包含“//”則表明絕對路徑(此處為代碼根目錄)赊时,若不包含"http://"則表示相對路徑 -
include_dirs
中制定sources所依賴的.h文件路徑。
編譯模塊編譯文件
lite_component("app") {
features = [
my_app:"myapp",
]
}
編譯文件
hpm dist
燒錄
打開hiburn 波特率設置為961200