OpenHarmony实战:用IPOP调试 OpenHarmony 内核

news2024/11/24 11:02:09

前言

我使用的是 IPOP V4.1,基于 OpenHarmony 开源系统和 RK3568 开发板,在 PC 上运行此软件,查看运行、错误日志来调试内核。作为网络、嵌入式式内核调试的必备工具,建议同学珍藏。IPOP 运行在 PC 上,操作系统是 Windows10 x64。

一、调试 OpenHarmony 内核、硬件 IPOP 工具说明

1.1. 概述

IPOP 软件是一款功能强大、绿色免费、界面朴实无华、实用性强的网络 IP 专用工具的集合。它基本上包含了 IP 地址动态性绑定、MAC 地址改动、帖子配备、流量监测、端口号等各个领域,功能齐备,特别适合 OpenHarmony 内核、互联网开发和测试工程师应用。

1.2. 网络方面的功能

  1. IP 地址动态性绑定功能;
  2. 路由器记录查询和配备功能;
  3. MAC 地址记录查询、变更功能;
  4. MAC、服务器信息内容扫描仪功能;
  5. MAC 地址与生产厂家相匹配表;
  6. 该设备互联网报文格式统计分析功能;
  7. 该设备端口号目录、远程控制端口扫描器功能;
  8. 常用端口一览表;
  9. 端口映射功能;
  10. 网卡流量监控和标示功能;
  11. 该设备 IP 报文格式捕捉和推送功能;
  12. 多用户 telnet/ssh/sftp/ ftp/ dos/串口通信维护保养终端设备专用工具,适用 IPV6;
  13. TCP、UDP、Telnet、FTP、TFTP、WEB、群聊通讯等网络服务器功能。

二、安装 USB 转 COM 设备驱动

2.1. 连接电缆

一头连接 PC USB 端口,另一头链接开发板 COM 端口。开发板上运行开源系统主线版本,连接端口如白色线缆所示,如果联通就会亮红灯

2.2. 安装 USB 转 COM 驱动

CDM212364_Setup 为当前使用的 FTDI 芯片 USB 转 COM 口驱动,一路确定即可完成,有时安装完成后需要重启 PC。驱动安装包从附件下载。

2.3. 在设备管理器查看驱动是否安装成功

驱动未安装成功如图片左边所示,成功则如右边所示,会出现”USB Serial Port(COM) ”字样。

三、用 IPOP 调试 OpenHarmony 内核

采用 USB 转 COM 端口调试 OpenHarmony 内核、硬件

3.1. 操作步骤

双击打开 IPOP 软件,选择终端工具 → 新建连接 ①→ 选择类型 ②(和设备管理器里面显示的一致)→ 波特率 ③→ 自动存盘 ④→ 存盘目录 ⑤→ 在连接列表选择对应连接 → 确定 ⑥,步骤如下图所示,蓝色背景不断刷新的信息就是系统运行的日志。

3.2. 注意事项

  • 如果连接列表中不存在对应连接,在连接名称中填入和选择类型相同的名称。
  • 避免频繁换行不好看,将“每行列数”设置为 132。
  • 自动保存的日志,在存盘目录可以看到。

3.3. 典型按钮功能说明

当鼠标悬停在每个按钮上时,会自动显示其功能提示。

  • 绿色灯图标:正在存盘,单击变为红灯则停止存盘。此功能方便我们在条件就绪的情况抓取日志片段。
  • 剪刀图标:清空当前日志。

3.4. 添加快捷输入按钮

如果需要向开发板发送较长或多个指令时,避免手动输入,可以自定义功能按钮,确定后会出现在工具条的末尾。用时单击即可。

四、dmesg 用法

在开源系统中,了解系统的内核信息和故障诊断是至关重要的。而 dmesg 指令就是一个强大的工具,它可以帮助我们查看系统内核的日志信息,了解系统的运行状态和故障原因。

4.1. dmesg 指令简介

dmesg 指令是一个在开源系统中查看内核日志的实用工具。它允许我们查看系统内核的输出消息,包括引导信息、硬件检测、设备驱动程序和系统错误等。通过使用 dmesg 指令,我们可以追踪系统启动过程中的事件,排查故障和问题。

4.2. 查看系统内核日志

使用 dmesg 指令可以轻松查看系统的内核日志。只需在终端中输入以下命令:dmesg
命令执行后,将显示最新的内核日志信息。日志可能包含各种关于系统硬件、设备驱动程序和内核模块的消息。您可以通过滚动终端窗口或使用管道命令进行过滤来查看完整的日志。

4.3. 过滤和搜索内核日志

dmesg 指令支持使用管道命令结合其他工具对内核日志进行过滤和搜索,以便更精确地查找特定的信息。以下是一些常用的过滤和搜索技巧:

  • 过滤特定关键字
    使用 grep 命令结合 dmesg 指令,可以过滤出包含特定关键字的日志信息。例如,以下命令将只显示包含"error"关键字的日志:#dmesg | grep error
  • 显示最新的 N 行日志
    使用 tail 命令结合 dmesg 指令,可以显示最新的 N 行日志。例如,以下命令将显示最新的 10 行日志:#dmesg | tail -n 10
  • 按时间戳排序日志
    使用 sort 命令结合 dmesg 指令,可以按时间戳对日志进行排序。例如,以下命令将按时间戳从新到旧排序日志:
    #dmesg | sort -r

五、设置内核日志打印等级

当系统崩溃修复时,会产生大量系统日志,不便于关键信息获取,通过修改系统日志打印级别,可突出所需级别的日志信息,便于查找。

5.1. 查询串口日志级别

在 OS 执行 cat /proc/sys/kernel/printk 命令,返回信息中的“7”表示串口日志级别:

# cat /proc/sys/kernel/printk
7      4         1        7

5.2. 修改串口日志级别

该方法只对当次运行有效,OS 重启后串口日志级别恢复为配置文件定义的级别。
在 OS 执行 echo N > /proc/sys/kernel/printk 命令,N 表示要设置的串口日志级别。

# echo 6 > /proc/sys/kernel/printk
# cat /proc/sys/kernel/printk
6       4         1        7

5.3. 相关串口日志级别说明

LevelNameDescription
0KERN_EMERG紧急消息。系统崩溃之前提示,表示系统已不可用。
1KERN_ALERT报告消息。表示必须立即采取措施。
2KERN_CRIT临界消息。通常涉及严重的硬件或软件操作失败。
3KERN_ERR错误消息。串口日志的默认级别。驱动程序常用 KERN_ERR 来报告硬件的错误。
4KERN_WARNING警告消息。对可能出现问题的情况进行警告。
5KERN_NOTICE正常但又重要的消息。用于提醒,常用于与安全相关的消息。
6KERN_INFO提示消息。如驱动程序启动时,打印硬件消息。
7KERN_DEBUG调试消息。设置此级别会打印所有日志消息。

最后

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

鸿蒙(HarmonyOS NEXT)最新学习路线

  •  HarmonOS基础技能

  • HarmonOS就业必备技能 
  •  HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核 
  • 实战就业级设备开发

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

《鸿蒙 (OpenHarmony)开发入门教学视频》

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

图片

 《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

图片

 《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

图片

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

图片

 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW动车组谐波分析与检测系统

LabVIEW动车组谐波分析与检测系统 随着中国高速铁路网络的快速发展,动车组数量和运行速度的不断提升,其产生的谐波问题对电网产生了不小的影响。基于图形化编程语言LabVIEW,开发了一套动车组谐波分析与检测系统,旨在实时监控与分…

华为数通方向HCIP-DataCom H12-821题库(多选题:241-260)

第241题 [RTAospf100 [RTA-ospf-100]silent-intefaceGigabitEthernet 1/0/0上面是路由器RTA的部分配置,对于此部分的配置描述,正确的是: A、接口gigabitethemet 1/0/0的直连路由仍然可以发布出去 B、无法与该接口的直连邻居形成邻居关系 C、禁止接口gigabi tethemet 1/0/0发…

AcrelEMS-EV 汽车制造能效管理系统解决方案

安科瑞电气股份有限公司 祁洁 15000363176 一、行业现状 1、政府、市场越来越关注碳排放指标。 2、用能设备缺乏完整的在线监视分析系统,无法及时发现用能异常和能源利用效率。 3、不能生产全流程监测和分析能源利用水平,无法及时发现浪费。 4、用…

Linux shell编程学习笔记45:uname命令-获取Linux系统信息

0 前言 linux 有多个发行版本,不同的版本都有自己的版本号。 如何知道自己使用的Linux的系统信息呢? 使用uname命令、hostnamectl命令,或者通过查看/proc/version文件来了解这些信息。 我们先看看uname命令。 1 uname 命令的功能和格式 …

4、jvm基础知识(四)

有哪些常见的垃圾回收算法? ⚫1960年John McCarthy发布了第一个GC算法:标记-清除算法。 ⚫1963年Marvin L. Minsky 发布了复制算法。 本质上后续所有的垃圾回收算法,都是在上述两种算法的基础上优化而来。 垃圾回收算法-标记清除算法 标记清…

3d在线虚拟数字展馆让学员通过游戏化体验接受爱国主义教育

随着科技的飞速发展,红色展厅已不再局限于实体空间。现在,借助VR虚拟仿真技术的强大力量,我们与多家党建馆推出一个全新的教育平台——VR红色虚拟展馆。在这里,爱国主题与尖端技术相结合,为广大学生提供一种全新的、互…

Excel·VBA二维数组组合函数之穷举推理题

看到一个帖子《CSDN-求助一道推理题》,与之前《python穷举暴力破解《2018年刑侦推理题》用python穷举的推理题很类似 那么是否可以使用《ExcelVBA二维数组组合函数、组合求和》combin_arr2d函数,生成结果进行穷举呢? Sub 穷举推理题()Dim …

sql注入---Union注入

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 学习目标 了解union注入过程中用到的关键数据库,数据表,数据列sql查询中group_concat的作用使用union注入拿到靶机中数据库里的所有用户名和密码 一. 获得数据库表名和列…

Flask-RESTful 分析

Flask-RESTful 是一个 Flask 扩展,它为构建 RESTful API 提供了方便的工具和资源。它简化了创建 RESTful 服务的过程,允许开发者专注于业务逻辑而不是 HTTP 协议的细节。 资源(Resources): Resource 类:是…

无代理方式的网络准入技术:保护泛终端企业网络安全的未来

云计算、大数据、物联网、移动化办公等技术的普及,打破了传统局域网的边界,通过各种方式连接到企业网络中的设备越来越多,如BYOD、IoT、OT等。企业在享受新技术带来的便利之际,也面临着更加多元化的安全威胁,如勒索病毒…

vscode 自用的一些配置

目录 1,修改默认配置1,关闭预览模式2,取消自动定位到左侧边栏 2,自定义快捷键1,手动定位到左侧边栏2,关闭其他3,其他常用快捷键 3,插件1,和 git 相关的GitlensGit Histor…

《2023腾讯云容器和函数计算技术实践精选集》--在 K8s 上跑腾讯云 Serverless 函数,打破传统方式造就新变革

目录 目录 前言 《2023腾讯云容器和函数计算技术实践精选集》带来的思考 1、特色亮点 2、阅读体验 3、实用建议 4、整体评价 Serverless 和 K8s 的优势 1、关于Serverless 函数的特点 2、K8s 的特点 腾讯云 Serverless 函数在 K8s 上的应用对企业服务的影响 案例分…

CrossOver玩游戏会损害电脑吗 CrossOver玩游戏会卡吗 Mac玩游戏 crossover24免费激活

CrossOver是一款可以在macOS上运行Windows应用程序的软件,它利用了Wine技术,无需安装虚拟机或双系统,可以直接在苹果系统下运行Windows游戏。那么,使用CrossOver玩游戏会损害电脑吗?CrossOver玩游戏会卡吗?…

设计模式23--观察者模式

定义 案例一 案例二 优缺点

Java 操作 Hadoop 集群之 HDFS 的应用案例详解

Java 操作 Hadoop 注意:本文内容基于 Hadoop 集群搭建完成基础上: Linux 系统 CentOS7 上搭建 Hadoop HDFS集群详细步骤 本文的内容是基于下面前提: Hadoop 集群搭建完成并能正常启动和访问Idea 和 Maven 分别安装完成需要有 JavaSE 基础和熟悉操作hadoop 的 hdfs dfs 命令…

Samtec连接器 | 应用分享C-V2X技术在汽车领域的应用

【前言】 在汽车设计领域有一个新的缩写,就是C-V2X。被谈及时,这被称为车辆到X,有时也被称为车辆到万物。前面的 "C "代表蜂窝网络。 这些缩写代表最新的基于车辆应用利用蜂窝通讯网络的电子产品。特别是,正在推出的5G…

Spring6-单元测试:JUnit

1. 概念 在进行单元测试时,特别是针对使用了Spring框架的应用程序,我们通常需要与Spring容器交互以获取被测试对象及其依赖。传统做法是在每个测试方法中手动创建Spring容器并从中获取所需的Bean。以下面的两行常见代码为例: ApplicationCo…

AWS迁移教程,Redis迁移到Elasticache

当企业不断出海拓展业务,面临的挑战之一就是如何高效迁移应用程序及数据库至云端。为解决这一问题,AWS云专门提供多种简单且高效的迁移方式,进行帮助企业实现应用程序的平稳迁移,从而降低迁移过程中的风险和成本。下面九河云将为大…

数据可视化基础与应用-07-数据可视化第二版各种类型图表的绘制优化版

参考教材截图 数据可视化第二版-03部分-06章-比较与排序 总结 本系列博客为基于《数据可视化第二版》一书的教学资源博客。本文主要是第6章,比较与排序可视化的案例相关。 可视化视角-比较与排序 代码实现 创建虚拟环境 我的conda下有多个python环境。 1. pyt…

云计算迎变局:阿里云、腾讯云“各有千秋”

毋庸置疑,无论在什么时候什么行业,低价策略都是一柄利器。比如,在电商行业,除了拼多多将低价策略贯彻到底之外,淘宝、京东也将性价比作为发力重点,并通过补贴、秒杀等方式,再度强调自身的“价格…