BES2600WM---HiLink RM56 EVK

news/2024/11/6 18:07:29/

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触发固件下载

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

 


http://www.ppmy.cn/news/1544864.html

相关文章

TCP Analysis Flags 之 TCP Keep-Alive

前言 默认情况下,Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态,并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时,会对每个 TCP 数据包进行一次分析,数据包按照它们在数据包列表中出现的顺序进行处理。可…

Rust移动开发:Rust在Android端集成使用介绍

Andorid调用Rust 目前Rust在移动端上的应用,一般作为应用sdk的提供,供各端使用,目前飞书底层使用Rust编写通用组件。 该篇适合对Android、Rust了解,想看如何做整合,如果想要工程源码,可以评论或留言有解疑…

什么是Java的线程(Thread)?

Java的线程(Thread)是Java程序中执行的最小单位。线程是操作系统调度的基本单位,它可以独立执行一段代码,并拥有自己的程序计数器、栈和局部变量。Java中的线程通过使用Thread类来实现,可以通过继承Thread类或实现Runn…

Python小游戏19——滑雪小游戏

运行效果 python代码 import pygame import random # 初始化Pygame pygame.init() # 设置屏幕尺寸 screen_width 800 screen_height 600 screen pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("滑雪小游戏") # 定义颜色 WH…

Docker打包自己项目推到Docker hub仓库(windows10)

一、启用Hyper-V和容器特性 1.应用和功能 2.点击程序和功能 3.启用或关闭Windows功能 4.开启Hyper-V 和 容器特性 记得重启生效!!! 二、安装WSL2:写文章-CSDN创作中心https://mp.csdn.net/mp_blog/creation/editor/143057041 三…

Python软体中使用Pandas库读取数据并绘制柱状图的实用指南

Python软体中使用Pandas库读取数据并绘制柱状图的实用指南 在数据分析和可视化的过程中,Python的Pandas库和Matplotlib库是两个不可或缺的工具。Pandas用于数据处理和分析,而Matplotlib则用于数据可视化。本文将详细介绍如何使用Pandas库读取数据,并利用Matplotlib绘制柱状…

【Linux第七课--基础IO】内存级文件、重定向、缓冲区、文件系统、动态库静态库

目录 引入内存级文件重新使用C文件接口 -- 对比重定向写文件读文件文件流 认识文件操作的系统接口open参数 -- flagflag的内容宏的传参方式 open关闭文件写文件读文件结论 引入文件描述符fd、对文件的理解理解一切皆文件方法集文件fd的分配规则 重定向代码的重定向输入重定向输…

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

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