自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gkxg001的博客

孤云出岫,去留一无所系,朗镜悬空,静躁两不相干。能干扰到我们的,只有我们自己。

  • 博客(87)
  • 资源 (12)
  • 收藏
  • 关注

原创 RK3568DAYU开发板-平台驱动开发--UART

本文介绍了基于OpenHarmony 5.0.0开发的UART驱动案例,适用于dayu200开发板。内容包含UART基础知识、驱动开发和应用开发三部分。首先阐述了UART异步串行通信原理,包括2线和4线连接方式;其次详细说明了UART驱动开发的核心接口和实现步骤,重点分析了UartHostMethod结构体成员函数的功能;最后介绍了UART应用开发的主要API接口及其功能。该案例为开发者在OpenHarmony平台上实现UART设备驱动和串行通信应用提供了完整参考。

2025-05-29 19:58:25 874

原创 RK3568DAYU开发板-平台驱动开发:I2C驱动(原理、源码、案例分析)

本文介绍了基于OpenHarmony 5.0.0系统的I2C驱动开发案例,重点阐述了I2C总线原理和驱动开发流程。文章首先概述了I2C总线的特点和工作机制,包括其主从模式、数据传输方式等。接着详细说明了I2C驱动的分层架构(接口层、核心层、适配层)和关键开发接口,包括I2cMethod和I2cLockMethod的实现要求。最后提供了I2C应用开发的主要API接口说明,包含控制器打开/关闭和数据传输等核心操作。该案例为在OpenHarmony系统上开发I2C驱动提供了完整的技术参考。

2025-05-28 16:05:29 1060

原创 i2c-tools使用的介绍及示例(i2cdetect,i2cdump, i2cget、i2cset、i2ctransfer)

本文介绍了Linux下常用的I2C调试工具集i2c-tools的使用方法,包括i2cdetect、i2cdump、i2cget、i2cset和i2ctransfer五个工具。这些工具可用于查询I2C总线上的设备、读取/设置寄存器值等操作。文章详细说明了每个工具的基本语法和常用参数,并给出了具体示例,如扫描总线设备(i2cdetect)、查看寄存器值(i2cdump)、读写寄存器(i2cget/i2cset)以及多字节传输(i2ctransfer)等实际应用场景。这些工具是Linux驱动开发中与I2C设备交互

2025-05-28 16:04:17 216

原创 RK3568DAYU开发板-驱动平台驱动案例--PWM

OpenHarmony PWM驱动开发与应用指南本文介绍了OpenHarmony系统下的PWM驱动开发与应用。PWM(脉冲宽度调制)技术广泛应用于马达控制、背光调节等领域。系统采用独立服务模式,每个设备独立发布服务。开发过程包含四个步骤:驱动入口实例化、属性文件配置、控制器对象实例化和调试。应用层通过PwmOpen、PwmSetConfig等接口操作PWM设备,支持设置周期、占空比、极性等参数。文章详细说明了核心层钩子函数、PWM接口功能及使用方法,为OpenHarmony平台PWM功能开发提供了完整指导

2025-05-27 17:44:44 999

原创 RK3568DAYU开发板-平台驱动开发:ADC驱动

本文介绍了基于OpenHarmony5.0.0的ADC平台驱动开发,主要包括:ADC驱动基础知识:介绍了ADC功能及OpenHarmony中采用统一服务模式的分层架构设计;驱动开发要点:详细说明了ADC核心层钩子函数功能、开发步骤和API接口;程序实现:包括代码目录结构、配置文件说明及应用程序的一般调用流程;开发环境:基于dayu200开发板,Ubuntu22编译环境实现ADC设备管理功能。该驱动采用统一服务模式,通过核心层集中管理多个控制器,提高了资源利用效率。

2025-05-27 14:33:30 1128

原创 RK3568DAYU开发板-平台驱动开发:GPIO驱动

本文介绍了基于OpenHarmony5.0.0标准系统的GPIO驱动开发。主要内容包括:1)GPIO基础概念及其分层架构(接口层、核心层、适配层);2)GPIO驱动框架的核心钩子函数定义及功能说明;3)应用程序常用API接口;4)开发案例的代码目录结构和关键配置文件。文章详细解析了GPIO模块的工作原理,并提供了标准化的开发流程指导,适用于在OpenHarmony平台下进行GPIO外设驱动的开发部署。

2025-05-26 18:23:05 787

原创 记录一下学习鸿蒙操作系统的艰辛历程(安利一本书)

作为一名野路子开发人员,我在研究OpenHarmony时遇到了不少困难,主要因为对整体框架缺乏清晰理解,且相关资料不够系统。尽管华为提供了源码和简单说明,但探索过程依然艰难。直到我重新审视了《鸿蒙操作系统设计原理与架构》这本书,才发现它由华为设计团队参与编写,详细阐述了鸿蒙操作系统的架构设计和核心原理。这本书为我提供了宏观视角,帮助我更好地理解OpenHarmony,减少了探索中的弯路,思路也更加清晰。

2025-05-22 10:58:49 572

原创 rtty操作记录说明

整理资料发现了几年前做的操作记录,分享出来,希望对大家有用。rtty-master:rtty客户端程序,其中buffer\log\ssl为源码的子目录,从git上下载https://github.com/zhaojh329,rttys-master:为rtty的服务端程序,是go编写的。rttys编译的时候出问题了,对go不熟悉,应该是少控件,就没再继续编译,github。

2025-05-13 21:23:28 474

原创 linux调试内核工具实证记录—sysrq-trigger

/proc/sysrq-trigger 是 Linux 内核提供的一个强大的调试工具,允许用户通过写入特定命令来触发系统请求(SysRq)功能,类似于 Windows 系统中的 Ctrl+Alt+Delete。本文以 Ubuntu 18.04.6 LTS 系统为例,介绍了该工具的基本功能和使用方法。首先,用户需确保 SysRq 功能已启用,可通过 cat /proc/sys/kernel/sysrq 查看状态,并通过 echo 1 | sudo tee /proc/sys/kernel/sysrq 启用。

2025-05-13 15:57:53 847

原创 openharmony5.0.0中C++公共基础类测试-线程相关(一)

文件、路径、字符串相关操作的能力增强接口读写锁、信号量、定时器、线程增强及线程池等接口安全数据容器、数据序列化等接口各子系统的错误码相关定义包含强化线程能力、线程池、线程安全Map、线程安全栈与队列、线程安全阻塞队列强化线程能力:提供例如启动线程、同步通知、异步通知等功能的接口线程池:提供线程安全的线程池功能。线程安全是对于线程池本身而非池内线程而言的。维护一个任务队列,一个线程组。使用者向任务队列中注册需要进行的任务,线程组执行任务队列中的任务。线程安全Map。

2025-04-23 16:20:16 1168

原创 std::lock_guard的介绍(包含使用示例)

是 C++11 标准库中提供的一个模板类,用于简化互斥锁的管理,它利用了 RAII(资源获取即初始化)技术,确保在作用域结束时自动释放锁。

2025-04-23 10:39:26 418

原创 std::condition_variable的使用说明(详细解释和使用示例)

是 C++ 标准库中用于线程间通信的同步原语。它允许一个或多个线程等待某个条件为真。通常与std::mutex一起使用,wait和wait_for。

2025-04-15 18:13:41 388

原创 编程助手fitten code使用说明(超详细)(vscode)

这两年 AI 发展迅猛,作为开发人员,我们总是追求更快、更高效的工作方式,AI 的出现可以说改变了很多人的编程方式。AI 对我们来说就是一个可靠的编程助手,给我们提供了实时的建议和解决方,无论是快速修复错误、提升代码质量,或者查找关键文档和资源,AI 作为编程助手都能让你事半功倍。

2025-04-08 14:10:26 2075

原创 在openharmony中编译部署早期vi工具(附带vi工具源码)

为了验证下openharmony中对文件的操作和原始的linux有没有什么区别,发现默认的镜像中没有编译文件的工具(例如vi、Nano等),所以从[网上找了个比较早期的vi工具的源码,进行部署验证。

2025-04-02 16:19:46 908

原创 在openharmony中部署helloworld应用(超详细)(命令行)

基于OpenHarmony标准系统编写的基础程序类:HelloWorld

2025-04-02 10:49:04 356

原创 openharmony5.0.0中通过ps命令查看到的进程信息的说明(包含进程列表)

如下命令查看进程信息,为了简化说明此处只留下了一个最具有代表性的进程进行说明

2025-03-31 17:08:12 473

原创 linux中调整进程优先级参数(nice值)的介绍和使用说明

在 Linux 系统中,**nice值**是一个用于调整进程优先级的参数。它允许用户或系统管理员控制进程占用 CPU 时间的比例。nice值的范围是从 `-20` 到 `19`,默认值是 `0`。以下是 nice 值的具体含义和作用

2025-03-31 17:03:45 524

原创 通过一个led点灯的demo来熟悉openharmony驱动编写的过程(附带hdf详细调用过程)

本应用程序(led_rgb)是在上实现直接**通过消息机制与内核驱动进行交互,设置RGB三色灯的亮灯行为**。我从网上随便找了个demo测试了一下,坑了三天......,整个状态如下图,同时也迫使我深度梳理了一下整个流程框架。直到绝望的时候,翻书找思路的时候**找到了答案**。。。最绝的是想分享的时候从码云上找了下原作者的demo,发现**人家有相关问题的说明**。实际经验分享完毕,下面开始说细节

2025-03-26 14:59:36 833

原创 openharmony中hilog实证记录说明(3.1和5.0版本)

每次用这个工具hilog都有一些小用法记不清,需要花一些时间去查去分析使用方法,为了给丰富多彩的生活留出更多的时间,所以汇总整理共享来了。它来了它来了~~~~~~~~~开始是想通过3.1来汇总的,但实际测试发现openharmony3.1和openharmony5.0的区别还是比较大的,所以中间又采用的5.0的版本,又使用3.1版本的可以查看附件的简单说明。

2025-03-20 17:04:52 855

原创 openharmony5.0中HDF驱动框架源码梳理-服务管理接口

要想大概了解一个公司,我们可能只需要知道它的运行逻辑即可,例如我们只需要知道它有财务有研发有运营等,财务报销、研发负责产品等即可,但是如果想深入具体的了解的话我们就要了解都有什么部门(对象)、各部门都包含哪些职责(对象方法)以及各部门都包含哪些关键人员(子对象)以及他们的职责(子对象方法),根据这个逻辑我大概整理了openharmony 5.0的HDF框架中包含的关键对象以及对应的方法,便于更深的理解HDF的实现。

2025-03-14 10:03:43 737

原创 openharmony5.0中HDF驱动框架源码梳理-驱动加载流程

要想大概了解一个公司,我们可能只需要知道它的运行逻辑即可,例如我们只需要知道它有财务有研发有运营等,财务报销、研发负责产品等即可,但是如果想深入具体的了解的话我们就要了解都有什么部门(对象)、各部门都包含哪些职责(对象方法)以及各部门都包含哪些关键人员(子对象)以及他们的职责(子对象方法),根据这个逻辑我大概整理了HDF框架中包含的关键对象以及对应的方法,便于更深的理解HDF的实现

2025-03-11 11:03:32 843

原创 OpenHarmony5.0分布式系统源码实现分析—软总线

本文将深入分析 OpenHarmony 5.0 中分布式软总线的实现原理,包括其架构设计、核心功能、实现机制以及实际应用。(**只包含了软总线的一些核心内容,对于整体的框架还在整理中,例如分布式数据如何管理的、分布式的任务调度等等好多东西还没理清楚**)

2025-03-10 16:43:30 1406

原创 OpenHarmony 软总线中组网模块(bus_center)和发现模块(discovery)傻傻分不清楚

OpenHarmony 中,组网模块(bus_center)和发现模块(discovery)傻傻分不清楚

2025-03-07 17:07:12 416

原创 openharmony5.0中hdc工具的主要功能(mark一个坑了半天的小注意事项)

好久之前在测试openharmony的开发板时使用过hdc工具,印象中是比较顺利,所以也没有做相关的记录,但今天想传个文件,由于系统中没有自带ssh等网络协议,所以就想用hdc直接传一下,但死活没通过,半天后尝试换了下终端

2025-03-05 15:08:40 826

原创 openharmony5.0中hdf框架中实现驱动程序的动态加载和管理的技术细节分析

在分析openharmony的hdf框架的设备驱动加载器(IDriverLoader)时发现在创建实例时会首先判断一下是否完成了驱动入口的构建(HdfDriverEntryConstruct),如果没有构建会重新构建,这与我开始以为的不一致(我一直以为是采用的linux内核方式,只是由hdf来将驱动注册进去),oh将这部分由hdf框架接管了。下面我便将这部分实现驱动程序的动态加载和管理的技术细节进行分析

2025-02-24 16:57:32 1124

原创 openharmony5.0的hdf框架中如何实现host、device的动态管理

在阅读openharmony的hdf框架中发现在DeviceTokenClnt、HdfHostInfo、HdfDeviceInfo等结构体中以node成员变量(struct HdfSListNode node)为开头,开始不明白具体含义,后经梳理业务明白它是用来实现动态管理信息(在系统启动或运行时对进行添加、删除和遍历操作),具体实现的技术细节不复杂,和linux内核的contaner_of函数类似,但是在hdf中出现的频次实在是有点高了,所以想着还是单独拎出来举个例子增强一下理解。

2025-02-21 15:12:25 418

原创 openharmony中HDF驱动框架源码梳理-驱动消息机制

HDF框架提供统一的驱动消息机制,支持用户态应用向内核态驱动发送消息,也支持内核态驱动向用户态应用发送消息,用于当用户态应用和内核态驱动需要交互的场景。

2025-02-20 16:39:44 1403 3

原创 Linux 内核中用于唤醒处于可中断等待状态的进程的函数wake_up_interruptible(一个小示例demo)

在分析openharmony的hdf框架时看到了linux内核态的进程唤醒函数(wake_up_interruptible),在网上搜了一下大家更多的关注了它的原理,而我只想让大家瞬间理解它的用途,所以写了一个小demo作为示例,不一定能实际用哈,只是让大家理解这个函数的用法

2025-02-20 14:28:02 480

原创 linux系统中调度策略(SCHED_BATCH、SCHED_DEADLINE、SCHED_IDLE、SCHED_FIFO、SCHED_RR、SCHED_OTHER)的介绍

在 Linux 系统中,除了常见的 `SCHED_FIFO`、`SCHED_RR` 和 `SCHED_OTHER` 调度策略外,还有 `SCHED_BATCH`、`SCHED_DEADLINE` 和 `SCHED_IDLE` 等调度策略,它们各自适用于不同的场景。以下是对这些调度策略的介绍以及如何更改它们的方法

2025-02-20 10:35:18 892

原创 openharmony中HDF驱动框架关键流程说明-观察者模式

在分析openharmony 5.0的HDF驱动框架时我们会发现用了很多面向对象的思想,例如类继承、接口、单例类等,本来应该是好事情,但使用时对象之间的关系交错复杂,不太符合linux内核分层分模块的思路,导致整体理解起来比较困难,再加上"C/S设计模式”和“观察者设计模式"更导致系统理解起来比较麻烦,本文便针对观察者模式这个问题做梳理

2025-02-18 09:40:34 1082

原创 观察者模式说明(C语言版本)

观察者模式主要是为了实现一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。下面使用C语言实现了一个具体的应用示例

2025-02-17 16:26:29 780

原创 openharmony中hdf框架的设备节点(HdfDeviceNode)和设备实例(HdfDevice)的区别

设备节点(HdfDeviceNode)和 设备实例(HdfDevice)是两个重要的概念,而且非常容易混淆,它们在设备管理和驱动加载过程中扮演不同的角色。以下是它们的区别和联系

2025-02-17 14:09:20 1036 2

原创 对openharmony HDF驱动框架的C/S设计模式和单例类的说明

在分析openharmony的HDF驱动框架时我们会发现用了很多面向对象的思想,例如类继承、接口、单例类等,本来应该是好事情,但使用时对象之间的关系交错复杂,不太符合linux内核分层分模块的思路,导致整体理解起来比较困难,再加上"C/S设计模式”和“观察者设计模式"更导致系统理解起来比较麻烦,本文便针对C/S设计模式和单例类这个问题做梳理。

2025-02-14 16:00:15 1060

原创 openharmony中hdf框架中基于引用计数确保资源正确释放的应用示例

openharmony中hdfSRef结构:一个基于引用计数的智能引用管理功能,通常用于管理资源的生命周期,确保资源在不再被使用时被正确释放

2025-02-10 19:05:27 617

原创 openharmony中hdf框架框架中CONTAINER_OF函数分析及应用示例

宏是一种在C语言中常用的技巧,用于通过结构体中的某个成员指针反向推导出该结构体本身的指针。这个宏非常有用,尤其是在处理链表、树等数据结构时,当我们只有某个节点的某个成员变量的指针时,可以通过这个宏获取到该节点的完整结构体指针。宏通过计算结构体成员相对于结构体起始地址的偏移量,然后从成员指针中减去这个偏移量,从而得到结构体的起始地址。这是一种非常巧妙的技术,可以在不直接持有结构体指针的情况下,通过结构体中的某个成员指针来获取整个结构体的指针。结构体的指针,并允许我们通过这个指针访问结构体的其他成员。

2025-02-08 15:54:03 456

原创 openharmony编译过程中如何实现在配置文件中配置相关的实现函数的?[可直接借用源码]

openharmony编译过程(python)中如何实现在配置文件中配置相关的实现函数的

2025-01-09 19:46:43 302

原创 OpenHarmony编译构建流程概览[源码级]

在看openharmony源码时发现和其他开源linux的比较大的区别是实现了多平台的支持和一些系统组件,而且是统一构建的,在做一些更改时也只能参考一些已有的文章,但稍微有点特殊的需求,便有点心虚不知如何下手了,尤其是编译构建的相关的问题,所以有了这篇源码剖析记录。编译构建框架以gn+ninja作为基础构建系统,(不熟悉gn和ninja的可以参考这篇文章,大概了解下),针对产品需要和部件化功能,在gn阶段前增加了preloader和loader的预加载过程。preloader: 产品信息预加载。

2025-01-09 19:31:10 1611

原创 根据python代码自动生成类图的实现方法[附带python源码]

利用python库抽象语法树(AST)和类图描述语言(PlantUML),实现自动将python代码生成类图的目的。

2025-01-07 14:59:09 764

原创 gdb工具在嵌入式linux中的使用记录

GDB(GNU Debugger)是GNU开源组织发布的一个强大的程序调试工具,它广泛用于Linux系统下进行程序调试,支持多种编程语言,包括C、C++、Go、Java、Objective-C和PHP等。本次分享💛界面模式(vscode)操作相对简单方便,不再详细说明,命令行模式相对灵活,但命令多,记忆难度大,所以。涉及的环境搭建部分由于方法很多,所以这里只做了一个简单的示例,仅供参考。

2024-12-24 11:10:06 626

原创 OpenHarmony5.0版本系统架构[有一二级目录源码概览]

备注方式是优先参考的源码中的说明文档,有一些不太了解,也只是按自己的理解写的,梳理了下开源鸿蒙系统(5.0版本)中大概都包含哪些东西,通过对。

2024-12-08 23:12:06 853

socket测试工具,实现了tcp、udp的客户端和服务端的功能,并可通过shell终端重复发送接收消息或文件

此版本为适配openharmony5.0.0系统的版本,在此版本https://gitee.com/tccxy/socket-tool/tree/master上进行的变更

2025-04-09

vi的简易版本的源代码可以在GitHub上找到,一个较为简单的版本是vi-1.18,这个版本的vi相对简单,适合学习和研究

vi的简易版本的源代码可以在GitHub上找到,一个较为简单的版本是vi-1.18,这个版本的vi相对简单,适合学习和研究。

2025-04-02

gn源码工程中快速入门的demo

gn快速入门demo,此demo基于gn源码工程中的simple_build,根据快速入门手册,做了简单的调整。

2024-12-03

RTL8211F-CG手册中英文,中文为简单翻译,仅供参考

瑞昱的RTL8211F-CG/RTL8211FD-CG/RTL8211FI-CG/RTL8211FDI-CG是高度集成的网络收发器,遵从10Base-T, 100Base-TX, and 1000Base-T IEEE 802.3 标准。提供了网络物理层的基本收发功能,适用于超5类网线,其中RTL8211FI 和 RTL8211FDI是工业级的。 RTL8211F (I)/RTL8211FD (I)使用最先进的DSP技术和模拟前端(AFE),以通过UTP电缆实现高速数据传输和接收。在RTL8211F (I)/RTL8211FD (I)中实现了交叉检测和自动校正、极性校正、自适应均衡、串扰消除、回波消除、定时恢复和错误校正等功能,以提供10Mbps、100Mbps或1000Mbps的鲁棒传输和接收功能.

2024-07-09

跟我一起写makefile

make命令执行时,需要一个 makefile 文件,以告诉make命令如何去编译和链接程序。此文档为makefile的PDF文件,有想了解内容的可以看下我的博客,有写。但有些人不喜欢在线观看,所以我就传上来了。

2019-03-15

FAT中文(磁盘上的几个分区的简单介绍)

word版本,磁盘上的数据按照其不同的特点和作用大致可分为 5 部分:MBR 区、DBR 区、FAT 区、DIR 区和 DATA 区。我们来分别介绍一下

2018-10-09

NXP LPC111系列BootLoader在线编程参考资料

LPC111系列芯片,通过IPA实现在线烧录,可以看我的博客中IAP在线烧录实现记录(蓝牙->CAN->LPC1114)此为参考资料包含demo程序、芯片手册及注意事项

2018-07-25

《PMBOK指南》第六版的第一部分的质量管理

《PMBOK指南》第六版的第一部分的成本管理,用MindManger写的,无需源码的可以去看我得博客。

2018-06-10

《PMBOK指南》第六版的第一部分的成本管理

《PMBOK指南》第六版的第一部分的成本管理,用MindManger写的,无需源码的可以去看我得博客。

2018-05-29

《PMBOK指南》第六版的第一部分的项目进度管理

《PMBOK指南》第六版的第一部分的项目进度管理,用MindManger写的,无需源码的可以去看我得博客。

2018-05-26

机器人标准

机器人标准,可做开发的参考标准

2017-05-06

visual c++

Visual C++从入门到精通,不错的ppt,有同事跟我说过时了,但是我感觉作为入门已经够了。

2015-10-22

vb.net入门学习资料

基础入门,个人认为还是不错的,希望有兴趣并且是刚开始接触vb.NET的朋友可以看看。。。希望对您有所帮助

2015-10-07

linux指令大全

linux指令大全 初学者的参考资料 linux的基本操作方法

2015-09-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除