ARM技术论坛
直播中

万航渡路

8年用户 1313经验值
擅长:电源/新能源
私信 关注
[经验]

在虚拟机下安装Ubuntu系统并进行环境配置

安装Ubuntu

我是在虚拟机下安装,这部分大家应该都会吧,就不过多阐述了。

环境配置

大家应该先看官方文档【XR806】

1.准备工作

Git
在安装git后,需git-lfs并配置用户信息。否则可能拉代码失败

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store

repo
安装码云repo工具,可以执行如下命令

配置环境变量 如果安装了vim,则可以使用vim编辑。否则手动在~/.bashrc文件最后添加

vim ~/.bashrc
export PATH=~/bin:$PATH #如果没有安装vim,将此句添加至最后

生效环境变量
source ~/.bashrc
修改repo镜像地址,在文章基于星辰处理器的全志XR806开源鸿蒙开发板上手体验中就有相应步骤。
当直接执行repo init时候,系统会提示连接超时。
因为Repo init 默认会访问的url地址往往会失败;
所以我们需要替换为国内的地址,在修改git-repo下载到的repo文件REPO_URL地址。

Python
安装python3.7+,我安装的是3.8版本,根据Ubuntu不同版本,安装python。
如果Ubuntu 版本为18+,运行如下命令。
sudo apt-get install python3.8

如果Ubuntu版本为16。需安装依赖包
sudo apt update && sudo apt install software-properties-common
b. 添加deadsnakes PPA 源,然后按回车键确认安装。
sudo add-apt-repository ppa:deadsnakes/ppa
c. 安装python3.8
sudo apt upgrade && sudo apt install python3.8

设置python和python3软链接为python3.8

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

LLVM
请先下载llvm工具
解压LLVM安装包至~/llvm路径下,也可以自己手动解压至对应目录下
tar -zxvf llvm.tar -C /
设置环境变量
如果安装了vim,则可以使用vim编辑。否则手动在
/.bashrc文件最后添加

vim ~/.bashrc
export PATH=~/llvm/bin:$PATH #如果没有安装vim,将此句添加至最后

生效环境变量
source ~/.bashrc
hb
先安装Python 3.7.4及以上版本和pip工具,才能正常安装。
pip install --user ohos-build
设置环境变量,仿照上面设置即可
PATH="HOME/.local/bin:PATH"
执行"hb -h",有打印以下信息即表示安装成功:

usage: hb

OHOS build system

positional arguments:
  {build,set,env,clean}
    build               Build source code
    set                 OHOS build settings
    env                 Show OHOS build env
    clean               Clean output

optional arguments:
  -h, --help            show this help message and exit

安装必要的库和工具

sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi cpio device-tree-compiler

否则在后面的步骤中,会有许多错误信息,由于缺少对应的工具和库。
安装libncurses5-dev
sudo apt-get install libncurses5-dev
可能还会缺少其他组件
如果出现,对应安装即可
参考XR806编译的一些环境问题及解决

2.源码

获取源码

只获取鸿蒙代码,再手动加入

XR806代码正在走合入开源鸿蒙主仓流程,这几天会暂时不可用。

下载编译链

我们使用gcc-arm-none-eabi-10-2020-q4-major, 解压放在指定位置,我们默认放在~/tools中,这样就不用去更改文件里面的路径。

代码编译

首次编译工程,需要对原生库进行配置,否则无法编译通过,配置步骤如下:

cd device/xradio/xr806/xr_skylark                               #(1)进入原生SDK目录
cp project/demo/audio_demo/gcc/deconfig .config                 #(2)复制配置文件
make menuconfig                                                 #(3)图形化界面配置
make build_clean                                                #(4)清除旧配置
make lib -j                                                     #(5)根据配置生成静态库和全局头文件
cd -                                                            #(6)返回Harmony根目录
hb set                                                          #(7)选择wifi_skylark
hb build -f                                                     #(8)编译,后续不需要重新配置

其中就是将device/xradio/xr806/xr_skylark/project/demo/audio_demo/gcc/deconfig中的配置文件内容复制在device/xradio/xr806/xr_skylark的.config 中,在进行make menuconfig 进入图形化配置文件,记得检查是否安装libncurses5-dev。进入图形化配置页面后

直接选择退出,在执行make build_clean清除旧配置, make lib -j根据配置生成静态库和全局头文件,cd - 返回根目录,
hb set

直接回车

确定选中的是wifi_skylark,直接enter即可。
之后进行hb build -f,编译。如果出现错误,参考官方文档。

代码编写说明

请先查看文档编译顺序
如果是在编译烧录后,并没有成功运行,则可能是libcopy.py的问题。
在文件xr806_openharmony/device/xradio/xr806/xr_skylark/ohos.mk中,并没有更新路径。
文件未被更新如:

OHOSSOURCE = -Wl,--whole-archive
OHOSSOURCE += $(ROOT_PATH)/lib/ohos/libapp_console.a
OHOSSOURCE += $(ROOT_PATH)/lib/ohos/libapp_led.a
OHOSSOURCE += $(ROOT_PATH)/lib/ohos/libapp_WlanTest.a
OHOSSOURCE += -Wl,--no-whole-archive

其中是否有你需要启动的路径,如果没有可以手动添加,但最好还需找出原因。

3.固件烧录

这部分比较简单,我是直接在编译生成的固件在device/xradio/xr806/xr_skylark/out,名称为xr_system.img。
XR806的烧录固件为phoenixMC_xxxx.exe,文件位于device/xradio/xr806/xr_skylark/tools。打开后界面如下:

原作者:kings669669

更多回帖

发帖
×
20
完善资料,
赚取积分