BES2600WM---HiLink RM56 EVK

ops/2024/11/2 4:25:21/

0 Preface/Foreword

0.1 路径

 OpenHarmony/device_soc_bestechnic - 码云 - 开源中国

https://github.com/Hi-LinkDuino/RM56

1 环境搭建

1.1 安装依赖工具

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

1.2 安装Python3 

需要安装python3.8,否则编译会出问题。 

sudo apt-get 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

安装并升级python包管理工具(pip3):

sudo apt-get install python3-setuptools python3-pip -y

sudo pip3 install --upgrade pip

 1.3 安装hb

如果之前有安装hb,需要先卸载后重新安装:

pip3 uninstall ohos-build 

安装时候,需要在源码下进行。build/lite是源码中的路径。 

pip3 install build/lite 

 安装成功后,在系统重可以找到。

将hb工具添加到环境变量PATH中:修改.bashrc

在最后一行中添加:

export PATH=~/.local/bin:$PATH 

执行如下命令更新环境变量

source ~/.bashrc 

 在代码路径下,查看hb是否能正常运行:

hb -h

 2 编译

2.1 第一次编译 

 

运行脚本prebuilts_download.sh

原因:不同操作系统间CR, 0x0D, (\r) LF, 0x0A, (\n)不同。

解决方法:在WSL中直接git clone代码。

完成下载后的工具链

NOTE:每一个重新克隆的仓库都需要进行一次prebuilds_download.sh脚本。(有没有方法可以跳过这个步骤呢?

2.2 编译  

选择项目

 hb set 

选完之后,后面编译,只要不切换项目,不需再选择。配置文件为ohos_config.json

编译命令

hb build

编译后的固件路径

2.3 烧录 

烧录方法有两种,一种是通过GUI方式烧录,一种是通过命令行模式烧录,GUI烧录过程中会全部烧录,命令行可以根据情况进行选择,所以在开发阶段,使用命令行模式。

编译成功后,相应的固件放置在$ROOT/dist/burn,运行burn.bat脚本:(在out目录下也有相应的固件)

根据需求选择选项

  • 第一次烧录选择
  • 开发过程中一般选择 1
  • 更换文件系统选择 2

等待烧录

 单击RST或者单击PWR触发固件下载

固件下载完成,系统会自动重启。

 


http://www.ppmy.cn/ops/130326.html

相关文章

Linux 进程间通信——管道

目录 0.前言 1. 进程间通信简介 1.1 进程间通信目的 1.2 进程间通信分类 2.匿名管道 2.1什么是管道 2.2一段匿名管道的示例代码 2.3代码解读 2.4 匿名管道运行时的四种情况 2.5 匿名管道的特性 2.6 从文件描述符和内核角度理解管道 3.命名管道 3.1命名管道的原理 3.2命名管道的…

Partition架构

优质博文:IT-BLOG-CN Partition架构 【1】结构: Region至少3个Zone,Zone内至少两个Partition,Partition内至少1个K8S Member Cluster; 【2】故障域: 故障域及核心链路至少Zone内收敛,甚至Part…

C++ 复习记录(个人记录)

1、构造函数(constructor)是什么 答:类里面定义一个函数, 和类名一样, 这样在我们生成一个对象之后,就会默认调用这个函数,初始化这个类。 子类B继承父类A的情况, 当你调用子类的对…

vue3 Teleport的说明及用法

1、定义&#xff1a; https://cn.vuejs.org/guide/built-ins/teleport#basic-usage <Teleport> 是一个内置组件&#xff0c;它可以将一个组件内部的一部分模板“传送”到该组件的 DOM 结构外层的位置去。 2、基本用法&#xff1a;​ 有时我们可能会遇到这样的场景&am…

STM32HAL库定时器无法进入中断问题

HAL_TIM_Base_Start(): 该函数启动定时器但不会开启中断。它适用于不需要中断处理的定时器配置&#xff0c;仅用于定时器计数功能。使用它时&#xff0c;定时器会启动并在设置的周期内计数&#xff0c;但中断标志不会触发 CPU 中断。 HAL_TIM_Base_Start_IT(): 该函数不仅启动定…

在React项目中使用SpreadJS实现在线Excel表格功能

在React项目中使用SpreadJS实现在线Excel表格功能&#xff0c;可以让你的应用程序具备强大的表格编辑能力。以下是使用React和SpreadJS来创建一个在线Excel表格的基本步骤&#xff1a; 1. 初始化React项目 如果你还没有React项目&#xff0c;可以使用create-react-app脚手架快…

某小型CMS漏洞复现审计

SQL注入 漏洞复现&#xff1a; 登陆后台&#xff0c;点击页面删除按钮&#xff0c;抓包&#xff1a; rid参数存在sql注入&#xff0c;放入sqlmap检测成功&#xff1a; 代码分析&#xff1a; CtrlShiftF检索路由&#xff1a; 定位具体代码&#xff0c;为删除功能&#xff1a; …

OKHTTP断点续传

OKHTTP断点续传 文章目录 OKHTTP断点续传HTTP断点续传知识点RangeContent RangeEtag&If-Range&#xff08;文件唯一标志&#xff09; OKHTTP断点下载OKHTTP 简单短断点下载代码示例 Android 断点续传一直是面试的高频问点&#xff0c;这里从HTTP断点续传知识和Android续传思…