
使用树莓派学习linux内核
文章平均质量分 92
使用树莓派学习linux内核
三哥编程分享
这个作者很懒,什么都没留下…
展开
-
使用树莓派学习Linux驱动开发-05 按键驱动程序(查询方式)
文章目录前言一、接线方式二、芯片手册寄存器介绍1.Register View三、编写代码总结前言本专栏的前几篇博文介绍了几种GPIO输出功能(LED)的驱动代码书写,包括传统方法,分离方法,总线方法,最后在总线方法中引入设备树。本文将进一步对GPIO的输入模式进行介绍,使用查询方式来写一个按键驱动程序。一、接线方式红线接在GPIO0,棕线接在GND上,接下来需要将GPIO0设置为输入模式,正好GPIO0在默认情况下时高电平,通过查询按键程序检测,在按键按下时,读取到的值为0 ,在松开时,读取到的原创 2022-04-21 23:32:54 · 671 阅读 · 0 评论 -
使用树莓派学习Linux驱动开发-04 总线设备驱动模型编写LED驱动程序(引入设备树指定LED引脚)
文章目录前言一、设备树的引入与作用二、使用步骤.总结前言本文在《03 总线设备驱动模型编写LED驱动程序》基础之上继续改进,将board_pi4b_led.c资源定义文件删除,转而在设备树中定义LED引脚的指定。一、设备树的引入与作用在前三篇内容中的LED驱动程序,LED所使用的GPIO引脚都是定义在源码中的,当需要修改LED所使用的GPIO引脚时都需要重新对源码重新编译,并重新加载驱动,这样非常的不方便。在内核中,同一芯片(bcm2711)的板子,我们使用的是树莓派4B来进行学习,同一芯片的GP原创 2022-04-19 22:59:00 · 1141 阅读 · 0 评论 -
使用树莓派学习Linux驱动开发-03 总线设备驱动模型编写LED驱动程序
文章目录前言一、 总线设备驱动模型是什么?二、使用步骤1.定义platform_driver结构体2.定义platform_device结构体总结前言使用树莓派4B开发板学习linux驱动开发,本文参考韦东山老师linux入门课程,将 总线设备驱动模型代码移植到树莓派4B上运行。一、 总线设备驱动模型是什么?传统方法来编写LED的程序是将需要用到的GPIO资源都写死在代码中的,没有考虑扩展性,每次修改引脚都需要重新编译。总线设备驱动模型引入platform_device/platform_dri原创 2022-04-19 21:39:10 · 567 阅读 · 0 评论 -
使用树莓派学习Linux驱动开发-02 面向对象/分层/分离驱动设计思想编写LED驱动程序
系列文章目录此博客内容根据韦东山嵌入式Linux驱动开发课程书写而来,将课程中用到的代码移植到树莓派4B板子。文章目录系列文章目录前言一、驱动设计思想--分离二、使用步骤1.引入库2.读入数据总结前言在上一篇内容中,书写了一个设备驱动程序来完成LED的点亮与熄灭,在里面抽象出了一个file_operations结构体,通过register_chrdev函数将file_operations结构体将结构体告诉内核来注册驱动程序;针对硬件操作部分抽象出了led_operations结构体,在led_op原创 2022-04-17 22:05:48 · 671 阅读 · 0 评论 -
使用树莓派学习Linux驱动开发-01 LED驱动程序
01 LED驱动程序sysfs操作GPIO的命令配置GPIO0为输出模式配置GPIO0为输入模式添加test_led0驱动程序来操作GPIO0ledtest驱动程序ledtest.cLED0寄存器操作文件board_demo_pi4b.cLED的操作头文件led_ope.h测试LED0文件ledtest.cMakefile编译文件编译步骤sysfs操作GPIO的命令在大部分的linux操作系统中都可以通过/sys/class/gpio来直接操作gpio,同样的在树莓派的系统中也是支持的,这是一种使用文件原创 2022-04-10 00:05:16 · 1524 阅读 · 0 评论