- 博客(65)
- 收藏
- 关注
原创 GStreamer
GStreamer是一个开源的多媒体框架,采用基于管道的架构,用于处理音频、视频、流媒体以及任何类型的媒体数据。它提供了一套丰富的插件和工具,支持从简单的音视频播放到复杂的流媒体处理、转码、滤镜、录制、实时通信等多种应用场景。特点。
2025-12-16 13:19:06
581
原创 buildroot编译内核(包括库)
补全主机依赖(patchelf);清理编译残留;禁用 RPATH 检查(应急)。按步骤操作后,就能顺利编译出适配 IMX6ULL 的 GStreamer,Qt 多媒体功能也会打通,之前的音频 / 摄像头问题仅需处理硬件接线即可。会直接影响 Buildroot 编译主机工具(如 gperf、pkgconf、ncurses)的正常流程,最终导致之前的 RPATH 错误反复出现,甚至引发更隐蔽的编译异常。
2025-12-16 10:58:56
609
原创 alsa软件移植
ALSA(Advanced Linux Sound Architecture)是中主流的,用于管理音频设备的驱动、接口和应用开发。它取代了早期的 OSS(Open Sound System),以更灵活、模块化的设计成为解决方案。
2025-12-15 11:54:42
885
原创 项目图片功能制作
之前已经让桌面非常显示,并且可以移动这次来做照片开始的时候,进入图片,图片加载不出来,我以为是图片格式不对改变了图片格式,并改成了英文名一个脚本,执行完后,用file命令看图片是否符合符合,但是还是卡住了而且多加了图片的读写权限看这里,platforms是进去桌面,解析的程序,要把相应的库加进去(libqjpeg.so)加进去了但是一直在加载。
2025-12-09 21:08:10
241
原创 触摸屏系统完善
首先我查到了是没有关于qt触摸屏的库,在我们这里的根目录下的,添加并增加执行权限。同时拷贝evdev键盘插件(避免触摸时按键无响应)没反应的话,实时event1或者event0。
2025-12-09 18:27:13
171
原创 imx6ullMini开发板qt项目
vim ~/.bashrcexport PATH=/home/linux/Qt/5.15.0/gcc_64/bin:$PATHsource ~/.bashrclinux@linux-virtual-machine:~/imx6ull_iot/toolchain/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/bin$ qmake -v QMake version 3.1 Using
2025-12-09 16:00:54
545
原创 tslib及QT移植
tslib是一款开源软件,用于解决移动设备触摸屏因电磁干扰导致的精度不足和抖动问题。它能对触摸屏驱动器采集的样本进行过滤、去抖动和校准等处理,常作为触摸屏驱动器适配层,为上层应用程序提供统一接口。在有电磁噪声干扰、触摸屏操作不精准的移动设备场景中,通过tslib的功能可提升触摸屏性能,让操作更准确、稳定。最新版本的tslib已经支持了多点电容触摸屏,可以通过tslib来直观的测试多点电容触摸屏驱动,这个要比观看eventX原始数据方便的多下载链接安装相关的依赖包配置编译make。
2025-12-08 18:47:02
1031
原创 嵌入式面试题
1、关键字const有什么含义?在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。
2025-12-08 17:53:54
225
原创 busybox制作根文件系统
BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将BusyBox称为Linux工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令,也包含了Linux系统的自带的shell。
2025-12-07 21:36:01
599
原创 U-boot引导Linux内核启动
显示u_boot支持的所有命令进入 uboot 的命令行模式以后输入"help"或者"?",然后按下回车即可查看当前uboot所支持的命令。
2025-12-07 20:49:34
647
原创 裸机文件烧写
镜像文件(Image File)是一种对物理存储介质(如光盘、硬盘分区、U 盘)的,它将源介质中的所有数据(包括操作系统、应用程序、引导信息、文件系统结构等)封装成一个单一文件,可用于精确还原源介质的内容和功能镜像向量表 (IVT) 是 ROM 从提供程序镜像的启动设备中读取的数据结构,该程序镜像包含执行成功启动所需的数据组件。镜像向量表(IVT)包含程序镜像入口点、指向设备配置数据(DCD)的指针以及引导过程中只读存储器(ROM)使用的其他指针。
2025-12-07 20:01:13
344
原创 系统启动流程
是计算机中,它存储在主板上的一块可擦写芯片(通常是 CMOS 芯片)中,是计算机通电后运行的第一个程序,相当于计算机硬件与操作系统之间的 “桥梁”。其主要功能是针对CPU、内存、主板芯片组、显卡及外围硬件设备做初始化动作。
2025-12-07 19:47:45
891
原创 卡尔曼滤波了解
4.6 观测矩阵 H,有时候会有多个变量,但是我们仅仅只想对一个变量进行过滤,就引出了观测矩阵的概念,会直接将用不到,观测不到的变量进行过滤。,核心作用是在存在噪声干扰的动态系统中,从含噪观测数据中估算出系统的真实状态(如位置、速度、温度等),广泛应用于导航、控制、信号处理等领域。4.2 控制输入矩阵 B,在状态转移矩阵基础之上,基于变量,形容在固定参数之中,还出现了变量(比如调整了参数),对下一刻的变化产生影响。如果测量值更可靠,则Kₖ更大,更相信测量值。如果预测值更可靠,则Kₖ更小,更相信预测值。
2025-12-06 11:34:18
364
原创 PID算法
(Proportional)比例,按 “偏差大小” 输出控制信号,偏差越大,控制力度越强eg:水温离 80℃越远(如当前 30℃),加热器功率开得越大;接近 80℃(如 75℃),功率逐渐减小。
2025-12-06 10:58:00
259
原创 K210环境搭建(VsCode)
这时我们打开vscode,点击文件,打开文件夹,选择SDK。这里创建完成后,进入build,进行cmake编译。我们明明按照要求做了,却死活不一样,像这样。在同一个文件夹下创建MinGW文件夹。接着打开build进行cmake。可以看到cmake已经成功了。后面是我编译器的下载路径。三、MinGW的下载。
2025-12-04 11:10:37
524
原创 嵌入式面试题整理30
3. 第三次握手:客户端收到 SYN+ACK 包,回复 ACK 包(ACK=1, seq=x+1, ack=y+1),4. 第四次挥手:客户端收到 FIN 包,回复 ACK 包(ACK=1, ack=v+1),进入 TIME_WAIT。// 调用构造函数// 分配数组。2. 第二次握手:服务器收到 SYN 包,回复 SYN+ACK 包(SYN=1, ACK=1, seq=y,2. 第二次挥手:服务器收到 FIN 包,回复 ACK 包(ACK=1, ack=u+1),表示已收到关闭。} // 使用函数指针。
2025-12-02 10:12:47
645
原创 Spieed micarray开发介绍
SK9822是一种驱动智能控制电路和发光 电路于一体的LED光源控制。产品包含信号解码模块、 数据缓冲器、内置恒流电路和RC振荡器;CMOS,低电压,低功耗 消耗;256级灰度PWM调节和32级亮度调节;采用双路 输出,数据与CLK信号同步,串联各晶圆输出动作 同步。顶级SMD内部集成高品质外部控制线串联级联恒流IC;5 v应用;默认开电灯;●控制电路与RGB芯片中的SMD 5050元器件,形成完全控制像素、混色的均匀性和一致性;●采用。●三路RGB输出控制,调节亮度;●。
2025-12-01 14:50:56
347
原创 最最详细的SPI协议
核心作用:规定 “通信未发生时,SCK 引脚的默认电平”。CPOL=0:空闲时 SCK 为低电平(最常用,对应 Mode 0/1);CPOL=1:空闲时 SCK 为高电平(对应 Mode 2/3)。核心作用:规定 “主从设备什么时候读取(采样)总线上的数据”,本质是选择 “第 1 个时钟边沿” 还是 “第 2 个时钟边沿” 采样。CPHA=0:在 SCK 的第一个边沿(由空闲电平跳变后的第一个沿)采样数据;CPHA=1:在 SCK 的第二个边沿(第一个跳变沿后的反向沿)采样数据。模式0。
2025-11-29 14:49:36
1053
原创 STM32F103C8T6---OLED显示屏
使用OLED四针脚I2C接口/*引脚配置,使用软件模拟I2C协议,时钟选择GPIOB8,数据线选择GPIOB9*/
2025-11-29 13:03:16
747
原创 FreeRTOS项目---WiFi模块(2)
在这里,我们用Flash保存读取到的ssid和pwd,在第二次如果flash中有数据就直接从flash中拿去。其次,如果想更改ssid和pwd,着时候就需要一个复位键,用来重置账户和密码复位按键,我们选取一个GPIO管脚的OUTPUT模式,当按键按下去是,进行复位。
2025-11-28 19:39:45
403
原创 FreeRTOS项目---WiFi模块(1)
首先简单介绍一下这个项目,这个项目是在上一个项目的基础上实现的基于WIFI的控制开门锁,传感器,电器设备等。而且在这个基础上还增加了MQTT协议的发布,订阅特性,在MQTT软件中,通过发送相应的命令,去控制不同的设备去进行不同的操作模块这里使用ESP8266(在我前面的几篇文章中介绍的很清楚,包括MQTT协议),与之前不同的地方在于使用相同的通信方式的不同形式来进行通信看看UART3,这里我们设置RX是外设到内存的映射,TX是内存到外设的映射,使用DMA方式,所以数据传输不经过CPU。
2025-11-28 18:31:55
340
原创 嘉立创打板流程体
当电路刚上电时,电容两端的初始电压是 0V(上电前电容无电荷)。此时电源电压突然加载到电容两端,电容会 “瞬间试图维持电压为 0V”,相当于一个 “0V 的导线” 接在电源和地之间—— 这就是 “上电瞬间电容等效短路” 的通俗说法。但这个 “短路” 是暂时的:随着电容通过电阻 R1 充电,电容两端电压会逐渐上升,最终接近 VCC,此时电容就相当于。在画原理图的时候,要注意,复位按键旁边要接一个电容,什么原理呢。最后在结算的时候使用优惠卷,就可以得到一片免费的漂亮的板子了。这个 “短路” 是上电瞬间的。
2025-11-28 17:28:07
423
原创 MQTT协议
MQTT提供了机制,其核心是设计了多种消息交互机制来提供不同的服务质量,来满足用户在各种场景下对消息可靠性的要求。MQTT(Message Queuing Telemetry Transport)协议支持三种不同的QoS级别,用于控制消息的可靠性和传输保证。MQTT的三个QoS级别:QoS 0(至多一次),QoS 1(至少一次)和QoS 2(只有一次)
2025-11-25 21:53:05
1110
原创 ESP8266蓝牙模块
ESP8266EX 由乐鑫公司开发,提供了⼀套⾼度集成的 Wi-Fi SoC 解决⽅案,其低功耗、紧凑设计和⾼稳定性可以满⾜⽤户的需求。ESP8266EX 拥有完整的且⾃成体系的 Wi-Fi ⽹络功能,既能够独⽴应⽤,也可以作为从机搭载于其他主机 MCU 运⾏。当 ESP8266EX 独⽴应⽤时,能够直接从外接flash中启动。内置的⾼速缓冲存储器有利于提⾼系统性能,并且优化存储系统。
2025-11-25 21:28:48
845
原创 FreeRTOS项目实战(3)
1、流程介绍首先,我实现协议数据包头固定部分的数据传输,由我用串口助手发送数据,再打印出来,就证明命令已经发送过去了接着,我定义了一个结构体,里面有包协议的部分,比如包头,包地址,包标识,包长度,在这里面还定义了一个柔性数组,用于存储包内容的数据接着对uart1进行初始化,调用HAL_UARTEx_ReceiveToIdle_IT函数,接收空闲中断的数据,当我们发送数据时,会自动调用回调函数,实现数据的接收,最终用串口助手打印出来。
2025-11-23 15:04:03
748
原创 FreeRTOS项目实战(2)
在我们自己建立的项目中,添加相应的文件简单介绍一下,两个问文件放的是函数的声明,结构体的定义,结构体名字的重定义(typedef)这里我直接放代码,具体的难点会在代码中和代码后进行讲解crc16.c 这个文件不用我们自己写,这是一个crc16校验的函数,我们可以在网上查到相关代码。
2025-11-23 13:55:32
315
原创 学习FreeRTOS(第四天)
在讲述FreeRTOS的内存管理之前,先来看看这张图片在Memory management scheme中,有五个不同的堆区,每一个堆区都有不同的特点感兴趣的了解可以了解一下静态创建和动态创建对象的区别-优快云博客为什么不使用malloc()和free()?主要原因与 其内存管理特性不适应嵌入式实时系统的需求有关在这里FreeRTOS针对嵌入式场景提供了更优的内存管理方案,避免了malloc()/free()的缺陷: heap_1只实现了pvPortMalloc,没有实现vPortFr
2025-11-19 20:47:27
714
原创 学习FreeRTOS(第四天)
对于Cortex-M3和M4内核来说,FreeRTOS已经提供了tickless低功耗代码的实现 , 通过调用指令WFI实现睡眠模式。具体代码的实现在port.c文件中, 用户只需在FreeRTOSConfig.h文件中配置宏configUSE_TICKLESS_IDLE为1即可,如果配置此参数为2,那么用户可以自定义tickless低功耗模式的实现开启tickledd模式后,什么时候会启用呢?空闲任务是唯一可运行的任务,其他所有的任务都处于阻塞或挂起态系统处于低功耗模式的时间至少大于个时钟节拍,宏。
2025-11-19 20:20:17
951
原创 学习FreeRTOS(第三天)
malloc ()/free () 设计面向内存充足、实时性要求低的通用计算机系统,而嵌入式实时系统更注重确定性、稳定性和资源可控性。因此,在 FreeRTOS 场景中,应优先采用内核提供的动态内存接口或静态内存分配方案,规避实时性破坏、内存碎片和不可控崩溃等风险。
2025-11-18 21:52:23
583
原创 学习FreeRTOS(第二天)
队列是任务到任务、任务到中断、中断到任务数据交流的一种机制,它不同于全局变量。假设有一个全局变量a,现有两个任务都在写这个变量a,如下所示,变量自增分为三个步骤,如果在任务1读数据以后、修改数据以前发生任务切换,这将导致任务2和任务1读取相同的数据,并且基于相同的数据做相同的修改,这显然是有问题的,而使用队列可以避免这种问题(指访问冲突)。这里我们先引入队列能干什么,接下来来介绍队列的特点在任务到任务、任务到中断、中断到任务中之间交流的数据保存在队列中,叫做队列项 目。
2025-11-17 22:10:11
790
原创 学习FreeRTOS(first day)
系统时钟节拍是 RTOS 内部的一个周期性中断。你可以把它想象成一个 “心跳”。这个中断的频率(即每秒发生的次数)是在 RTOS 配置文件中设定的,通常是。
2025-11-16 20:44:33
825
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅