
Linux驱动编程篇
文章平均质量分 70
阿波罗啦啦啦啦
粮厂嵌入式工程师 Android底层音视频开发 曲折中上升,实践中领悟
展开
-
Linux驱动编程篇(五)——驱动设计的思想(面向对象)(分层)(分离)
Liunx驱动 = 驱动框架 + 硬件操作===》Liunx驱动 = 驱动框架 + 单片机原创 2021-06-12 20:46:14 · 1088 阅读 · 5 评论 -
Linux驱动编程篇(四)——LED驱动(二)LED驱动框架
为应对多种芯片或开发板适配的LED驱动程序,同时减少开发流程,故需要在APP、驱动程序、硬件三个部分中添加一个部分,用于放置各单板LED驱动程序的公共部分。一、LED驱动程序框架的流程图二、对于公共部分的解决方案方案一:选择开发板A时,编译时选择编译的文件为:leddrv.c、Board_A.c;选择开发板B时,编译时选择编译的文件为:leddrv.c、Board_B.c;方案二:面向对象的思想抽象一个结构体led_operationsstruct led_operations {原创 2021-06-06 13:57:58 · 657 阅读 · 0 评论 -
Linux驱动编程篇(三)——LED驱动(一)简单LED驱动
一、LED驱动程序的实现目标1、打开LED2、关闭LED二、LED驱动程序的实现部分1、内核层LED驱动程序2、应用层LED测试程序三、内核层LED驱动程序的编程步骤1、添加头文件2、确定主设备号,也可以让内核分配3、定义自己的 file_operations 结构体4、实现对应的 drv_open/drv_read/drv_write 等函数,填入 file_operations 结构体5、实现入口函数:安装驱动程序时,就会去调用这个入口函数,执行工作:(1)把 file_oper原创 2021-05-26 10:35:40 · 4653 阅读 · 0 评论 -
Linux驱动编程篇(二)——硬件基础(1)存储器
存储器大致分为两种:非易失性存储器(NVM)、掉电丢失存储器(RAM)一、非易失性存储器(NVM)1. ROM1.1. ROM()不可编程ROM1.2. PROM(不)可编程ROM1.3. EPROM可擦除可编程ROM1.4. EEPROM电可擦除可编程ROM,可以完全使用软件擦除2. FlashFlash市场上两种主要技术是或非、与非闪存技术。2.1. NOR Flash或非闪存技术。1988年,IntelNOR Flash与CPU的接口属于典型的类SRAM接口,不需要增加原创 2021-05-16 20:55:54 · 285 阅读 · 0 评论 -
Linux驱动编程篇(一)—Hello驱动(字符驱动程序)(不涉及硬件)
一、在应用层的APP上调用glibc,Linux系统会做哪些事?如果访问的是普通文件,则会经系统调用后访问。如果是驱动程序则会通过调用驱动程序对应的代码进行访问(提供drv_open),如下图。二、编写驱动程序的几个步骤① 确定主设备号,也可以让内核分配② 定义自己的 file_operations 结构体③ 实现对应的 drv_open/drv_read/drv_write 等函数,填入 file_operations 结构体④ 把 file_operations 结构体告诉内核:reg原创 2021-05-07 11:33:48 · 1165 阅读 · 0 评论