BES2600WM---HiLink RM56 EVK

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

 1.4 SDK下载

克隆命令: 

git clone https://github/Hi-LinkDuino/RM56.git

下载代码结果:

Linux中

克隆正常,没有error或者warning。

Windows中:git checkout出现异常 

 2 编译

2.1 第一次编译 

 

使用命令hb set,选择对应的目标后,会生成一些相关文件:

运行脚本prebuilts_download.sh

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

解决方法

  • 在WSL中直接git clone代码。
  • 在当前仓库中,添加.gitattributes文件

完成下载后的工具链

build/prebuilts_download.sh

仓库外包含的工具包: 

仓库中添加的内容: 

最后SDK和先关工具容量

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

2.2 编译  

选择项目

 hb set 

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

编译命令

hb build

编译后的固件路径

2.2.1 编译出错

使用WSL,从github克隆,查看文件结构发现:.gn是一个软链接(符号链接)文件。

在Windowns环境下,从github克隆,查看文件结构发现:.gn是一个普通文件。

git checkout时候,文件不存在情况。(Linux平台,不存在该问题)video文件使用了LFS功能,在远程仓库LFS服务器,保存原始大小,但是在本地仓库,进行了瘦身,只记录该原始文件的指针。

 

Linux平台克隆仓库,git checkout正常

 

2.3 烧录 

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

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

根据需求选择选项

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

等待烧录

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/908507.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# 编程语言学习教程

C# 编程语言学习教程 目录 C# 简介 1.1 什么是 C#1.2 C# 的特点1.3 C# 的应用领域 环境搭建 2.1 安装 Visual Studio2.2 创建第一个 C# 项目 基础语法 3.1 数据类型3.2 控制结构3.3 数组与字符串 面向对象编程 4.1 类与对象4.2 继承与多态4.3 接口与抽象类 常用库与框架 5.1 .…

PAT甲级-1092 To Buy or Not to Buy

题目 题目大意 Eva想要买珠子,但是只能按串买。如果串上有她想要买的所有珠子,那么输出“Yes”,再输出需要额外买几个珠子。如果串上缺少她想要的珠子,那么输出“No”,并输出缺少的珠子个数。其中,s1是商店…

使用WebAssembly优化Web应用性能

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用WebAssembly优化Web应用性能 引言 WebAssembly 简介 编译 WebAssembly 模块 使用 Emscripten 编译 C/C 代码 使用 Rust 编译…

【C语言】自定义类型(结构体、枚举、联合的详解)下

写在前面 书接上回:【C语言】自定义类型(结构体、枚举、联合的详解)上 在上中,不才独篇撰写了结构体的具体细节,本篇笔记主要是把剩下的自定义类型全部展示。 文章目录 写在前面二、位段2.1、位段的定义2.2、位段占用…

初始JavaEE篇 —— 文件操作与IO

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:JavaEE 目录 文件介绍 Java标准库中提供操作文件的类 文件系统操作 File类的介绍 File类的使用 文件内容操作 二进制文件的读写操作…

CSP 2024 入门级第二轮 CSP-J 2024 复赛 第一题 扑克牌

一、题目阅读 [CSP-J 2024] 扑克牌 - 洛谷 二、题目解析 输入 去重 三、题目代码 #include <bits/stdc.h> using namespace std;int main() {map<string, bool> flag;int n, res 52;cin >> n;while (n--) {string s;cin >> s;if (!flag[s]) { // …

面试题:JVM(二)

1. 面试题 简述 Java 类加载机制?&#xff08;百度&#xff09; JVM类加载机制 &#xff08;滴滴&#xff09; JVM中类加载机制&#xff0c;类加载过程&#xff0c;什么是双亲委派模型&#xff1f; &#xff08;腾讯&#xff09; JVM的类加载机制是什么&#xff1f; &#x…

AUTOSAR CP MCAL微控制器抽象层介绍

AUTOSAR(Automotive Open System Architecture)即汽车开放系统架构,它将汽车电子控制单元(ECU)的软件底层做了一个标准的封装,使得开发者能够共用一套底层软件,并通过修改参数来匹配不同的硬件和应用层软件。AUTOSAR CP(Classic Platform)是AUTOSAR架构中的一个重要组…

ElastricSearch 原理以及简单实用(超级通俗)

提到非结构化数据的检索&#xff0c;常常用到 ElasticSearch&#xff0c;他是什么呢&#xff1f; ElasticSearch 是一个基于 Apache Lucene 的分布式搜索引擎&#xff0c;可以作为实时文档存储系统&#xff0c;且文档的每一个内容都可以被检索&#xff0c;能够处理 PB 级别的结…

在线培训知识库:企业培训的新篇章

在当今快节奏的商业环境中&#xff0c;员工培训已成为企业保持竞争力的关键。在线培训知识库作为一种新兴的培训工具&#xff0c;正逐渐成为企业培训体系的核心。它不仅能够提供灵活的学习方式&#xff0c;还能确保培训内容的及时更新和高效传播。本文将探讨在线培训知识库的重…

简单的kafkaredis学习之kafka

简单的kafka&redis学习整理之kafka 1. kafka 1.1 什么是消息队列 在学习Kafka之前我们先来看一下什么是消息队列&#xff0c;消息队列(Message Queue)&#xff1a;可以简称为MQ 例如&#xff1a;Java中的Queue队列&#xff0c;也可以认为是一个消息队列 消息队列&#x…

【连续多届检索,ACM出版】第四届大数据、人工智能与风险管理国际学术会议 (ICBAR 2024,11月15-17)--冬季主会场

第四届大数据、人工智能与风险管理国际学术会议 (ICBAR 2024)--冬季主会场 2024 4th International Conference on Big Data, Artificial Intelligence and Risk Management 会议官网&#xff1a;www.icbar.net 2024 4th International Conference on Big Data, Artificial I…

集成框架 -- 自定义二方包 starter

自定义starter 二方包 My-thread-pool-startermy-thread-pool-starter 整体架构 测试 MyTestAppApplication测试工程 my-test-app 结构测试项目的 pom.xml 二方包 My-thread-pool-starter POM 文件 <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi&…

如何看待AI技术的应用前景?

文章目录 如何看待AI技术的应用前景引言AI技术的现状1. AI的定义与分类2. 当前AI技术的应用领域 AI技术的应用前景1. 经济效益2. 社会影响3. 技术进步 AI技术应用面临的挑战1. 数据隐私与安全2. 可解释性与信任3. 技能短缺与就业影响 AI技术的未来发展方向1. 人工智能的伦理与法…

华为擎云(银河麒麟V10+麒麟9000C CPU)电脑总是弹出“选择新密钥环的密码”(20241030)

症状如下图&#xff1a; 网络上一般的解决方法都是安装 seahorse &#xff0c;例如这篇文章:银河麒麟系统清除桌面密钥环 不知道为什么&#xff0c;这对我的这台电脑并不可行。 麒麟系统用的是 Gnome 桌面。这个“密钥环”的弹出框是由 gnome-keyring-daemon 弹出的。这是一个…

[SICTF Round4] PWN

这PWN题似乎是给我出的&#xff0c;4个一血1个2血。密码又过于简单。逆向太难了又不大会。 Stack fengshui main可以溢出覆盖rbpret所以它每一步都需要移栈。 可用的ROP里没有pop rdi,在4004c0里有错位的01 5d c3 &#xff1a;add DWORD PTR [rbp-0x3d], ebx 并且有对应的p…

yaml文件编写

Kubernetes 支持YAML和JSON格式管理资源 JSON 格式:主要用于 api 接口之间消息的传递 YAML 格式;用于配置和管理,YAML是一种简洁的非标记性语言,内容格式人性化容易读懂 一&#xff0c;yaml语法格式 1.1 基本语法规则 使用空格进行缩进&#xff08;不使用制表符&#xff0…

2025浙江省考报名流程详细教程

2025年浙江省考报名马上就要开始了&#xff0c;有想要参加浙江省考的同学&#xff0c;可以提前看一下报名流程&#xff0c;和报名照要求。 报名时间&#xff1a;11月6日9时一11月11日17时 南核时间&#xff1a;11月6日9时一11月13日17时 缴费时间&#xff1a;11月14日9时一11月…

江协科技STM32学习- P30 FlyMCU串口下载STLink Utility

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

HarmonyOS鸿蒙开发入门,常用ArkUI组件学习(一)

刚开始接触HarmonyOS的开发&#xff0c;希望不会太晚。在我学习的过程中&#xff0c;我会将我学到的内容&#xff0c;通过写博客的形式&#xff0c;来进行回忆和复习。同时也希望能够遇到志同道合的朋友&#xff0c;我们一起学习&#xff0c;一起进步&#xff0c;文章中有什么不…