自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tesseract_9527的博客

一个不断学习的小菜鸡

  • 博客(74)
  • 收藏
  • 关注

原创 记录自己的嵌入式学习之路

未完待续······

2024-08-22 22:56:03 412 2

原创 【Linux】Linux应用开发小经验

基于Petalinux工具链的Linux应用开发小经验,未完待续...部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。

2025-05-03 20:49:30 918

原创 【Linux】驱动开发方法

注册一个LED设备,其中led_cdev为描述LED设备的结构体;注销LED设备;

2025-05-03 12:31:43 944

原创 【Linux】Petalinux驱动开发基础

在SD卡的BOOT分区,放入文件。用BOOT.BIN,boot.scr,system.bit,zImage,system.dtb五个文件代替普通Petalinux开发的BOOT.BIN,boot.scr和image.ub三个文件的方案:

2025-05-03 11:31:36 1122

原创 【Linux】Petalinux U-Boot

描述部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。

2025-05-02 22:04:32 857

原创 【Linux】PetaLinux开发

使用Xilinx的PetaLinux工具编译用于Zynq7020的Linux.部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。

2025-05-02 21:29:59 927

原创 【Linux】Linux奇技淫巧

在学习驱动开发过程中学到的一些Linux技巧。部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。

2025-05-02 16:49:30 1009

原创 【Linux】关于虚拟机

一些在Linux驱动开发中使用虚拟机的经验。部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。

2025-05-02 15:09:18 766

原创 【Linux】Linux基础命令

一些常用的Linux命令,还有一些驱动开发会用到的命令。部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。

2025-05-02 11:11:57 915

原创 【Linux】Linux基础概念

一些比较重要的使用Linux的前情提要。部分经验来源于网络,若有侵权请联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。

2025-05-02 11:11:18 234

原创 【Linux】Makefile

Makefile是一个包含了一系列指令的文件,这些指令定义了如何编译和链接程序。Makefile被make命令使用,make是一个构建自动化工具,它根据Makefile中定义的规则来决定哪些文件需要重新编译。

2025-05-01 23:48:48 1187

原创 【Linux】VSCode用法

描述部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。

2025-05-01 22:09:04 1835

原创 【Linux】C语言补充知识

(1)最常用方法:先定义结构体后定义结构体变量(2) 定义结构体同时初始化结构体变量(3) 直接初始化匿名结构体变量(尽量别用,能看懂就行)

2025-05-01 21:46:44 1073

原创 查找Vitis IP核API以及示例程序的途径

如:D:\SoftwareInstalled\Xilinx\Vitis\2023.1\data\embeddedsw\XilinxProcessorIPLib\drivers\axidma_v9_16\doc\html\api\index.html。如:D:\SoftwareInstalled\Xilinx\Vitis\2023.1\data\embeddedsw\XilinxProcessorIPLib\drivers\axidma_v9_16\examples。

2025-01-03 11:10:28 210

原创 记录命令行操作树莓派Wifi的方式

priority:连接优先级,越小优先级越高,0最小;wifi_password:WiFi密码;wifi_name:WiFi名;key_mgmt:加密方式;

2024-12-28 21:56:53 350

原创 【Linux】Petalinux使用QSPI FLASH引导启动

1. 预分配Flash空间使用Flash引导Petalinux做的系统,也有进阶的做法。部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。1. 预分配Flash空间根据生成的bit文件大小估算BOOT.BIN文件的大小,为Flash大概分配四个分区:boot、bootenv、kernel、bootscr,分别存放BOOT.BIN文件、u-boot的环境变量、内核文件(image.ub/zImage/uImage等)、启动脚本boot.scr。

2024-12-25 19:32:37 1739

原创 ioctl回顾

15-8]:命令的幻数type,表示设备的类型,可以是任意一个char型字符,如’a’、‘b’、‘c’等,其主要作用是使ioctl命令具有唯一的设备标识。[31-30]:读写方向dir,分为无数据(_IO)、读数据(_IOR)、写数据(_IOW)、读写数据(_IOWR)四种模式;[29-16]:传递数据的大小size,一般利用其宏_IO、_IOR等直接传入数据的类型,如int;_IOWR(type,nr,size):用来定义数据交换类型的命令,先写入数据,再读取数据这类命令。

2024-12-25 19:06:19 256

原创 驱动与用户空间的交互函数

read函数只能完成读的功能,write只能完成写的功能。ioctl的接口是万能的,ioctl(fd, cmd, arg)第三个参数可以是一个整形变量,也可以是一个指向某种数据结构的指针。ioctl的语义一般是非阻塞的,read和write却省是阻塞的。相对于文件首地址的偏移,它用于跟踪文件操作中当前的位置,由于是由内核进行维护的,因此用户空间的write函数没有这个形参;相对于文件首地址的偏移,它用于跟踪文件操作中当前的位置,由于是由内核进行维护的,因此用户空间的read函数没有这个形参;

2024-12-25 19:03:24 569

原创 U-Boot的默认引导过程

这里表示引导方式,最开始多出来一个qspi,可能是因为在petalinux或者什么地方设置过qspi优先引导,所以添加了一个在前面。其实就是循环每一个boot_targets,并尝试执行其对应的引导命令,直到成功引导进入系统为止。bootcmd_qspi在这里其实就是通过QSPI FLASH加载boot.scr文件并依据脚本文件内容进行引导。其实就是各模式实际的引导命令内容,根据模式的不同,其实际的内容也不同。实际就是执行distro_bootcmd。这里的顺序就代表着引导的顺序。

2024-12-25 19:00:31 412

原创 U-Boot中的boot命令

initrd文件在内存中的地址和大小,可以不指定,不指定时用“-”代替。其实就是根文件系统的地址,一般用RAMDISK文件(ramdisk.cpio.gz.u-boot)做根文件系统才需要指定,用EXT4根文件系统时无需指定;dtb文件在内存中的地址,由petalinux-config -c u-boot中的Default DTB pickup address设定;与bootm类似,不过addr是zImage文件所在的内存地址,不是uImage。使用u-boot环境变量中的bootcmd引导系统。

2024-12-25 18:55:55 268

原创 PetaLinux 内核输出信息的获取方式

默认输出方式。曾尝试过将串口终端的输出重映射到伪终端,失败了。

2024-12-25 18:20:08 324

原创 记录树莓派4B安装向日葵的过程

【代码】记录树莓派4B安装向日葵的过程。

2024-12-23 23:46:24 673

原创 百度网盘Linux arm64架构版本,树莓派4B可用

其中,${版本号}为具体的版本号,最新版本为4.17.7。64位系统的树莓派4B测试成功,可用。

2024-12-17 00:29:43 1356

原创 PetaLinux工程的常用命令——petalinux-build

petalinux-build:编译项目或指定组件。

2024-10-15 18:55:19 1083

原创 PetaLinux工程的常用命令——petalinux-config

petalinux-config:使用菜单配置项目或指定组件。

2024-10-15 18:51:05 552

原创 PetaLinux工程的常用命令——petalinux-create

petalinux-create:此命令创建新的PetaLinux项目或组件。注:有些命令我没用过,瞎翻译有可能会翻译错了,像是和fpgamanager相关的部分。

2024-10-15 18:47:49 1146

原创 【STM32】红外遥控

从上图中可以看到,其地址码为0,控制码为21(正确解码后00010101)。可以看到在100ms之后,我们还收到了几个脉冲,这是NEC码规定的连发码(由9ms低电平+2.5ms高电平+0.56ms低电平+97.94ms高电平组成),如果在一帧数据发送完毕之后,按键仍然没有放开,则发射重复码,即连发码可以通过统计连发码的次数来标记按键按下的长短/次数。注意注意⚠️!地址码、地址反码、控制码、控制反码均是8位数据格式按照低位在前,高位在后的顺序发送(LSB)采用反码是为了增加传输的可靠性(可用于校验)

2024-08-28 21:33:07 1450

原创 【STM32】RS485

RS485是常见的串口接口。大部分图片来源:正点原子HAL库课程。

2024-08-28 00:39:09 2414

原创 【STM32】SPI

SPI又是另一个超级常见的外设通信方式。大部分图片来源:正点原子HAL库课程。

2024-08-28 00:32:42 2657

原创 【STM32】IIC

STM32F103具有2个I2C总线接口,能够工作于多主模式或从模式,支持标准(100kHz)和快速模式(400kHz)。I2C接口支持7位或10位寻址,7位从模式时支持双从地址寻址。内置了硬件CRC发生器/校验器。它们可以使用DMA操作并支持SMBus总线2.0版/PMBus总线。时钟STM32F103的两个IIC接口外设都挂载在APB1时钟总线上;为了产生正确的时序,必须在I2C_CR2寄存器中设定该模块的输入时钟。输入时钟的频率必须至少是(但APB1一般都会满足吧):标准模式下为:2MHz;

2024-08-28 00:10:00 2653

原创 【STM32】DAC

DAC,数模转换器,用于输出模拟信号的大哥,输出正弦波就靠它了。大部分图片来源:正点原子HAL库课程。

2024-08-27 23:49:39 2595

原创 【STM32】ADC

ADC,模数转换器,用于采集模拟信号的大哥,传感器数据采集就靠它了。大部分图片来源:正点原子HAL库课程。

2024-08-27 23:34:22 3415

原创 【STM32】DMA

DMA,全称为:Direct Memory Access,即直接存储器访问。DMA牛逼的地方应该就是将一个外设的数据内容直接映射到内存中的一堆数据中,通过读数据就读到了外设通过GPIO输入的某些值,就不需要使用CPU费劲巴拉地去访问寄存器获取这些值。

2024-08-27 22:56:54 1557

原创 【STM32】RTC

实时时钟(Real Time Clock,RTC),本质是一个独立的计数器,计数频率常为秒,专门用来记录时间。能提供时间(秒钟数)能在MCU掉电后运行(无需VDD供电)低功耗2 应用时间记录、闹钟?3 RTC方案一般都需要设计RTC外围电路;一般都可以给RTC设置独立的电源;多数RTC的寄存器采用BCD码存储时间信息;4 时钟源要获得秒分频,分频系数要设置为32767;5 计数器RTC的计数器RTC_CNT为一个32位的递增计数器。

2024-08-27 22:28:32 1339

原创 【STM32】FMC

FMC功能与FSMC类似,但比FSMC更强大,但仅在F4 / F7 / H7等高级一点的MCU上支持,F1不支持。虽然我的是F103,但顺便都看了。大部分图片来源:正点原子HAL库课程。

2024-08-27 22:07:31 890

原创 【STM32】FSMC

FSMC在正点原子的HAL课程中用法较为单一,就是用来模拟8080时序驱动LCD屏幕,其实就是利用FSMC读写LCD模块的SRAM。当然,这个我也没有买,只学习了理论。大部分图片来源:正点原子HAL库课程。

2024-08-27 21:58:16 2463

原创 【STM32】驱动LCD

没买LCD屏,没有上机实践,只是学习了理论。大部分图片来源:正点原子HAL库课程。

2024-08-26 00:37:17 1560

原创 【STM32】电容触摸按键

电容按键就是酷,但据我使用过电容按键版的洗澡计费机子后,一生黑(湿手优化没做好的电容按键简直稀碎)。大部分图片来源:正点原子HAL库课程。

2024-08-25 23:41:54 823

原创 【STM32】驱动OLED屏

其实我没买OLED屏哈哈哈,这个只是学习了,没机会实践。大部分图片来源:正点原子HAL库课程。

2024-08-25 23:31:29 1164

原创 【STM32】定时器

定时器就像Qt的QTimer,还是硬件级的,超好用。不过有一说一,基本定时器更符合定时器的定义,通用定时器和高级定时器的作用已经不是“定时器”三个字可以概括的了。大部分图片来源:正点原子HAL库课程。

2024-08-24 23:36:17 2125

初代小米笔记本Air 13.5/12.5 BIOS,A6(仅13.3)、A9

刷BIOS有风险,刷BIOS需谨慎!!!!!!!!!!!!!!!!!!没啥问题不要刷!做好变砖的准备再刷! 1、小米笔记本Air13.3 BIOS A6(这个我用过,没啥问题) 2、小米笔记本Air13.3 BIOS A9(这个我用过,没啥问题) 3、小米笔记本Air12.5 BIOS A9

2024-08-15

OpenCV编译时需要的资源,适配OpenCV4.10.0,日期2024.6.22

【解压后将.cache文件夹放在OpenCV源代码目录opencv-4.10.0下即可】 包含的功能包: ade: v0.1.2d.zip data: face_landmark_model.dat ffmpeg: ffmpeg_version.cmake opencv_videoio_ffmpeg.dll opencv_videoio_ffmpeg_64.dll ippicv: ippicv_2021.11.0_win_intel64_20240201_general.zip nvidia_optical_flow: edb50da3cf849840d680249aa6dbef248ebce2ca.zip wechat_qrcode: detect.prototxt sr.prototxt detect.caffemodel sr.caffemodel xfeatures2d: boostdesc vgg

2024-06-22

自行编译的带CUDA的OpenCV(包含build中install和lib部分)【不确定别的电脑能不能用】

【仅供参考,我也不确定这种在别的硬件环境下编译的OpenCV,另一台电脑是否可用】 自行编译的OpenCV,基于OpenCV4.10.0,相比于原始版,开启了CUDA(cudacodec、NVCUVENC、NVCUVID除外,好像现在不支持了,勾选了配置会失败)、TBB、OpenGL、OpenMP、Fast_Math、CUDA_Fast_Math、Non-free、opencv_world;关闭了JAVA相关的模块、SETUPVARS、所有的Test。 Release和Debug都编译了。 CUDA版本:12.0.0 cuDNN版本:8.9.7.29

2024-06-21

空空如也

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

TA关注的人

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