![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动
驱动学习记录
sunshime.
嵌入式小菜鸡记录学习,哞哞
展开
-
Linux内核的组成
系统调用作为用户级与内核级交互方式,分为2部分:与文件子系统的交互和与进程控制子系统的交互。Linux内核主要由5个子系统组成:进程调度、内存管理、虚拟文件系统、进程间通信和网络接口。包括:分配文件空间、管理空闲空间、控制对文件的存取以及为用户检索数据。4.进程间通信(IPC):用于支持多种进程间的信息交换。2.内存管理(MM):用于确保所有进程能够安全地共享机器主内存区。1.进程调度(SCHED):用来负责控制进程对CPU资源的使用。进程控制子系统负责进程同步、进程间通信、进程调度和存储管理。原创 2022-10-18 15:19:48 · 2497 阅读 · 0 评论 -
4.树莓派IO口驱动
树莓派IO口驱动,根据芯片手册,需要操作三个寄存器。原创 2022-10-01 01:46:48 · 651 阅读 · 0 评论 -
3.驱动代码编译测试
6.将pindriver.ko 和编译得到的可执行文件pintest发送到树莓派中。9.sudo chmod 666 /dev/pin4 改为权限,所有用户均可读写。uname -r查看内核版本是否一致,不一致重新编译内核并更新到树莓派中。7.sudo insmod pin4driver.ko 装载驱动。10.sudo rmmod pindriver 卸载驱动。3.修改Makefile,告诉编译器,要编译该驱动文件。2.将驱动代码拷贝到下面路径。./pintest运行。驱动代码编译测试成功。原创 2022-09-30 16:21:31 · 144 阅读 · 0 评论 -
2.驱动框架
基于框架编写驱动代码的驱动框架。原创 2022-09-29 23:33:48 · 104 阅读 · 0 评论 -
1.驱动的认知
关于厂家提供的wiringPi,有的厂家不一定提供,那么开发者必须要学会自己开发。fd = open /read/write("/dev/pin4",权限);操作寄存器来驱动IO口。驱动插入链表的顺序由设备号检索。2.设备号:主设备号、次设备号。调用驱动程序,用户空间去open。驱动链表:管理所有设备的驱动。编写完驱动程序,加载到内核。原创 2022-09-29 22:45:10 · 313 阅读 · 0 评论