- 博客(14)
- 收藏
- 关注
原创 linux驱动学习之硬件驱动模块三(驱动篇)
信号量是在自旋锁上的进一步补充,使得在规定数量下的线程可以同时访问数据资源,当访问数量满时,释放满载信号,后面的线程收到信号后,进入休眠状态,等释放有访问资源的空位信号时,后面的线程被信号唤醒,获得访问资源权限。自旋锁是在原子变量的基础上加以扩展,将变量的范围扩充到结构体上,自旋锁运行一个 线程访问这个结构体资源时,下一个访问结构体的线程线程在自旋的等待,等当前的线程释放资源后,下一个线程快速访问该结构体资源。/* 设备式样状态,0->未使用,>0,设备被占用 *//* 信号量 */
2025-11-18 20:03:27
534
原创 linux驱动学习之驱动硬件模块二(驱动篇)
本文详细介绍了三种LED驱动开发方法:1. 直接编写驱动:通过ioremap映射物理地址,使用readl/writel操作寄存器,实现LED控制。2. 设备树驱动:利用of函数从设备树获取硬件信息,简化驱动移植,增强代码复用性。3. pinctrl/gpio子系统驱动:通过内核提供的子系统框架,进一步提高开发效率。三种方法均包含驱动初始化、设备注册、文件操作实现等完整流程,并配有测试程序验证功能。文章还详述了相关编译命令和调试技巧,展现了Linux驱动从底层操作到高级封装的演进过程。通过LED驱动实例,作者
2025-11-12 21:35:45
979
原创 linux驱动学习之驱动虚拟模块一(驱动篇)
本文介绍了在嵌入式Linux系统中开发字符设备驱动的完整流程。首先需要确保uboot、内核和根文件系统已正确移植,并建立主机与开发板的通信。主要包含三部分内容:1)编写字符设备驱动程序chrdevbase.c,实现打开、关闭、读写等基本操作;2)编写测试APP程序chrdevbaseAPP.c进行功能验证;3)详细说明编译和加载驱动的步骤,强调需要使用与目标板相同的内核和工具链。重点介绍了驱动程序的基本框架、设备注册/注销过程,以及测试方法。实验通过创建设备节点、加载驱动模块和执行测试程序,验证了字符设备驱
2025-11-05 12:12:00
290
原创 linux驱动学习之系统移植篇一(uboot移植)
摘要: U-Boot是一个功能强大的Bootloader程序,主要用于启动Linux等操作系统。其核心功能包括DDR内存初始化,以及将系统镜像从外部存储加载到DDR中运行。U-Boot不仅支持Linux,还可启动VxWorks等实时系统。常用命令包括:help查看命令帮助、bdinfo和printenv查询板信息与环境变量、setenv设置/删除环境变量以及saveenv保存配置。U-Boot通过灵活的指令系统为嵌入式系统启动提供关键支持。
2025-11-03 10:23:19
264
原创 linux驱动学习之uboot移植的报错问题multiple definition of `yylloc‘;
摘要:解决Uboot编译过程中出现的yylloc重复定义错误问题。错误源于scripts/dtc目录下dtc-lexer.lex.c和dtc-parser.tab.c文件对yylloc变量的重复定义。提供两种解决方案:1)手动修改dtc-parser.tab.c文件第1186行,将"YYLTYPE yylloc"改为"extern YYLTYPE yylloc";2)使用提供的shell脚本自动完成修改和编译过程。脚本会执行环境清理、应用配置、尝试编译,若失败则自动定
2025-11-01 17:15:01
270
原创 linux驱动开发学习之IP网络通信搭建
3、在使用win+R,并输入ipconfig,如果在第一个以太网适配器 以太网,下面出现192.168.xxx.1,就说明共享WiFi为有线网络成功。2、左击点进WLAN的属性面板,在最上面,选择到共享页面,将两个都打上对钩,并且将家庭网络连接方式设置为以太网。1、是使用的是VMware来搭建的虚拟机,首先,打开虚拟网络编辑器,配置桥接模式,注意,桥接模式的选择为。3、打开虚拟机,打开终端,输入ifconfig -a查看自己的网卡名字。2、设置虚拟机配置,勾选为桥接模式,并把设备状态的启动时连接够选上。
2025-10-31 21:17:45
448
原创 使用VMware虚拟机没有网络问题之重新安装网卡后还是没有网络
虚拟机网络连接失败的解决方案:在NAT模式下,若执行ifconfig后仍无网络,可尝试DHCP协议重置。具体操作为:1)使用sudo dhclient -r ens33释放当前IP租约;2)执行sudo dhclient -v ens33重新获取新IP地址。该过程相当于网络"重启",先断开现有连接(释放IP)再建立新连接(获取新IP),有效解决虚拟机无网络问题。
2025-10-31 09:52:59
199
原创 胶囊神经网络学习笔记
胶囊网络突破CNN局限的矢量表示新范式 传统卷积神经网络(CNN)存在仅能处理标量特征的局限性,无法有效捕捉方向性信息。胶囊网络(CapsNet)通过引入矢量化的"胶囊"单元,实现了对物体本质特征及其空间关系的更优表达。每个胶囊输出包含概率信息和实例参数的向量,其中向量长度表示特征存在概率,方向编码特征参数状态。 胶囊网络的核心创新包括: 矢量输入输出机制,通过矩阵乘法保留空间关系 动态路由算法替代反向传播,实现胶囊间的自适应连接 压缩(squash)非线性函数,保持向量方向同时约束长度
2025-10-09 14:19:27
820
原创 树莓派之用docker+docker compose来安装homeassistant
树莓派之用docker+docker compose来安装homeassistant
2024-02-15 21:02:38
2486
1
原创 QT学习之判断练习一:输入数字判断奇偶数,练习二:输入年分判断平闰年,练习三:输入年份判断十二生肖,拓展练习:输入年份判断十二生肖加图片
QT学习之判断练习一:输入数字判断奇偶数,练习二:输入年分判断平闰年,练习三:输入年份判断十二生肖,拓展练习:输入年份判断十二生肖加图片
2022-12-14 20:37:46
328
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅