- 博客(997)
- 资源 (17)
- 收藏
- 关注

原创 Linux通信IPC随笔
名字: HLS大神 QQ:331908961**功能:Linux内核间任意通信实现**#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include <unistd.h>#include <string.h>#include <stdio.h>typedef struct MSG
2021-03-26 11:28:26
739
3
原创 解决GLIBC_2.29版本缺失问题
文章摘要:当程序运行时出现"version `GLIBC_2.29' not found"错误,表明系统缺少GLIBC 2.29库。解决方法包括:1)从GNU官网下载源代码;2)编译安装到指定目录(如/opt/glibc-2.29);3)更新库文件路径;4)建立软链接。该过程需要执行配置、编译、安装和更新系统库路径等步骤,确保系统优先使用新安装的GLIBC版本。注意操作可能耗时,且需根据系统架构(如aarch64)调整具体路径。
2025-06-08 11:18:47
36
1
原创 嵌入式鸿蒙开发环境搭建操作方法与实现
本文提供了Linux环境搭建的镜像下载链接(百度网盘),详细介绍了VSCode与Linux系统的连接过程,包括DevEcoDeviceTool安装配置指南。内容涵盖虚拟机成功登录展示、源码目录编译指令操作,以及鸿蒙源码工程的配置和烧录说明,特别标注了源代码与用户自定义代码的存放位置,为开发者提供了完整的开发环境配置参考。
2025-06-02 15:16:30
215
1
原创 嵌入式Openharmony系统中Select函数实现方法
本文介绍了使用HarmonyOS ArkUI框架中的Select组件实现课程时间表下拉选择功能。通过代码示例展示了如何创建包含语文、数学、英语课程的Schedule数组,并配置Select组件的重要属性:设置默认选中项(selected)、显示文本(value)、字体样式(font/fontColor)以及选中项样式(selectedOptionBgColor/selectedOptionFont)。同时列举了Select组件的常用接口参数和属性,包括选项列表设置、初始选中索引、文本展示样式等。该组件支持双
2025-05-30 15:52:32
40
原创 嵌入式openharmony系统中文件TEXT操作与实现
摘要:鸿蒙系统Text组件是用于显示文本的UI控件,支持包含Span等子组件。其核心功能包括:1)通过textAlign控制水平对齐;2)用textOverflow和maxLines处理文本溢出;3)支持行高(lineHeight)、装饰线(decoration)、字符间距(letterSpacing)等样式设置;4)可自适应字号(minFontSize/maxFontSize)。当设置textOverflow为Ellipsis并限制maxLines时,超长文本会显示省略号。该组件从API version
2025-05-29 20:16:31
162
原创 嵌入式鸿蒙系统中水平和垂直以及图片调用方法
摘要:本文介绍了OpenHarmony中三个常用组件的使用方法:1) Column垂直布局容器,通过space参数设置间距,支持alignItems和justifyContent属性控制对齐方式;2) Row水平布局容器,与Column类似但方向不同;3) Image图片组件,支持多种格式和加载方式,包含自动缩放和重复绘制功能,并提供了三个组件的代码示例。这些组件从API version 9开始支持ArkTS卡片使用,是OpenHarmony应用开发的基础UI元素。
2025-05-29 16:53:40
224
原创 嵌入式openharmony系统的按钮的详细实现
本文介绍了OpenHarmony鸿蒙系统中按钮组件的使用方法。按钮组件(Button)支持多种样式(胶囊型、圆形、普通),可通过ButtonOptions配置显示样式、按压效果等属性。从API version 9开始在ArkTS卡片中支持使用,并提供文本内容(label)和子组件两种创建方式。文章详细说明了按钮类型(ButtonType)、样式模式(ButtonStyleMode)、尺寸(ControlSize)等枚举值,并通过示例代码演示了不同样式按钮的实现方法,包括普通按钮、禁用状态按钮以及带加载动画的
2025-05-27 21:31:33
40
原创 嵌入式Openharmony系统应用开发与实现方法
本文介绍了OpenHarmony鸿蒙系统的开发实践,包括三个主要内容:1)基础APP开发示例,演示如何创建项目、添加Button组件并预览页面;2)Stage模型特性,说明其作为主推模型在多设备支持、内存优化等方面的优势;3)自定义组件与页面生命周期,通过代码示例展示组件复用和页面事件处理机制。文章为开发者提供了从基础到进阶的鸿蒙应用开发指导,重点突出了Stage模型在分布式应用开发中的适用性。
2025-05-24 23:02:28
326
原创 嵌入式openharmony真机链接与调试方法
鸿蒙系统真机运行与调试指南:1. 连接开发板与PC后,在DevEco Studio中完成自动签名(Project Structure>SigningConfigs勾选选项);2. 通过两种方式运行HAP应用:直接使用DevEco Studio或hdc工具安装/更新;3. 调试时设置代码断点(Ctrl+F8),选择设备后启动Debug模式,可查看变量状态。操作涉及插件安装、命令行工具使用及IDE调试功能。
2025-05-24 11:37:07
43
原创 嵌入式鸿蒙openharmony应用开发环境搭建与工程创建实现
本文介绍了鸿蒙应用开发的基础知识,包括ArkTS语言特性、开发环境搭建和项目创建流程。重点讲解了在DevEco Studio中创建新工程的详细步骤,从模板选择到工程配置,并说明了预览器的使用方法。同时概述了Stage模型下的工程目录结构及各文件功能,为开发者提供了鸿蒙应用开发的入门指导。
2025-05-23 22:14:18
301
原创 嵌入式单片机中STM32F1演示寄存器控制方法
本文以STM32F103C8T6为例,详细介绍了如何通过操作寄存器来点亮和关闭LED灯。首先,通过查看原理图确定LED2连接的是PC13口,并选择GPIO的输出模式。接着,创建工程并编写代码,配置相关寄存器以实现LED的控制。在调试过程中,发现LED未点亮的原因是未启用APB2总线时钟,通过修改代码启用时钟后问题解决。最后,通过宏定义优化代码,使程序更易读。整个过程涵盖了从硬件连接到软件调试的完整步骤,为初学者提供了实用的操作指南。
2025-05-16 22:00:21
379
1
原创 嵌入式DAYU200开发板简介与烧录方法实现
润和HH-SCDAYU200开发板基于Rockchip RK3568芯片,集成双核心GPU和高效NPU,搭载四核64位Cortex-A55处理器,主频高达2.0GHz,采用22nm工艺。该开发板支持蓝牙、Wi-Fi、音频、视频和摄像头等功能,具备丰富的扩展接口和双千兆以太网口,适用于NVR、工业网关等多网口产品需求。核心板采用6层布线工艺,尺寸为82mm×60mm,支持多屏异显和OpenHarmony、Linux系统,适用于智能NVR、云终端、物联网网关等场景。开发板烧写方法包括安装USB驱动、打开烧写工具
2025-05-15 16:54:49
333
原创 嵌入式C语言中二级指针主要用途及其在函数参数传递应用
本文探讨了嵌入式开发中二级指针的重要性及其应用场景。二级指针(Pointer to Pointer)主要用于修改指针变量的值、传递指针数组、处理动态二维数组以及操作链表和树等数据结构。文章还分析了传值调用与传址调用的区别,指出传址调用通过传递指针地址,可直接修改原始变量,而传值调用仅操作副本。通过示例代码,展示了如何利用二级指针在函数中修改指针的指向和值。最终,文章总结了二级指针在嵌入式开发中的关键作用,强调其对于高效内存管理和复杂数据操作的重要性。
2025-05-15 09:33:58
161
原创 嵌入式C语言中如何使用成员访问运算符来操作结构体成员?
在嵌入式开发中,结构体是一种常用的数据类型,用于组织不同类型的数据。C语言提供了两种成员访问运算符:点运算符(.)和箭头运算符(->)。点运算符用于访问结构体变量的成员,而箭头运算符用于访问结构体指针指向的成员。结构体指针在函数传参中非常重要,能够避免内存拷贝,直接操作原结构体,提高效率。此外,结构体成员可以通过自增运算符++进行自增操作,支持前缀和后缀自增,灵活应对不同需求。通过合理运用这些操作,可以提升嵌入式开发中数据处理的效率和清晰度。
2025-05-15 09:18:22
273
原创 嵌入式C语言中指针的不同类型及其特点分析
C语言中的指针类型主要包括基本类型指针、函数指针、对象指针和空指针(void *)。基本类型指针指向基础数据类型,如整型、字符型等;函数指针用于存储函数地址,支持动态调用;对象指针指向结构体或联合体等复杂数据类型;空指针则是一种通用指针,需强制转换后才能使用。此外,“右左法则”是解析复杂指针声明的有效方法,通过从右向左逐步解析,可以清晰理解指针的组成。掌握这些指针类型和解析技巧,有助于避免指针错误和内存泄漏,提升代码质量。
2025-05-14 21:18:34
191
原创 嵌入式中深入理解C语言中的指针:类型、区别及应用
指针在C语言中是一个强大且灵活的工具,广泛应用于内存管理、动态数据结构的实现以及函数参数的传递等方面。本文深入分析了指针的类型与分类,包括整型、字符型、浮点型、结构体指针等,并探讨了指针与普通变量在存储方式、访问方式和使用灵活性上的区别。此外,文章还详细介绍了指针在动态内存管理、链表、树结构以及函数指针中的应用,强调了指针在提高程序效率和灵活性方面的重要性。通过深入理解指针的使用,开发者可以更好地进行嵌入式开发,编写出高效且优雅的代码。
2025-05-14 21:07:19
96
原创 嵌入式开发中的C语言常量存储与优化
本文探讨了嵌入式系统开发中常量存储与管理的重要性,详细介绍了常量的不同类型、const修饰变量的存储位置以及常量折叠和常量表达式编译优化技术。常量包括基本类型、字符串、枚举和宏定义常量,其存储位置根据作用域和生命周期可能位于常量数据段、栈或堆中。常量折叠和常量表达式编译优化通过减少运行时计算量,提升程序效率。掌握这些知识有助于开发者在资源受限的嵌入式环境中编写高效、稳定的代码。
2025-05-13 10:37:11
134
2
原创 嵌入式开发中C语言变量的本质详解
在嵌入式开发中,理解变量的生命周期、作用域、左值与右值以及变量修饰符的使用是编程的基础。生命周期指变量从创建到销毁的过程,分为局部变量、全局变量、静态变量和动态变量。作用域决定变量可访问的区域,分为局部作用域、全局作用域和静态作用域。左值表示可修改的内存位置,右值表示常量或临时计算结果。C语言中的变量修饰符如auto、register、volatile、static和extern,用于改变变量的存储方式、作用域和生命周期。掌握这些概念有助于高效管理内存、优化程序性能并确保代码正确性。
2025-05-13 10:23:06
63
原创 嵌入式openharmony标准系统中HDF框架底层原理分析
本文介绍了基于OpenHarmony标准系统编写的简易HDF驱动程序的开发过程。HDF(Hardware Driver Foundation)驱动框架为开发者提供了驱动加载、服务管理、消息机制和配置管理等功能,旨在构建统一的驱动架构平台,实现一次开发、多系统部署。文章详细阐述了HDF驱动开发的基础知识,包括驱动模型、加载策略、服务管理、消息机制和配置树等内容。通过代码解析,展示了驱动程序的初始化、释放、绑定和注册等关键步骤,并提供了配置文件和应用程序的编写方法。最后,文章介绍了编译和运行该程序的具体步骤,展
2025-05-09 14:02:47
271
原创 嵌入式openharmony标准系统中GPIO口控制详解
本文详细介绍了在OpenHarmony标准系统中控制GPIO(通用输入输出)的方法。GPIO通过分组管理,每组GPIO与寄存器关联,通过读写寄存器实现管脚操作。OpenHarmony采用统一服务模式管理GPIO控制器,核心层负责资源匹配和控制器管理,适配层实现硬件相关功能。开发步骤包括实例化驱动入口、配置属性文件、实例化GPIO控制器对象和驱动调试。文章还提供了基于Hi3516DV300开发板的开发实例,展示了如何实现GPIO驱动适配,包括驱动入口注册、属性文件配置、控制器对象初始化和调试过程。通过HDF框
2025-05-09 12:16:37
471
原创 嵌入式openharmony标准鸿蒙系统驱动开发基本原理与流程
HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。并以组件化驱动模型作为核心设计思路,让驱动开发和部署更加规范,旨在构建统一的驱动架构平台,为驱动开发者提供更精准、更高效的驱动管理的开发环境,力求做到一次开发,多系统部署。HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。
2025-05-06 10:41:10
417
原创 嵌入式轻量鸿蒙系统双向链表控制与实现
双向链表是指含有往前和往后两个方向的链表,即每个结点中除存放下一个节点指针外,还增加一个指向前一个节点的指针。其头指针head是唯一确定的。从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点,这种数据结构形式使得双向链表在查找时更加方便,特别是大量数据的遍历。由于双向链表具有对称性,能方便地完成各种插入、删除等操作,但需要注意前后方向的操作。
2025-05-06 09:48:25
54
原创 嵌入式轻量鸿蒙系统软件定时器控制与实现
软件定时器,是基于系统Tick时钟中断且由软件来模拟的定时器,当经过设定的Tick时钟计数值后会触发用户定义的回调函数。定时精度与系统Tick时钟的周期有关。硬件定时器受硬件的限制,数量上不足以满足用户的实际需求,因此为了满足用户需求,提供更多的定时器,OpenHarmony LiteOS-M内核提供软件定时器功能。软件定时器扩展了定时器的数量,允许创建更多的定时业务。软件定时器功能上支持:静态裁剪:能通过宏关闭软件定时器功能。软件定时器创建。软件定时器启动。软件定时器停止。软件定时器删除。
2025-05-06 09:22:47
161
原创 嵌入式轻量鸿蒙系统时间管理控制与实现
时间管理以系统时钟为基础,给应用程序提供所有和时间有关的服务。系统时钟是由定时器/计数器产生的输出脉冲触发中断产生的,一般定义为整数或长整数。输出脉冲的周期叫做一个“时钟滴答”。系统时钟也称为时标或者Tick。用户以秒、毫秒为单位计时,而操作系统以Tick为单位计时,当用户需要对系统进行操作时,例如任务挂起、延时等,此时需要时间管理模块对Tick和秒/毫秒进行转换。OpenHarmony LiteOS-M内核时间管理模块提供时间转换、统计功能。
2025-05-06 08:50:10
325
原创 嵌入式轻量鸿蒙系统信号量控制与实现
信号量(Semaphore)是一种实现任务间通信的机制,可以实现任务间同步或共享资源的互斥访问。一个信号量的数据结构中,通常有一个计数值,用于对有效资源数的计数,表示剩下的可被使用的共享资源数,其值的含义分两种情况:0,表示该信号量当前不可获取,因此可能存在正在等待该信号量的任务。正值,表示该信号量当前可被获取。信号量可用于同步或者互斥。以同步为目的的信号量和以互斥为目的的信号量在使用上有如下不同:用作互斥时,初始信号量计数值不为0,表示可用的共享资源个数。
2025-05-05 20:01:59
65
原创 嵌入式轻量鸿蒙系统消息队列控制与实现
消息队列又称队列,是一种任务间通信的机制。消息队列接收来自任务或中断的不固定长度消息,并根据不同的接口确定传递的消息是否存放在队列空间中。任务能够从队列里面读取消息,当队列中的消息为空时,挂起读取任务;当队列中有新消息时,挂起的读取任务被唤醒并处理新消息。任务也能够往队列里写入消息,当队列已经写满消息时,挂起写入任务;当队列中有空闲消息节点时,挂起的写入任务被唤醒并写入消息。
2025-05-04 23:02:22
211
原创 嵌入式轻量鸿蒙系统互斥锁控制与实现
互斥锁又称互斥型信号量,是一种特殊的二值性信号量,用于实现对共享资源的独占式处理。任意时刻互斥锁的状态只有两种,开锁或闭锁。当任务持有互斥锁时,该互斥锁处于闭锁状态,这个任务获得该互斥锁的所有权。当该任务释放互斥锁时,该互斥锁被开锁,任务失去该互斥锁的所有权。当一个任务持有互斥锁时,其他任务将不能再对该互斥锁进行开锁或持有。多任务环境下往往存在多个任务竞争同一共享资源的应用场景,互斥锁可被用于对共享资源的保护从而实现独占式访问。另外互斥锁可以解决信号量存在的优先级翻转问题。
2025-05-04 22:40:43
379
原创 嵌入式轻量鸿蒙系统事件处理方法
事件(Event)是一种任务间的通信机制,可用于任务间的同步操作。事件的特点是:任务间的事件同步,可以一对多,也可以多对多。一对多表示一个任务可以等待多个事件,多对多表示多个任务可以等待多个事件。但是一次写事件最多触发一个任务从阻塞中醒来。事件读超时机制。只做任务间同步,不传输具体数据。提供了事件初始化、事件读写、事件清零、事件销毁等接口。
2025-05-02 21:44:57
47
2
原创 嵌入式轻量鸿蒙系统内存管理控制与实现
内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。OpenHarmony LiteOS-M的内存管理分为静态内存管理和动态内存管理,提供内存初始化、分配、释放等功能。动态内存:在动态内存池中分配用户指定大小的内存块。静态内存:在静态内存池中分配用户初始化时预设(固定)大小的内存块。
2025-05-01 21:40:49
48
原创 嵌入式轻量鸿蒙系统任务管理控制与实现
从系统角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,各任务的运行相互独立。OpenHarmony LiteOS-M的任务模块可以给用户提供多个任务,实现任务间的切换,帮助用户管理业务程序流程。任务模块具有如下特性:支持多任务。一个任务表示一个线程。抢占式调度机制,高优先级的任务可打断低优先级任务,低优先级任务必须在高优先级任务阻塞或结束后才能得到调度。相同优先级任务支持时间片轮转调度方式。
2025-04-29 11:11:57
168
1
原创 嵌入式openharmony轻量内核中断控制与实现03
当硬件产生中断时,通过中断号查找到其对应的中断处理程序,执行中断处理程序完成中断处理。中断触发: 中断源向中断控制器发送中断信号,中断控制器对中断进行仲裁,确定优先级,将中断信号发送给CPU。中断源产生中断信号的时候,会将中断触发器置“1”,表明该中断源产生了中断,要求CPU去响应该中断。中断优先级: 为使系统能够及时响应并处理所有中断,系统根据中断事件的重要性和紧迫程度,将中断源分为若干个级别,称作中断优先级。代码实现如下,演示如何创建中断、触发指定的中断号进而调用中断处理函数、删除中断。
2025-04-29 10:11:04
31
原创 嵌入式openharmony轻量内核原理与适配分析
OpenHarmony LiteOS-M内核是面向IoT领域构建的轻量级物联网操作系统内核,具有小体积、低功耗、高性能的特点。其代码结构简单,主要包括内核最小功能集、内核抽象层、可选组件以及工程目录等。支持驱动框架HDF(Hardware Driver Foundation),统一驱动标准,为设备厂商提供了更统一的接入方式,使驱动更加容易移植,力求做到一次开发,多系统部署。
2025-04-27 15:51:19
398
原创 嵌入式openharmony鸿蒙系统内核与原理分析
OpenHarmony的Linux内核基于开源Linux内核LTS分支演进,在此基线基础上,回合CVE补丁及OpenHarmony特性,作为OpenHarmony Common Kernel基线。针对不同的芯片,各厂商合入对应的板级驱动补丁,完成对OpenHarmony的基线适配。Linux社区LTS 4.19.y分支信息请查看kernel官网。Linux社区LTS 5.10.y分支信息请查看kernel官网。
2025-04-27 15:01:43
118
原创 嵌入式鸿蒙系统环境搭建与配置要求实现01
步骤 2 通过USB公对公数据线连接KHDVK-3568A开发板的USB3.0接口和PC,按住开发板的Recovery键不松,然后将电源适配器插入开发板的电源接口并接通电源。当烧录工具检测到开发板,且界面显示“发现一个LOADER设备”时,松开Recovery键。步骤 1 在PC上解压缩“RKDevTool_Release_v2.84.rar”,双击RKDevTool.exe,启动烧录工具。步骤 3 选择“升级固件 > 固件”,然后在本机选择整体固件镜像文件“xxx.img”,单击“打开”。
2025-04-25 22:05:58
326
原创 嵌入式单片机中STC89C51环境搭建方法与实现
进入KEIL软件界面,在工具栏中找到File按钮,鼠标左击,在下拉菜单中找到License Management,鼠标左击,出现如下界面。将该编码复制带此处,最后鼠标左击Add LIC,出现SUCCESSFULLY字眼,恭喜你KEIL安装并破解成功。单片机开发最常用的编译软件有Keil,IAR 等,宏晶科技没有开发自己的单片机开发环境,是。在图标是点击右键,选择“以管理员身份运行”,打开软件。如下图: 选择 工程文件夹,给工程命名,然后点击确定。选择单片机对应的型号,如下图,点击OK。
2025-04-21 15:41:54
111
原创 嵌入式linux系统中内存管理的方法与实现
Linux内核的内存管理是操作系统最核心的部分之一,它涉及到物理内存和虚拟内存的划分、内存管理单元(MMU)的工作原理、页表和TLB的协作机制,以及内存申请、释放和映射等操作。在这篇文章中,我们将详细解析Linux内核如何划分物理内存和虚拟内存,页表、MMU(内存管理单元)与TLB(转换后备页表)如何协作,以及如何使用Linux内核接口进行内存申请与释放。操作系统通过页表的管理来实现虚拟内存的抽象,确保每个进程的虚拟内存与物理内存之间的映射正确。理解这两者的差异,是我们深入理解内存管理的第一步。
2025-04-19 18:06:25
251
原创 嵌入式单片机通过ESP8266连接物联网实验
主要使用串口通信,烧录固件也是通过串口,烧录时,启动烧录程序后“等待上电同步”状态时,将GPIO0接地,复位一下模块(拉低一下RST),烧录成功开始后GPIO0可以恢复原状。如果看云端后台没有消息记录,不要第一时间怀疑是发送失败,而是先检查自己的语法,因为云端在这个接入点接收到不符合MQTT协议的数据就会丢掉,后台没有记录。AT+UART=9600,8,1,0,0 //设置串口波特率为9600,8数据位,1停止位,0校验位。//查询设备的WiFi模式。//查询连接的 AP 信息。
2025-04-19 17:55:03
579
原创 嵌入式硬件中PADS中将原理图转换为PCB布局布线(二)
4.接下来,我们需要更改一下基础设置,修改栅格的大小方便后续操作。开始布局操作,回到原理图界面,右键鼠标,点击选择元件。1.首先,原理图转换之后为下图所示,元器件堆叠在一起。2.如图所示,在上方菜单栏找到工具选项,点击之后选中分散元器件。设置名称,设置直径,三个层都需要设置直径,设置钻孔尺寸,点击确定。批量添加过孔,右击选择网络,点击需要添加过孔的网络,右击添加过孔。9.点击之后,右键鼠标,选择矩形板框。5.打开选项界面之后,选择栅格,按照图示修改。选择布线,设置建议值,即可在之后布线中保持线宽。
2025-04-14 14:26:05
134
1
原创 嵌入式Linux系统中设备树基本操作与实现
设备树(Device Tree)是一种硬件描述机制,用于在嵌入式系统和操作系统中描述硬件设备的特性、连接关系和配置信息。使用设备树来剔除相对内核来说的“垃圾代码”,既用设备树来描述硬件信息,用来替代原来的device部分的代码。虽然用设备树替换了原来的device部分,但是平台总线模型的匹配和使用基本不变。并且对硬件修改以后不必重新编译内核。直接需要将设备树文件编译成二进制文件,再通过bootloader传递给内核即可。
2025-04-10 17:39:08
201
1
电机+嵌入式详细解说+各个电机分析与说明,包括常见的直流电机、异步电机、同步电机等
2024-04-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人