3.8 RK3399项目开发实录-板载OpenHarmony系统的使用(wulianjishu666)

STM32F103单片机从零到项目开发程序实例
下载链接:https://pan.baidu.com/s/1dWNskNinrMk4bxaE-jgHhQ?pwd=ymn3

2. OpenHarmony 手册

2.1. 支持设备列表

主控板卡型号板卡规格(内存)
RK3568ROC-RK3568-PC2G/4G(8G暂不支持)
RK3568AIOJ-RK35682G/4G(8G暂不支持)

2.2. 源码编译

2.2.1. 环境搭建

必要条件:X86 Ubuntu18.04操作系统(其他系统请自行解决依赖包问题)

sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex
bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib
libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache
libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8
python3-pip ruby

2.2.2. 源码下载

获取Firefly补丁脚本

mkdir openharmony
cd openharmony
wget https://gitlab.com/firefly-linux/openharmony/oh_sdk_preinit/-/raw/master/sdk_init.sh
chmod a+x sdk_init.sh

选择编译开发板

cd openharmony

# 查找支持的设备
./sdk_init.sh -l

# 选择指定开发板
./sdk_init.sh -b <BOARD_NAME>

获取OpenHarmony官方源码

cd openharmony
repo init --repo-url=https://gitlab.com/firefly-linux/git-repo -u https://gitee.com/openharmony/manifest.git -b refs/tags/$(cat .tag_release) --no-clone-bundle
.repo/repo/repo sync -c --no-tags
.repo/repo/repo forall -c 'git lfs pull'

获取Firefly补丁源码

cd openharmony
./sdk_init.sh -p

之后,更新代码运行如下命令:

cd openharmony
./sdk_init.sh -p

2.2.3. 获取docker

获取Docker镜像

docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0

进入源码根目录,创建本地docker

cd openharmony
docker run --name openharmony -itd -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0

以后直接运行如下命令进入docker

docker start openharmony
docker exec -it openharmony /bin/bash

2.2.4. 源码编译

进入docker进行编译

# 必须进入docker
docker exec -it openharmony /bin/bash
# 第一次编译需要下载工具链,以后可以跳过
bash build/prebuilts_download.sh
./build.sh --product-name rk3568 --ccache

编译完成之后,镜像在 out/rk3568/packages/phone/images/

2.3. 固件烧录

目前仅支持将固件烧录到EMMC

步骤如下:

  1. 连接好USB线缆,线的接入方式请阅读下面链接:

    ROC-RK3568-PC: 2. 使用USB线缆升级固件 — Firefly Wiki

    AIOJ-RK3568: 2. 使用USB线缆升级固件 — Firefly Wiki

  2. 准备好 MiniLoaderAll.bin

    可以从以下链接下载 一个对应CPU型号的MiniLoaderAll.bin

  3. 点击下载工具的Advanced Function,然后将准备好的MiniLoaderAll.bin下载到存储器中,见下图

    _images/load_emmc_with_flash01.png

  4. 点击List Storage读取存储器,此时存储列表选中的是SPINOR,为确保Nor flash为空,我们选择EraseAll擦除

    _images/maskrom_erease_spinor_flash.png

    • X 表示设备不存在该存储器

    • 0 表示存在该存储器,但未选中

    •  表示存在该存储器并处于被选中状态

    _images/load_emmc_with_flash02.png

  5. 在存储列表中选中Emmc后点击Switch Storage

    _images/load_emmc_with_flash02.png

    可以看到存储列表中的Emmc状态就会从0切到,表示选择将固件下载到eMMC

    _images/load_emmc_with_flash03.png

  6. 点击EraseAll擦除

    _images/load_emmc_with_flash04.png

  7. 点击下载工具的Download Image

    在SDK目录”out/rk3568/packages/phone/images/”中,找到”config.cfg”文件。右键”Load Config”时,选择这个配置文件。然后将各个分区的路径改为你的固件路径即可。

    _images/openharmony_firmware_load.png

    如果没有这个文件,可以去社区获取:提示信息 - Firefly开源社区

2.4. 其他参考链接

OpenHarmony官方文档:docs: OpenHarmony documentation | OpenHarmony开发者文档 - Gitee.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值