- 博客(29)
- 问答 (1)
- 收藏
- 关注
原创 1-2 再识RKMedia
上图中的MPP组件就是瑞芯微根据自家芯片中的硬件编解码器开发的一个应用程序,在SDK目录下,可以找到MPP目录。上图RKMedia对MPP进行封装,功能集是MPP的子集。MPP支持:H.263/H.264/H.265/VP8/VP9/MPEG等C仅支持:H.264/H.265/JPEG/MJPEG 4种RGA组件:在SDK目录下,可以找到 RGA组件目录。,独立2D硬件加速器,用于加速点和线的绘制,对图像进行拷贝、旋转、翻转、缩放、裁剪、合成,格式转换等一些二维图像操作;
2026-05-13 15:57:38
328
原创 RV1126准备-----编译和测试SDK自带的RKNN例程
步骤2: 修改build.sh文件指定交叉编译器。步骤3: 执行./build.sh进行编译。
2026-03-22 14:24:13
101
原创 C++-----1.基础杂知识
引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。比如:蔡徐坤,江湖上人称"IKUN",大家也叫他“坤哥“。语法形式:类型后加&符号(区别于取地址操作符),如int& ra = a;物理意义:引用与被引用变量共享同一块内存空间,例如:定义int a = 10;后,int& ra = a;表示ra和a指向同一内存单元可继续定义int& b = ra;
2026-03-12 15:43:46
58
原创 I.MX6UL:GPT定时器
延时函数是很常用的 API 函数,在前面的实验中我们使用循环来实现延时函数,但是使用循环来实现的延时函数不准确,误差会很大。虽然使用到延时函数的地方精度要求都不会很严格(要求严格的话就使用硬件定时器了),但是延时函数肯定是越精确越好,这样延时函数就可以使用在某些对时序要求严格的场合。本章我们就来学习一下如何使用硬件定时器来实现高精度延时。一、GPT定时器简介在使用 STM32 的时候可以使用 SYSTICK 来实现高精度延时。
2025-09-22 15:29:54
739
原创 小梅哥FPGA学习
这里涉及到语法例化写好的模块,例化的过程和在测试平台tb文件中的过程一样,Led<={Led[6:0],Led[7]}-------循环移位写法。导入3-8译码器,在定义一个计数器,count2作为3位的数,0~7循环变化,下面我们。我们需要在led_run2.v文件中调用3-8译码器驱动LED,分析设计输入中代码是否有误。
2025-09-19 22:15:27
337
原创 I.MX6UL:EPIT
EPIT (Enhanced Periodic Interrupt Timer)增强的周期中断定时器,它主要是完成周期性中断定时的。学过 STM32 的话应该知道,STM32 里面的定时器还有很多其它的功能,比如输入捕获、PWM 输出等等。但是 I.MX6U 的 EPIT 定时器只是完成周期性中断定时的,仅此一项功能,这里与STM32不同!至于输入捕获、PWM 输出等这些功能,I.MX6U 由其它的外设来完成。
2025-09-15 17:46:36
880
原创 I.MX6UL:主频和时钟配置实验
默认配置下 I.MX6U 工作频率为 396MHz。但是 I.MX6U 系列标准的工作频率为 528MHz,有些型号甚至可以工作到 696MHz。本章我们就学习 I.MX6U 的时钟系统,学习如何配置 I.MX6U 的系统时钟和其他的外设时钟,使其工作频率为 528MHz,其他的外设时钟源都工作在 NXP 推荐的频率。
2025-09-14 15:02:27
1162
原创 I.MX6UL:汇编LED驱动实验
一、前言I.MX6UL 使用的是 Cortex-A7 架构,Cortex-A 芯片一上电 SP 指针还没初始化,C 环境还没准备好,所以肯定不能运行 C 代码,必须先用汇编语言设置好 C 环境,比如初始化 DDR、设置 SP指针等等,当汇编把 C 环境设置好了以后才可以运行 C 代码。
2025-09-10 16:50:09
1172
原创 C++:类和对象
C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++的核心特性,通常被称为用户定义的类型。类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。打个比方说明一下什么是类,比如有一条小狗,小狗有名字叫旺财,旺财的年龄是 2 岁,同时旺财会汪汪的叫,也能跑。我们统称狗这个为类,类是我们抽象出来的,因为狗不只有上面的属性,还有体重,毛发的颜色等等,我们只抽象出几种属性成一个类。
2025-09-09 21:16:21
1148
原创 C++:作用域运算符
:是运算符中等级最高的,它分为三种:全局作用域符,类作用域符,命名空间作用域符。全局作用域符号:当全局变量在函数中与其中某个局部变量重名,那么就可以用::来区分。2、用来指向类的成员函数、初始化类的静态变量。
2025-09-08 10:56:49
195
原创 VMware虚拟机无法连接网络解决方法
本地电脑WIFI的共享模式是否打开------具体操作如下:(1)首先,WIN + R,输入:services.msc,翻找vmware的相关服务(2)网络适配器-----windows搜索控制面板---找到网络和Internet。
2025-08-08 11:38:53
945
原创 STM32----DMA数据转运
(1)DMA()直接存储器存取,DMA外设可以直接访问STM32内部的存储器的,包括运行内存SRAM、程序存储器FLASH和寄存器等等,DMA都有权限访问他们。(2)DMA可以提供外设(这里外设指的是外设寄存器,一般是外设的数据寄存器DR、Data Register,比如ADC的数据寄存器、串口的数据寄存器等等。)和存储器(这里存储器指的就是运行内存SRAM、程序存储器FLASH,是我们存储变量和程序代码的地方)或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU的资源。
2025-07-16 19:19:08
1223
原创 STM32----SPI
是由Motorola公司开发的一种通用数据总线(2)四根通信线:SCK)、MOSI;主机输出从机输入)、MISO主机从从机接受数据的线路)、SS)(3)同步,全双工(数据发送和数据接收单独各占一条线路;互不影响)(4)支持总线挂载多设备(一主多从)-----I2C一主多从的方式是在其实条件之后,主机必须发送一个字节进行寻址,用来指定我要跟哪个从机进行通信,所以I2C涉及到分配地址和寻址的问题;
2025-07-08 17:19:30
1489
1
原创 STM32定时器实现非阻塞编程
即使采样点正好在采样处也没关系,因为抖动小于20ms,所以都抖动只会影响这一次的采样值,抖动处的采样值无论是0或1都没关系,如果是0,那么下次采样,才会检测到按键松手;-----可以在进中断的最开始,就清中断标志位,然后等中断退出,再查看一下这个标志位,如果这时还没有置1,说明中断没有重叠,如果又置1了,说明中断里的代码执行过久,中断重叠了。注意:定时器中断被多个模块复用,要确保这些模块的中断代码,执行时间不要太久,不要出现一个中断还没有执行结束,下一个中断就要到来了-------也就是中断重叠的现象。
2025-06-28 20:52:49
1033
原创 CAN总线
某个设备想要发送自己的数据的时候,就操作总线,拉开或者释放,使得总线产生一段上面图例中的时序波形,波形发送方要根据帧格式的定义来发,接收方也要根据帧格式的定义来接收和解析。那么发送方发出一段波形之后,接收方该如何准确的采样,得到每一个数据位的值呢?也就是想上面图中在每一位数据位中间,画一条线,来读取总线电平,对应到实际的接收方,我们必须明确规定进行采样的具体步骤,并且设计出一个可以实现的硬件电路。
2025-06-28 11:16:26
1727
原创 机器学习--模型的评估
Sklearn是一个专门用来做机器学习的工具包,主要有六大模块。交叉验证的进行:数据集的切分,切分为训练集(构建算法模型时候用到)和测试集,测试集用来公平测试训练的模型。一个小栗子:我们在高考前的时候刷习题册,考试的时候并不一定考习题册的内容。高考试卷(测试集)放到最后再用,等到所用的准备工作,如模型的调参完毕,最后一次测试时候才考高考试卷,平时训练过程中,及时查缺补漏,此时相当于月考,期中期末考试,相当于是一个自我调节的过程,故需要做这一交叉验证。-------如下图将训练集分成10份。
2025-06-19 15:13:49
890
原创 目标检测入门系列
目标检测:用于确定物体的类别并使用边界框在图像中定位该物体(位置+类别)。更高精度叫做语义分割:不同的类别用不同的颜色区分开,对于网络训练或者网络模型,训练的要求更高。
2025-06-03 16:24:56
850
原创 训练YOLOv5模型
(1)weightsweights 参数用于指定网络模型,其 default 默认设置为 yolov5s.pt 模型。当 default 设置为空时,代码运行后将从头开始训练。(2)cfgcfg 参数指定模型配置文件的路径,YOLOv5 官方提供了 4 个模型配置文件。(3)datadata 参数用于指定训练数据集,YOLOv5 官方提供了 4 个数据集配置文件,配置文件中存放了数据集的类别和路径信息。(4)hyp。
2025-06-01 16:12:00
1265
原创 Python语法(类和对象)
一个对象的实例化过程:首先执行__new__(),如果没有写__new__(),默认调用object里面的__new__(),返回一个实例对象。object ---------对象,python为所有对象提供的基类(顶级父类),提供了一些内置的属性和方法,可以使用dir()查看,例如:print(dir(object))总结:类属性是公共的,所有的方法内部能可以访问到,静态方法不需要访问类属性,因为静态方法和类以及对象没有关系 ,实例属性是私有的,只有实例方法内部可以访问到。
2025-05-30 08:40:38
821
原创 小土堆Pytorch学习
要想在TensorBoard的step中一步步显示,终端的代码需要改成:tensorboard --logdir="D:\py_pro\pythonProject2025\dataloader" --port=6009 --samples_per_plugin=images=10000。当你使用索引操作符[]来获取对象的元素时,实际上是调用了对象的__getitem__方法,并传入相应的索引值。walltime (float) 可选参数,可选参数,用于记录发生的时间,默认为 time.time()
2025-05-15 16:48:28
976
原创 超宽带UWB定位最小二乘法,非视距实验
Task1:对标签位置进行测量的过程中,无论在信号有无干扰的情况下,测量值都可能因为周围环境的影响从而造成测量数据出现偏差,即出现异常值,从而会对后续的模型预测造成干扰,因此需要选择合理的异常数据剔除方法,本文采用滑动均值滤波算法对测量的4组距离值进行预处理。图中两块黑色矩形,在实际环境场地为2座四方形柱子,红色为实际规划路径,从最下面柱子可以清晰的看到由于NLOS(非视距)的影响,定位坐标点误差严重,需进一步优化定位算法或提出新的定位算法解决NLOS的影响。可以满足高精度室内定位的要求。
2025-01-13 23:41:02
927
原创 滤波算法专栏
滑动均值滤波器是处理信号中噪声的常用方法之一,定义一个窗口,通过计算信号在窗口内的均值,对信号进行滑动窗口处理。将滤波窗口向前滑动一格,重复上述步骤,直到所有样本点都被处理完毕。滑动平均滤波算法的优点是简单方便,可以有效地去除信号中的高频噪声;缺点是可能会对信号的快速变化造成滞后效应,并且选择的窗口大小也会影响滤波效果。
2025-01-12 20:52:06
349
空空如也
解释一下代码要详细 不懂
2021-10-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅