- 博客(74)
- 收藏
- 关注
原创 【Linux】Linux应用开发小经验
基于Petalinux工具链的Linux应用开发小经验,未完待续...部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。
2025-05-03 20:49:30
918
原创 【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】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
原创 百度网盘Linux arm64架构版本,树莓派4B可用
其中,${版本号}为具体的版本号,最新版本为4.17.7。64位系统的树莓派4B测试成功,可用。
2024-12-17 00:29:43
1356
原创 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】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】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】电容触摸按键
电容按键就是酷,但据我使用过电容按键版的洗澡计费机子后,一生黑(湿手优化没做好的电容按键简直稀碎)。大部分图片来源:正点原子HAL库课程。
2024-08-25 23:41:54
823
原创 【STM32】定时器
定时器就像Qt的QTimer,还是硬件级的,超好用。不过有一说一,基本定时器更符合定时器的定义,通用定时器和高级定时器的作用已经不是“定时器”三个字可以概括的了。大部分图片来源:正点原子HAL库课程。
2024-08-24 23:36:17
2125
初代小米笔记本Air 13.5/12.5 BIOS,A6(仅13.3)、A9
2024-08-15
OpenCV编译时需要的资源,适配OpenCV4.10.0,日期2024.6.22
2024-06-22
自行编译的带CUDA的OpenCV(包含build中install和lib部分)【不确定别的电脑能不能用】
2024-06-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人