0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenHarmony南向嵌入式:【XR806开发板指导文档】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-04-14 09:25 次阅读

一. 简介

芯片介绍

XR806是全志科技旗下子公司广州芯之联研发设计的一款支持WiFi和BLE的高集成度无线MCU芯片,支持OpenHarmony轻量设置系统。具有集成度高、硬件设计简单、BOM成本低、安全可靠等优点。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞赛、极客DIY等领域的无线连接需求。

开发板介绍

XR806_OpenHarmony开发板是基于XR806芯片设计开发的参考评估,板身集成了XR806芯片、WiFi/BT双天线供电系统、按钮及LED等,并引出了所有可用引脚,可供开发者进行方案评估、DIY或小规模产品研发使用。以下为开发板外观图([更多硬件资料地址]

二. 快速上手

1. 环境搭建

开发基础环境由windows 工作台和Linux编译服务器组成。windows 工作台可以通过samba 服务或ssh 方式访问Linux编译服务器。其中windows 工作台用来烧录和代码编辑,Linux编译服务器用来编译OpenHarmony代码,为了简化步骤,Linux编译服务器推荐安装Ubuntu20.04。

搜狗高速浏览器截图20240326151344.png

安装编译依赖基础软件
鸿蒙开发next学习文档
mau123789是v直接拿取。
sudo apt-get install -y build-essential gcc g++ make zlib* libffi-dev
安装和配置Python
  1. 打开Linux编译服务器终端。

  2. 输入如下命令,查看python版本号,需使用python3.7以上版本。

    python3 --version
    

    如果低于python3.7版本,不建议直接升级,请按照如下步骤重新安装。以python3.8为例,按照以下步骤安装python。

    1. 运行如下命令,查看Ubuntu版本:
      cat /etc/issue
      
    2. 根据Ubuntu不同版本,安装python。
      • 如果Ubuntu 版本为18+,运行如下命令。

        sudo apt-get install python3.8
        
      • 如果Ubuntu版本为16。
        a. 安装依赖包

        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
        
  3. 设置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
    
  4. 安装并升级Python包管理工具(pip3),任选如下一种方式。

    • 命令行方式:
      sudo apt-get install python3-setuptools python3-pip -y
      sudo pip3 install --upgrade pip
      
    • 安装包方式:
      curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
      python get-pip.py
      
安装gn
  1. 打开Linux编译服务器终端。

  2. 在根目录下创建gn文件夹。

    mkdir ~/gn
    
  3. 解压gn安装包至~/gn路径下。

    tar -xvf gn-linux-x86-1717.tar.gz -C ~/gn
    
  4. 设置环境变量。

    vim ~/.bashrc
    

    将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

    export PATH=~/gn:$PATH
    
  5. 生效环境变量。

    source ~/.bashrc
    
安装ninja
  1. 打开Linux编译服务器终端。

  2. 解压ninja安装包至~/ninja路径下。

    tar -xvf ninja.1.9.0.tar -C ~/
    
  3. 设置环境变量。

    vim ~/.bashrc
    

    将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

    export PATH=~/ninja:$PATH
    
  4. 生效环境变量。

    source ~/.bashrc
    
安装工具链
  • 编译链工具推荐gcc-arm-none-eabi-10-2020-q4-major。
  • 将gcc-arm-none-eabi-10-2020-q4-major包解压到~/tools目录下
    tar -zxvf gcc-arm-none-eabi-10-2020-q4-major.tar.gz -C ~/tools/
    

2. 获取源码

安装码云repo工具
cd ~/
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ./repo
chmod a+x ./repo
sudo mv ./repo /usr/local/bin/
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
代码下载
  1. OpenHarmony代码下载,以OpenHarmony 3.1 Beta版本为例,下载方式如下:
mkdir ~/openharmony
cd ~/openharmony

repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Beta --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
  1. 下载板级soc模块
    soc下面是包含芯片SDK和驱动代码、第三方库适配等接口层代码。下载方法如下:

    mkdir ~/xradio
    cd ~/xradio
    git clone git@gitee.com:openharmony-sig/device_soc_allwinner.git
    

    因为最新的代码未在适配相应的HDF驱动,所以需要将代码回退到指定版本:d5d336941a1ba1ba3b84aebab1d7173d20968ccd

    cd device_soc_allwinner
    git reset --hard d5d336941a1ba1ba3b84aebab1d7173d20968ccd
    

    将此代码拷贝到soc下并重新命名为allwinner

    cp -raf device_soc_allwinner ~/openharmony/device/soc/allwinner
    
  2. 下载板级board模块
    board主要存放板级配置,下载方法:

    git clone git@gitee.com:openharmony-sig/device_board_allwinner.git
    

    将此代码拷贝到board下并重新命名为allwinner

    cp -raf device_board_allwinner ~/openharmony/device/board/allwinner
    
  3. 下载vendor模块
    vendor存放的都是一些基于XRMCU开发的WiFi模组代码样例,下载方法:

    git clone git@gitee.com:openharmony-sig/vendor_allwinner.git
    

    将此代码拷贝到vendor下并重新命名为allwinner

    cp -raf vendor_allwinner_xr806 ~/openharmony/vendor/allwinner
    
安装hb
cd ~/openharmony
pip3 install build/lite	# 此语句需要在SDK根目录下执行。

3. 编写自己的hello word

​ 在vendor/allwinner/xradio_wifi_demo创建demo_hello_world文件夹

cd vendor/allwinner/xradio_wifi_demo/
mkdir demo_hello_world

​ 然后创建hello_world.c 以及BUILD.gn

cd demo_hello_world
touch hello_world.c
touch BUILD.gn

在hello_world.c中添加以下代码

#include < stdio.h >
#include < string.h >

#include "ohos_init.h"

int DemoMain(int argc, char **argv)
{
	printf("rnhello world!rnrn");
	return 0;
}

SYS_RUN(DemoMain);

在BUILD.gn中添加以下代码

source_set("hello_world"){
    sources = [
        "hello_world.c"
    ]
}

将helloworld添加到编译中,在 device/soc/allwinner/xradio/xr806/BUILD.gn中添加以下依赖:

module_group(module_name) {
  modules = [
      "src",
      "project",
      "include",
  ]
  configs = [
    ":SdkLdCconfig",
  ]
  deps = [ "//vendor/allwinner/xradio_wifi_demo/demo_hello_world:hello_world" ]
}

4. 编译

  • hb set 选择demo指令,具体命令如下:
    hb set -root # 通过键盘选择 xradio_wifi_demo
    

  • 修改编译工具链地址

    cd kernel/liteos_m
    make menuconfig
    

    然后选择Compiler->Compiler type(GCC),然后选择路径一行,按回车会弹出路径的输入框,此时输入实际的工具链地址。按ESC返回,最后退出并保存配置即可。

  • 修改配置文件中的工具链路径
    device/board/allwinner/xradio/liteos_m/config.gni

    device/soc/allwinner/xradio/xr806/build/Makefile

  • hb build 全量编译命令

hb build -f

如果编译中出现如下错误:

需要修改device/soc/allwinner/xradio/osal/include/target_config.h

// #define OS_SYS_CLOCK (SystemCoreClock)
#define OS_SYS_CLOCK 160000000

5. 烧录 && 运行

  • 固件和烧录软件位置
  1. 编译生成的固件保存在out/xradio/xradio_wifi_demo目录下,文件名固定为xr_system.img。
  2. 烧录软件保存在device/soc/allwinner/xradio/xr806/tools下,名称为phoenixMC_xxxx.exe。
  • 烧录软件界面
  • 操作步骤
  1. PC安装CP2102驱动。
  2. 串口连接:通过USB-typeC数据线连接开发板和PC。
  3. 串口设置:点击左上角的“刷新”按钮可刷新已连接串口设备列表,勾选开发板对应的COM口。串口波特率最大支持3000000,波特率越高,烧录速度越快。如果高波特率下容易出现烧录失败,可检查串口线、串口驱动是否稳定支持该波特率;或者降低波特率进行尝试。为了避免烧录速度过慢,建议波特率选择3000000。
  4. 固件选择:点击“选择固件”按钮选择需要烧录的固件文件(xr_system.img),固件信息栏会显示出当前固件的详细信息。另外,通过拖拽方式将固件直接拖入工具界面也可以达到同样的效果。
  5. 开启一键烧录功能:点击“设置”按钮调出设置界面,如下图勾选“硬件复位烧写模式”.
  6. 启动烧录:点击“升级固件”按钮启动固件烧录。烧录状态栏显示当前选定串口对应设备的烧录进度和状态。当烧录成功时,进度条会达到100%的进度并显示为绿色;当烧录失败时,进度条显示为红色并报告错误。
  7. 复位设备:固件烧录成功后,开启PC串口调试工具(115200,N,8,1),硬件复位开发板(按下复位按钮),程序将运行且看到以下打印输出。

​审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4984

    文章

    18300

    浏览量

    288648
  • 开发板
    +关注

    关注

    25

    文章

    4441

    浏览量

    94097
  • 鸿蒙
    +关注

    关注

    55

    文章

    1651

    浏览量

    42125
  • OpenHarmony
    +关注

    关注

    23

    文章

    3328

    浏览量

    15161
  • xr806
    +关注

    关注

    0

    文章

    14

    浏览量

    1252
收藏 人收藏

    评论

    相关推荐

    如何使用XR806开发板来设计一个粮食霉变检测系统?

    XR806开发板具有强大的数据处理和传输能力,广泛应用于物联网和嵌入式系统开发
    的头像 发表于 01-05 17:30 479次阅读
    如何使用<b class='flag-5'>XR806</b><b class='flag-5'>开发板</b>来设计一个粮食霉变检测系统?

    XR806芯片、XR806开源鸿蒙开发板简介

    。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞赛、极客DIY 等领域的无线连接需求。芯片框图芯片参数XR806开源鸿蒙开发板介绍XR806开发板是基于
    发表于 11-15 17:08

    XR806芯片、XR806开源鸿蒙开发板简介

    。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞赛、极客DIY 等领域的无线连接需求。芯片框图芯片参数XR806开源鸿蒙开发板介绍XR806开发板是基于
    发表于 11-15 18:32

    【资料释放】全志XR806开发板全资料释放,连bomlist都给出来了

    ://www.openharmony.cn/#/supportDevices/XR8061.硬件bomlist包含核心和底板两个部分核心:底板:完整excel
    发表于 12-06 14:06

    有哪位大神可以分享一下XR806开发板/模组的资料呢

    XR806开发板/模组的硬件包含哪几个部分?XR806开发板/模组的硬件该怎样去设计呢?
    发表于 12-28 06:51

    如何对XR806开发板的环境进行配置呢

    如何对XR806开发板的环境进行配置呢?有哪些配置步骤?
    发表于 12-28 07:51

    XR806开发板下载代码时遇到错误fatal: Cannot get该怎么办

    XR806开发板试用】下载代码时遇到如下错误 fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle请问大家
    发表于 12-28 06:21

    请问大佬XR806鸿蒙开发板怎么样?

    请问大佬XR806鸿蒙开发板怎么样?
    发表于 12-29 07:06

    【直播预告】全志XR806芯片应用实战分享

    /joinXR806优秀开发例程《基于OpenHarmony的棋子分拣机》《用全志XR806开源鸿蒙开发板做一个四足行走机器狗》《【
    发表于 02-28 17:39

    【直播预告】全志XR806芯片应用实战分享会!

    /joinXR806优秀开发例程《基于OpenHarmony的棋子分拣机》《用全志XR806开源鸿蒙开发板做一个四足行走机器狗》《【
    发表于 03-01 09:27

    【资料合集】全志XR806开发板全部资料

    3.软件SDK——OpenHarmony/鸿蒙XR806开发板支持L0(轻量设备)级别的鸿蒙系统全部代码已经从gitee开源gittee仓库链接:https://gitee.com
    发表于 03-10 14:59

    OpenHarmony开发样例】基于全志XR806开发板开发的智能门锁

    参考 连接IOT云平台指南;智能设备与数字管家应用之间的设备模型定义可以参考profile .2. 实物简介: 如上图所示,上面是XR806开发板,中间的是hcsr04超声波距离传感器,下面
    发表于 03-11 10:29

    轻量系统:全志XR806XR806AF2L)

    开发板名称(芯片型号) 全志XR806XR806AF2L) 芯片架构 CPU频率 介绍(字数请控制在200字以内) XR806是全志科技旗下子公司广州芯之联研发设计的一款支持Wi
    发表于 10-19 11:14

    XR806开发板试用】FreeRTOS创建任务测试

    这篇来学习下,XR806开发板在FreeRTOS系统下创建两个任务测试,由于没有找到学习的文档,试着参考例程来测试。
    的头像 发表于 10-10 11:47 366次阅读
    【<b class='flag-5'>XR806</b><b class='flag-5'>开发板</b>试用】FreeRTOS创建任务测试

    全志XR806开发板原理图

    全志XR806开发板原理图
    发表于 10-19 15:11 9次下载