当前位置: 首页 > news >正文

openharmony—4.1 softbus_tool 工具编译使用测试笔记(持续更新)

 相关资料:

1.communication_dsoftbus: 暂无描述 - Gitee.com

2.dsoftbus_tool: OpenHarmony 分布式软总线样例

3.OpenAtom OpenHarmony​

4.OpenAtom OpenHarmony

编译该demo之前需要大家搭建拉取openharmony源码,搭建开发环境,同时全量编译成功,具体可以看这两篇文章

创作中心-CSDN

创作中心-CSDN

我们将仓库,拉取下来

dsoftbus_tool: OpenHarmony 分布式软总线样例

目录如下

softbus_tool目录如下

1.复制文件夹

我们将softbus_tool文件夹放入 openharmony源码目录/foundation/communication/dsoftbus/tests/

2.编辑GN

打开OpenHarmony/foundation/communication/dsoftbus/core/BUILD.gn

增加

"../tests/softbus_test:softbus_test"

3.编译

进入openharmony目录,使用如下命令编译

sudo ./build.sh --product-name rk3568 --ccache --build-target dsoftbus

3.1 解决编译报错

报错

原因为在hilog在4.1中的需要增加依赖才可以使用

重新编译

3.2 编译成功

编译结果在

3.3 清理之前编译结果

sudo rm -rf ./out/rk3568

3.4 编译64位版本

sudo ./build.sh --product-name rk3568 --target-cpu arm64 --ccache --build-target dsoftbus

编译失败,因为当前系统不支持64位

3.5 加快编译的命令

第一次编译完成之后,我们可以直接使用之前的GN,不需要每次都重新构建,所以可以直接使用如下命令

sudo ./build.sh --product-name rk3568 --ccache --build-target dsoftbus --fast-rebuild

4.将编译后的结果放置到开发板上

这里我们需要先将文件挪到window上,然后使用hdc工具将文件发送到开发板上

相关资料:

OpenHarmony 开源鸿蒙北向开发——hdc工具安装_鸿蒙hdc下载-CSDN博客

OpenHarmony 开源鸿蒙北向开发——hdc工具使用及常用命令(持续更新)-CSDN博客

我这里是在鸿蒙系统下./data/创建了test目录,然后使用hdc工具传输到该目录,同时我直接在softbus_tool目录下打开的cmd,所以直接使用如下命令将文件传送至开发板

hdc file send softbus_tool ./data/test

然后我们使用hdc工具进入openharmony的shell,

hdc shell

之后进入鸿蒙后台可以看见该文件,

然后我们需要修改权限,使用如下命令

chmod 777 ./data/test/softbus_tool

5.运行

我这里直接在hdc工具的shell下运行该文件,运行成功

5.1 运行报错

但是依照softbus_tool仓库的README运行时,产生报错

而我使用使用串口后台运行是这样提示的

5.2 查看日志

我们这边先运行工具,但是不输入命令

然后打开另一个hdc shell

使用如下命令,查看所有进程

ps -ef | grep "softbus"

找到softbus tol的进程PID,即2269

使用hilog查看该pid日志

hilog -P 2235

同时在原先的shell下输入命令操作softbus_tool工具,日志如下

仍旧报错

而在hilog这边

查了下资料发现softbus tool仓库的README是基于openharmony3.1编写的,与openharmony4.1不同。

相关资料: communication_dsoftbus: 暂无描述 - Gitee.com

我们应该使用如下几个命令

******Softbus Tool Command List****** *

04 - JoinLNN * *

05 - LeaveLNN * *

08 - PublishLNN * *

09 - StopPublishLNN * *

10 - RefreshLNN * *

11 - StopRefreshLNN * *

20 - SendMessage * *

21 - SendBytes * *

22 - SendStream * *

23 - SendFile * *

************************************

5.3 运行报错

尝试发现,无法进入回调函数,将源码中的信号量部分注释掉,发现可以了

重新编译,发现运行可以了,这里我复制了一份softbus tool作为softbus test,编译后在开发板上运行

发现可以了

相关文章:

openharmony—4.1 softbus_tool 工具编译使用测试笔记(持续更新)

​ 相关资料: 1.communication_dsoftbus: 暂无描述 - Gitee.com 2.dsoftbus_tool: OpenHarmony 分布式软总线样例 3.OpenAtom OpenHarmony​ 4.OpenAtom OpenHarmony 编译该demo之前需要大家搭建拉取openharmony源码,搭建开发环境,同时全…...

关于 Web 服务器的五个案例

一、案例题目: 1.多 IP 访问多网站(在 RHCE 练习二中的实验二) 2.多端口访问多网站 3.多域名访问多网站 4.虚拟目录和用户控制 5.https/443 二、案例实验 2.多端口访问多网站 ① 开始还是先关闭我们的防火墙以及 selinux [rootserve…...

第十二章-PHP文件上传

第十二章-PHP文件上传 一,文件上传原理 一、HTTP协议与文件上传 1. 请求体结构 当表单设置enctype"multipart/form-data"时,浏览器会将表单数据编码为多部分(multipart)格式。 Boundary分隔符:随机生成的…...

shell脚本部署disu博客

#!/bin/bash #关闭防火墙 systemctl status firewalld &>/dev/null if [ $? -ne 0 ];then systemctl stop firewalld &>/dev/null else echo “firewalld is disabled” fi #关闭selinux filegetenforce if [ “$fine” “Disabled” ];then echo “firewalld…...

NdrpPointerUnmarshallInternal函数分析之pFormatPointee指针的确定

第一部分: 0: kd> p RPCRT4!NdrPointerUnmarshall0x29: 001b:77c46ce4 e8b6f6ffff call RPCRT4!NdrpPointerUnmarshall (77c4639f) 0: kd> t Breakpoint 4 hit RPCRT4!NdrpPointerUnmarshall: 001b:77c4639f 55 push ebp 0: kd> …...

STM32(M4)入门:定时器延时与系统滴答(价值 3w + 的嵌入式开发指南)

第 1 章 延时:嵌入式系统的时间控制基石 1.1 延时基础:从概念到硬件实现 1.1.1 什么是延时? 定义:延时是通过软件或硬件手段,使程序执行过程中暂停指定时间,再继续后续操作的技术。本质是对时间的精确或…...

2025 FIC wp

这次比赛计算机和手机大部分题目都比较常规 第一和第四部分有点让人摸不着头脑 比赛的时候第一部分有四个题没出 第四部分基本都没怎么出 现在复盘一下 把我当时做题的心得和获取的新知识记录一下 互联网取证的部分就先学习一下别的师傅 检材 链接:https://pan.bai…...

STM32标准库和HAL库SPI发送数据的区别-即SPI_I2S_SendData()和HAL_SPI_Transmit()互换

1、标准库SPI初始化 这是标准库的SPI初始化配置 2、HAL库SPI初始化 这是HAL库函数的SPI初始化配置 可以看出,基本一直,除了 基本的io口配置区别,其他主要的读写函数不用动的。 3、SPI发送函数_替换对比 /* SPI写入一个字节 */ void SP…...

Cesium 三维场景中通过自定义着色器实现多种特效(纹理、光带、点光源、反射)

整体功能概述 构建一个基于 Cesium 的三维场景,加载三维瓦片集模型,同时提供多种特效,像夜景纹理、上下扫光、点光源以及反射纹理等,利用 dat.gui 库创建交互界面。 代码详解 白膜特效 nightFs.glsl void fragmentMain(Fragm…...

Java学习--HashMap

HaspMap是Java集合框架中最重要、最常用的数据结构之一。其基于哈希表实现了Map接口&#xff0c;在Java1.8的版本中&#xff0c;其采用了“数组链表红黑树”的混合结构&#xff0c;底层代码如下&#xff1a; transient Node<K,V>[] table; // 哈希桶数组 static class N…...

Monorepo、Lerna、Yarn Workspaces、pnpm Workspaces 用法

Monorepo 介绍 Monorepo是一种方案&#xff0c;而非具体的工具。 Monorepo指的是将多个相关的项目或模块放在同一个代码仓库中进行管理的方式。这种方案有以下优点&#xff1a; 方便代码共享&#xff1a;不同项目或模块之间可以方便地共享代码、组件、工具函数等&#xff0c…...

JVM指令手册:深入理解字节码执行机制

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 引言 Java虚拟机&#xff08;JVM&#xff09;作为Java生态的核心执行引擎&#xff0c;其指令系统是理解程序底层运行机制的关键。本手册将系统解析JVM指令集…...

springboot logback 默认加载配置文件顺序

在 Spring Boot 应用中&#xff0c;Logback 默认加载配置文件的顺序遵循特定的规则。以下是详细的加载顺序和优先级说明&#xff1a; 1. 默认配置文件加载顺序 Logback 在 Spring Boot 中会按以下顺序查找并加载配置文件&#xff08;优先级从高到低&#xff09;&#xff1a; l…...

用 Nodemon 解决 npm run serve 频繁重启服务

Nodemon 是一个基于 Node.js 构建的开发工具&#xff0c;专为帮助开发者自动监控项目文件的更改而设计。每当文件发生变更时&#xff0c;Nodemon 会自动重启 Node.js 服务器&#xff0c;无需手动停止并重启。这对于提升开发速度、减少人工操作非常有帮助&#xff0c;尤其适用于…...

WEB安全--社会工程--SET钓鱼网站

1、选择要钓鱼的网站 2、打开kali中的set 3、启动后依次选择&#xff1a; 4、输入钓鱼主机的地址&#xff08;kali&#xff09;和要伪装的网站域名&#xff1a; 5、投放钓鱼网页&#xff08;服务器域名:80&#xff09; 6、获取账号密码...

系统架构师---基于规则的系统架构

引言 在业务规则高度动态且需快速响应的系统中&#xff0c;‌基于规则的系统架构风格&#xff08;Rule-Based System Architecture Style&#xff09;‌提供了一种将业务逻辑与代码解耦的标准化范式。从保险理赔的自动化审核到金融风控的实时拦截&#xff0c;规则引擎已成为企…...

嵌入式软件--stm32 DAY 4 中断系统

1.课后练习 学了这么长时间&#xff0c;现在让我们第一次做练习。 1.1往返流水灯 1.1.1 LED1-LED2-LED3-LED2-LED1循环 &#xff08;1&#xff09;工程准备 复制上一个寄存器实现的工程文档&#xff0c;删减修改我们正要实现的工程。为了区别练习和学习工程&#xff0c;我们…...

android开发制作aosp系统签名文件给普通apk签名使用

platform.pk8和platform.x509.pem复制出来放在同一目录下 将AOSP源码路径下build\target\product\security\platform.pk8和platform.x509.pem复制出来放在同一目录下 新开一个ternimal窗口执行下面命令&#xff0c;生成platform.pem文件 openssl pkcs8 -in platform.pk8 -info…...

AVL树的介绍与学习

目录 1.前言 2.AVL树 3.AVL树的插入 平衡因子的更新 更新停止的条件 旋转 1.前言 在学习了二叉搜索树&#xff0c;set和map之后&#xff0c;我们接下来趁热打铁&#xff0c;继续学习AVL树。 2.AVL树 1.AVL树具有二叉搜索树的性质&#xff0c;但是它的左右子树的高度差不…...

docker部署Mysql8一直密码错误记录

正常流程是这样得&#xff1a; 第一步 #拉镜像 docker pull mysql:8.0 第二步 #运行名为 mysql8 得容器 &#xff0c;MYSQL_ROOT_PASSWORD123456 设置密码 docker run -p 3307:3306 \ --name mysql8 \ -e MYSQL_ROOT_PASSWORD123456 \ -v /docker/mysql8/data:/var/lib/m…...

智慧水库与AI深度融合的实现方案及典型应用场景

以下是智慧水库与AI深度融合的实现方案及典型应用场景,结合行业前沿案例与技术架构展开: 一、智慧水库AI实现方案 1. 技术架构与核心工具 感知层: 多模态传感器网络:部署毫米波雷达水位计(精度3mm)、光纤光栅渗压计(分辨率0.01%FS)、高清智能球机(支持800万像素+AI分…...

大语言模型架构基础与挑战

大语言模型(Large Language Model, LLM)在近几年引领了自然语言处理领域的革命性进展。这类模型通常拥有极其庞大的参数规模(往往达到数十亿乃至数千亿级别),通过对海量文本数据进行自监督训练,展现出卓越的语言理解和生成能力。自2018年前后第一批大语言模型问世以来,基…...

KAG:通过知识增强生成提升专业领域的大型语言模型(二)

目录 摘要 Abstract 1 实验 1.1 实验设置 1.2 总体结果 1.3 消融研究 1.3.1 知识图谱索引消融 1.3.2 推理与检索消融 1.3.3 实验结果与讨论 2 KAG服务部署 2.1 安装Docker 2.2 安装Doker Compose 2.3 启动服务 2.4 查看状态 2.5 产品访问 3 KAG 0.6使用&#x…...

【Luogu】动态规划六

P1586 四方定理 - 洛谷 思路&#xff1a; 这题其实就是完全背包问题&#xff0c;但是有限制&#xff0c;最多数量只能是 4 所以我们可以定义 dp[i][j] 为 i 用 j 个数拼凑的总方案数 那么转移方程也很明显了&#xff0c;dp[i][j] dp[i - k*k][j - 1] 具体的&#xff0c;我…...

Postman接口测试: postman设置接口关联,实现参数化

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 postman设置接口关联 在实际的接口测试中&#xff0c;后一个接口经常需要用到前一个接口返回的结果&#xff0c; 从而让后一个接口能正常执行&#xff0c;这个…...

docker打开滚动日志

在 Docker 中启用滚动日志&#xff08;log rotation&#xff09;可以帮助你管理容器日志的大小&#xff0c;避免日志文件占用过多磁盘空间。以下是具体的操作步骤&#xff1a; 1. 修改 Docker 守护进程配置 Docker 的日志配置是通过 daemon.json 文件管理的。你需要修改此文件…...

单片机-89C51部分:5、点亮LED

飞书文档https://x509p6c8to.feishu.cn/wiki/SlB5wYD1QiPRzWkfijEcIvv8nyc 一、应用场景 二、点灯原理 插件led灯珠长引脚为正极,短引脚为负极。 LED&#xff08;发光二极管&#xff09;两端存在电压差&#xff0c;有一定的电流流过时会亮起。电流可以理解为水流&#xff0c;…...

Lua 第10部分 模式匹配

10.1 模式匹配的相关函数 字符串标准库提供了基于模式的 4 个函数。 我们已经初步了解过函数 find 和 gsub&#xff0c;其余两个函数分别是 match 和 gmatch (Global Match 的缩写&#xff09;。 函数 string.find 用于在指定的目标字符串中搜索指定的模式。最简单的模式就是一…...

Maven 4.0.0 模式-pom.xml配置详解

Maven 4.0.0 模式-pom.xml配置详解 ​ 此 pom.xml 文件涵盖了 Maven 4.0.0 模式支持的所有主要标签&#xff0c;包括项目元数据、依赖管理、构建配置、发布管理等。每个标签都配有详细注释&#xff0c;说明其作用、常见用法和可能的值。 ​ 此文件旨在展示标签的完整性&#…...

IDEA 连接 Oracle 数据库

IDEA 连接 Oracle 数据库...

机器人快速启动

机器人快速启动 ES机器人开机操作流程 方法一&#xff08;一体化底座启动&#xff09; 接通48V电源点击底座“Power”按钮观察电源指示灯亮起&#xff0c;蜂鸣器发出“嘀”声&#xff0c;代表底座启动完成 方法二&#xff08;控制手柄启动&#xff09; 长按手柄开关机键2秒后松…...

使用 MediaPipe 和 OpenCV 快速生成人脸掩膜(Face Mask)

在实际项目中&#xff0c;尤其是涉及人脸识别、换脸、图像修复等任务时&#xff0c;我们经常需要生成人脸区域的掩膜&#xff08;mask&#xff09;。这篇文章分享一个简单易用的小工具&#xff0c;利用 MediaPipe 和 OpenCV&#xff0c;快速提取人脸轮廓并生成二值掩膜图像。 …...

《全球反空间能力》报告翻译——部分1

全球反空间能力 已进行过破坏性反卫星测试的国家 美国 美国目前拥有世界上最先进的军事太空能力&#xff0c;尽管与中国的相对差距正在缩小。在冷战期间&#xff0c;美国开创了许多现今使用的国家安全太空应用&#xff0c;并在几乎所有类别中保持技术领先地位。美国军方在将…...

云原生课程-Docker

一次镜像&#xff0c;到处运行。 1. Docker详解&#xff1a; 1.1 Docker简介&#xff1a; Docker是一个开源的容器化平台&#xff0c;可以帮助开发者将应用程序和其依赖的环境打包成一个可移植的&#xff0c;可部署的容器。 docker daemon:是一个运行在宿主机&#xff08;DO…...

组件的基本知识

组件 组件的基本知识 组件概念组成步骤好处全局注册生命周期scoped原理 父子通信步骤子传父 概念 就是将要复用的标签&#xff0c;抽离放在一个独立的vue文件中&#xff0c;以供主vue文件使用 组成 三部分构成 template&#xff1a;HTML 结构 script: JS 逻辑 style: CSS 样…...

空间矩阵的思考

今天又看了些线性代数&#xff0c;引发了许多思考。   矩阵是以长和宽存储数据&#xff0c;那有没有一种新型的矩阵&#xff0c;以长宽高的形式存储数据呢&#xff1f;我不知道有没有&#xff0c;所以暂且称其为空间矩阵。   它肯定是存在的&#xff0c;可以这样抽象&#…...

【数据挖掘】时间序列预测-常用序列预测模型

常用序列预测模型 &#xff08;1&#xff09;AR&#xff08;自回归&#xff09;模型&#xff08;2&#xff09;ARIMA模型&#xff08;3&#xff09;Prophet模型&#xff08;4&#xff09;LSTM模型&#xff08;5&#xff09;Transformer模型&#xff08;6&#xff09;模型评估6.…...

将你的本地项目发布到 GitHub (新手指南)

目录 第 1 步&#xff1a;在 GitHub 上创建新的仓库 (Repository)第 2 步&#xff1a;将本地仓库连接到 GitHub 远程仓库第 3 步&#xff1a;(可能需要) 重命名你的默认分支第 4 步&#xff1a;将本地代码推送到 GitHub第 5 步&#xff1a;在 GitHub 上检查结果后续工作流程 你…...

[论文梳理] 足式机器人规划控制流程 - 接触碰撞的控制 - 模型误差 - 自动驾驶车的安全合规(4个课堂讨论问题)

目录 问题 1&#xff1a;足式机器人运动规划 & 控制的典型流程 (pipline) 1.1 问题 1.2 目标 1.3 典型流程&#xff08;Pipeline&#xff09; 1.3.1 环境感知&#xff08;Perception&#xff09; 1.3.2 高层规划&#xff08;High-Level Planning&#xff09; 1.3.3 …...

初中级前端面试全攻略:自我介绍模板、项目讲解套路与常见问答

为了给面试官留下专业而亲切的第一印象&#xff0c;自我介绍要突出与岗位相关的技能和项目经验&#xff0c;同时以自己擅长的领域开放式结尾​。通常可以按照以下思路组织自我介绍内容&#xff1a;首先简单介绍个人信息和工作年限&#xff0c;然后列出精通的前端技术栈&#xf…...

Android开发中svg转xml工具使用

要使用 svg2vector-cli 工具通过命令行将 SVG 文件转换为 Android 可用的 XML 矢量图标文件&#xff0c;可以单个文件转换或者整个文件夹批量转换&#xff0c;以下是详细的步骤和说明&#xff1a; 1. 准备工作 1.1 下载工具 首先需要下载 svg2vector-cli-1.0.0.jar 或更高版本…...

爬虫技术入门:基本原理、数据抓取与动态页面处理

引言 在当今数据驱动的时代&#xff0c;网络爬虫技术已成为获取和分析互联网数据的重要手段。无论是搜索引擎的网页收录、竞品数据分析&#xff0c;还是学术研究的语料收集&#xff0c;爬虫技术都发挥着关键作用。本文将深入浅出地讲解爬虫的基本原理&#xff0c;分析它能获取…...

AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年4月27日第65弹

从今天开始&#xff0c;咱们还是暂时基于旧的模型进行预测&#xff0c;好了&#xff0c;废话不多说&#xff0c;按照老办法&#xff0c;重点8-9码定位&#xff0c;配合三胆下1或下2&#xff0c;杀1-2个和尾&#xff0c;再杀6-8个和值&#xff0c;可以做到100-300注左右。 (1)定…...

服务器数据备份,服务器怎么备份数据呢?

企业数据量呈指数级增长&#xff0c;服务器数据备份已成为保障业务连续性、抵御勒索攻击与合规审查的核心技术环节。当前&#xff0c;服务器数据备份方案需兼顾数据完整性、恢复时效性、存储经济性三大核心诉求&#xff0c;其实现路径可根据技术架构、数据规模及容灾等级划分为…...

语音识别质量的跟踪

背景 这个项目是用来生成结构化的电子病历的。数据的来源是医生的录音。中间有一大堆的处理&#xff0c;语音识别&#xff0c;关键字匹配&#xff0c;结构化处理&#xff0c;病历编辑......。最多的时候给上百家医院服务。 语音识别质量的跟踪 一、0225医院的训练后的情况分…...

【数据挖掘】时间序列预测-时间序列的平稳性

时间序列的平稳性 &#xff08;1&#xff09;平稳性定义&#xff08;2&#xff09;平稳性处理方法2.1 差分法2.2 季节调整&#xff08;Seasonal Adjustment&#xff09;2.3 趋势移除&#xff08;Detrending&#xff09;2.4 对数转换&#xff08;Logarithmic Transformation&…...

成都蒲江石象湖旅游攻略之石象湖郁金香最佳观赏时间

石象湖坐落于成都蒲江&#xff0c;拥有绝美的郁金香花海&#xff0c;吸引了很多的游客。如果大家想要观赏比较诱惑人的郁金香&#xff0c;那自然就应该知道正确的观赏时间。 心想郁金香合适的时间是每年的3月份到3月底。石象湖会还会举办盛大的郁金香节&#xff0c;在花园内有数…...

大模型、知识图谱和强化学习三者的结合,可以形成哪些研究方向?

大模型(Large Language Models, LLMs)、知识图谱(Knowledge Graph, KG)与强化学习(Reinforcement Learning, RL)作为人工智能领域的三大核心技术,其融合正推动着认知智能迈向新高度。本文结合2023-2025年的最新研究成果,系统梳理三者结合的七大科研方向及其技术路径。 …...

Linux文件操作

在C语言中&#xff0c;我们已经学习了文件相关的知识&#xff0c;那么在Linux中我们为什么还要再来学习文件呢&#xff1f;这是因为C语言中和Linux中&#xff0c;"文件"是2个不同的概念。所以我们要来学习Linux中对文件的操作。 在学习之前&#xff0c;我们先来回顾一…...

PostSwigger Web 安全学习:CSRF漏洞3

CSRF 漏洞学习网站&#xff1a;What is CSRF (Cross-site request forgery)? Tutorial & Examples | Web Security Academy CSRF Token 基本原理 CSRF Token 是服务端生成的唯一、随机且不可预测的字符串&#xff0c;用于验证客户端合法校验。 作用&#xff1a;防止攻击…...