STM32F103单片机从零到项目开发程序实例
下载链接:https://pan.baidu.com/s/1dWNskNinrMk4bxaE-jgHhQ?pwd=ymn3
2. OpenHarmony 手册
2.1. 支持设备列表
主控 | 板卡型号 | 板卡规格(内存) |
---|---|---|
RK3568 | ROC-RK3568-PC | 2G/4G(8G暂不支持) |
RK3568 | AIOJ-RK3568 | 2G/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
步骤如下:
-
连接好USB线缆,线的接入方式请阅读下面链接:
ROC-RK3568-PC: 2. 使用USB线缆升级固件 — Firefly Wiki
AIOJ-RK3568: 2. 使用USB线缆升级固件 — Firefly Wiki
-
准备好
MiniLoaderAll.bin
可以从以下链接下载 一个对应CPU型号的MiniLoaderAll.bin。
-
点击下载工具的
Advanced Function
,然后将准备好的MiniLoaderAll.bin
下载到存储器中,见下图 -
点击
List Storage
读取存储器,此时存储列表选中的是SPINOR
,为确保Nor flash为空,我们选择EraseAll
擦除-
X
表示设备不存在该存储器 -
0
表示存在该存储器,但未选中 -
√
表示存在该存储器并处于被选中状态
-
-
在存储列表中选中
Emmc
后点击Switch Storage
可以看到存储列表中的
Emmc
状态就会从0
切到√
,表示选择将固件下载到eMMC -
点击
EraseAll
擦除 -
点击下载工具的
Download Image
在SDK目录”out/rk3568/packages/phone/images/”中,找到”config.cfg”文件。右键”Load Config”时,选择这个配置文件。然后将各个分区的路径改为你的固件路径即可。
如果没有这个文件,可以去社区获取:提示信息 - Firefly开源社区
2.4. 其他参考链接
OpenHarmony官方文档:docs: OpenHarmony documentation | OpenHarmony开发者文档 - Gitee.com