1 Star 7 Fork 34

uncleli / devboard_device_allwinner_XR806

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
1--系统下载与编译.md 4.90 KB
一键复制 编辑 原始数据 按行查看 历史
laumy 提交于 2021-12-21 11:35 . change download path

系统下载与编译

准备工作

OpenHarmony的代码托管在gitee,下载代码前必须在gitee注册账号并设置好公钥(点击学习设置公钥),否则会下载出错。

编译环境设置请参考OpenHarmony官网教程(点击跳转)。

安装repo

  1. 创建repo安装目录。

    mkdir ~/bin
  2. 下载repo。

    wget https://storage.googleapis.com/git-repo-downloads/repo -P ~/bin/
  3. 改变执行权限。

    chmod a+x ~/bin/repo
  4. 设置环境变量,在~/.bashrc文件的最后输入。

    export PATH=~/bin:$PATH和export REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
  5. 重启shell。

下载系统

XR806_OpenHarmony开发板适配了OpenHarmony_1.0.1_release分支,以下步骤1,步骤2,步骤3选择其中一步进行。

  1. 下载指定分支的OpenHarmony,以OpenHarmony_1.0.1_release为例。

    repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify
  2. 下载指定标签的OpenHarmony,以OpenHarmony-v1.1.2-LTS(基于OpenHarmony_1.0.1_release)为例。

    repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v1.1.2-LTS --no-repo-verify
  3. 下载好仓库后,输入命令下载代码。

    repo sync -c
  4. 下载好代码后,继续下载剩余的大容量二进制文件。

    repo forall -c 'git lfs pull'

下载xr806源码

  1. https://gitee.com/moldy-potato-chips/devboard_device_allwinner_xr806 下载device仓内容。
  2. https://gitee.com/moldy-potato-chips/devboard_vendor_allwinner_xr806 下载vendor仓内容。

目录结构

device仓目录

device/xradio/xr806
├── adapter				# OpenHarmony接口适配
├── BUILD.gn			# GN构建脚本
├── build.sh			# 启动编译脚本
├── doc					# 指导文档
├── libcopy.py			# SDK编译脚本
├── liteos_m			# 编译工具,编译选项定义
├── os					# liteos接口适配
├── target_config.h		# liteos系统裁剪
└── xr_skylark			# SDK平台相关文件(内核驱动)

vendor仓目录

vendor/xradio
├── LICENSE
├── README.md
└── xr806

设置编译工具链

  1. 编译链工具推荐gcc-arm-none-eabi-10-2020-q4-major。(下载网站:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads)

  2. 修改device/xradio/xr806/liteos_m/config.gni中的board_toolchain_prefix为实际环境下的gcc路径,以存放在tools文件夹下为例。

    board_toolchain_prefix = "~/tools/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-"
  3. 修改device/xradio/xr806/xr_skylark/gcc.mk中的CC_DIR为实际环境下的gcc路径,以存放在tools文件夹下为例。

    CC_DIR := ~/tools/gcc-arm-none-eabi-10-2020-q4-major/bin

工程配置

  1. 进入SDK目录。

    cd device/xradio/xr806/xr_skylark/
  2. 复制配置文件。

    cp project/demo/audio_demo/gcc/defconfig .config
  3. 使用图形化界面确认配置。

    make menuconfig

    执行make menuconfig后,按方向键选择save保存后,选择exist退出即可。

  4. 清除过程文件。

    make build_clean
  5. 生成静态库已经自动生成头文件。

    make lib -j
  6. 返回根目录编译工程。

    返回根目录。

    cd -     

    选择厂商。

    hb set  #回车,并选择wifi_skylark

    编译系统,后续文件修改不需要重复配置。

    hb build -f

常见错误排查

  1. 执行make menuconfig时,提示ncurses.h:no such file or directory。

    在Ubuntu下,安装上ncurses库即可。

    apt-get install libncurses5-dev

    如果不是在Ubuntu环境下,可以下载安装ncurses-devel rpm包也可以解决问题。

    rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm
  2. 执行hb build -f后,没有语法错误,但是提示Generate image file failed(生成镜像失败)。

    ​ 这是因为编译后生成的文件过大,旧的flash策略不能用,把device\xradio\xr806\xr_skylark\project\demo\wlan_ble_demo\image\xr806目录下的image_auto_cal.cfg里面的内容覆盖掉image_wlan_ble.cfg里面的内容即可。

1
https://gitee.com/moldy-potato-chips/devboard_device_allwinner_xr806.git
git@gitee.com:moldy-potato-chips/devboard_device_allwinner_xr806.git
moldy-potato-chips
devboard_device_allwinner_xr806
devboard_device_allwinner_XR806
master

搜索帮助