- 博客(83)
- 收藏
- 关注
原创 RK3568开发板运行Qt
目录第1章 Qt系统移植之根文件系统制作第2章 Qt系统移植之交叉编译Qt源码和触摸源码第3章 Qt系统移植之开发板部署Qt运行环境第4章 Qt系统移植之交叉编译Qt工程在ARM上运行第5章 远程调试ARM上的Qt工程
2025-12-03 23:05:15
284
原创 RK3568前置知识
我的开发板是1.9版本,所以需要设置拨码开关。拨码开关向上拨码将USB口设置为USB功能(鼠标,键盘接口)。拨码开关向下拨码将USB口设置为下载镜像功能(更新updata.img)。注意编译内核的时候,会一并将设备树进行一起编译。编译完成之后会将内核和设备树打包成一个镜像文件【boot.img】。至此不必刻意编译设备树,即使你想编译设备树,只需要编译内核即可。这样下载镜像的工具【RKDevTool.exe】就能识别到开发板了。注意此时的boot.img内部已经包含了设备树镜像【resource.img】
2025-10-31 23:19:58
753
原创 基于线程池的配电房图像检测
帧率(FPS, Frames Per Second)是指每秒显示的画面帧数。帧率越高,画面越流畅,动态效果越好。常见的帧率有24fps、30fps、60fps等。
2025-10-22 21:25:51
653
原创 RK3568学习笔记
xfce-full” = 桌面完整版(包含常用软件包)“lite” = 无桌面(轻量命令行系统)“xfce” = 带桌面版。
2025-10-19 18:32:53
427
原创 Qt中的QWebEngineView
编译器一定要选择MSVC。本人使用的是【MSVC2019-64】酷炫界面的可以使用这种方式。其他使用Qt.。使用这种方式交叉开发。可以使用一个html界面使用一个QWebEngineView对象。每个对象放置在// 页面1: 登录页 (mermaid.html)// 页面2: 主页 (WebTest.html)// 使用 qrc 资源// 添加到 stacked widget// index 0// index 1。
2025-09-12 14:08:35
422
原创 STM32—OTA-YModem
协议优点缺点适用场景Xmodem极其简单,资源占用最小无法传输文件名和大小,检错能力弱 (Checksum)非常古老或资源极度受限的场景,现已很少用于IAPYmodem功能/资源/实现复杂度平衡,传输元数据,CRC校验速度不如Zmodem(停等协议),无内置安全机制最经典的串口IAP场景,资源受限的MCUZmodem速度快(流式传输,出错才重传),支持断点续传实现比Ymodem复杂,资源占用稍多对传输速度要求较高的场景。
2025-08-17 15:30:20
1216
原创 嵌入式Linux学习笔记
将物理内存通过虚拟内存管理机制映射到进程的虚拟内存地址上的过程。对于32位的系统,一旦进程运行起来,操作系统就会为每个进程分配4G的虚拟内存。前面3G是用户空间,后面1G是内核空间。针对全局变量肯定在【.bss或 .data】段,初始化好的肯定在【.data】,未初始化的肯定在【.bss】可执行程序的大小 = .data的大小 + .text的大小。
2025-08-05 21:33:26
427
原创 menuconfig软件
menuconfig是一个用于配置 Linux 内核编译选项的工具。它提供了一个基于文本的图形界面,允许用户通过这个界面来选择需要编译进内核的功能、驱动程序以及各种配置参数。
2025-07-08 22:42:31
523
原创 深度学习常用工具
将两个文件夹中的文件(图像和对应的 XML 标注文件)统一重命名为 flame_01, flame_02, ..., 并且 保持图像与标注文件一一对应。将old_label标签替换为new_label标签。查找指定标签出现在哪些XML文件中;获取所有标注文件中已经标注的标签;统计目标标签,标注了多少个标注框。
2025-07-08 15:28:08
232
原创 C/C++注册机制
入职第一天需要应届生做自我介绍,每个人的自我介绍(展示特长)的方式不一致,需要对自我介绍做高度。不推荐使用malloc函数,而推荐数组。不推荐理由,规避内存管理。2. 数组(采样的数据结构,类似Excel记录数据)1. 抽象(采样函数指针抽象出函数接口)假定有一个业务场景,学生的信息管理系统。头文件(student.h)源文件(student.c)头文件(student.h)源文件(student.c)2.1 使用函数来动态注册。2.2 使用数组来静态注册。
2025-07-02 14:51:50
635
原创 ubuntu安装Docker
14. 重启完docker之后检查registry mirror刚刚配置的加速地址是否成功。13.解决方案----配置加速地址:设置registry mirror。本文以Ubuntu20.05系统为例安装docker。1. 移除ubuntu系统自带的docker。15. 运行如下命令再次确认是否安装成功。4. 添加Docker官方GPG密钥。11. 开机自启动docker。5. 添加Docker软件源。10. 重新启动docker。3. 安装docker依赖。6. 安装docker。
2025-06-06 17:07:13
449
原创 深度学习中张量的理解
train=False, # 是否作为训练集。download=True, # 是否需要下载。[64, 3, 28, 28]表示有64张图片,每张图片有RGB,3个通道;图像的宽和高分别是28*28;labels[2]是一个张量,item()之后才能获取到张量中的值。6万张图片,每64张为一捆数据。共计938捆,最后一捆不足64张。图片的格式:torch.Size([3, 28, 28])来加载数据集,并设置了。获取第3张图像的标签。
2025-03-17 23:23:23
472
原创 深度学习笔记
想象一下你有一条生产线,这条生产线由多个工作站组成,每个工作站负责对产品进行某种特定的加工。原材料从生产线的一端进入,经过每个工作站的处理后,成品从另一端出来。在这个过程中,每个工作站都对原材料进行了某些操作,使得它逐渐变成了最终的产品。在深度学习中,神经网络就像这条生产线,输入数据就是原材料,而每一层就是一个工作站。前向传播就是指原材料(输入数据)经过各个工作站(神经网络的各层)的处理,最终变成成品(输出结果)的过程。相当于重写父类的方法并且将车间顺序组合起来。处理原材料model(x)
2025-03-15 16:01:10
728
原创 串口通讯基础
当上位机给串口发送(0x55)数据时,MCU的RX引脚接受到(0x55)数据,数据(0x55)首先进入移位寄存器。数据全部进入移位寄存器后,一次将(0x55)全部搬运到接收数据寄存器(RDR),并且触发串口接收非空中断(RXNE)标志位【前提是使能了RXNE中断】,该标志位置位表示可以向串口输入移位寄存器写数据了。当串口给上位机发送(0xAA)数据时,MCU的发送数据寄存器(TDR)先存储数据,硬件检测发送移位寄存器是否为空。
2025-03-04 23:26:43
1568
原创 IMX6Ull学习笔记1:汇编点亮LED灯
0X87800000,并且该地址是DDR的地址。由此可知需要使用DDR,所以在使用之前需要初始化DDR。配置GPIO的电气属性(包括摆率,速度,驱动能力,开漏,上下拉等等);使用正点原子的软件,添加头信息。GPIO1_I003 PIN的复用为GPIO。0X87800000地址作为代码段的起始地址。配置GPIO功能,设置输入输出模式;格式转换,将.elf转换成bin文件。-start 是汇编代码的入口函数。设置GPIO的数据寄存器;start 真正的函数区。对elf 文件进行反汇编。# 汇编代码的入口都是。
2025-03-02 19:21:58
550
原创 C/C++中的字符串
字符串表示方式:防止未定义行为:假设你有一个长度为5的字符串 ,你需要至少6个字节的空间来存储它(包括 终止符)。如果只分配了5个字节:在这种情况下, 不会被正确地视为一个C字符串,因为缺少终止符 。2.2 错误示例22.3 正确示例3. char *str和char str2[]的用法3.1 char *str的使用场景函数参数传递:当需要将字符串传递给函数时,通常使用指针,因为指针只需要传递地址,效率较高。结构体中使用字符串:3.2 char
2025-02-23 23:54:11
643
原创 Modbus通讯协议
注:AO:通常使用 DAC(数字到模拟转换器)将数字信号转换为模拟信号输出。AI:模拟信号通过 ADC(模拟到数字转换器)转换为数字信号,以便在计算机或控制系统中进行处理。
2025-02-15 17:13:16
1234
原创 SCPI命令笔记
5. 读取设备电压(功能和第4条命令达到一样的效果)6. 读取设备电流 (功能和第4条命令达到一样的效果)3. 清除设备的状态寄存器和事件队列。7. 查询设备当前电压测量范围。8. 查询设备当前电流测量范围。10. 设置电流的测量范围。9. 设置电压的测量范围。
2025-01-21 16:57:42
1724
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1