文章分类 - 韦东山学习视频
平时一些简单的记录
摘要:由于lcd依然是可以使用子系统进行操作,因此我们可以模仿输入子系统对lcd的整个过程进行设置,如下: 在此基础上对lcd_init进行填充,包括如下部分: /* 1.分配一个结构体*/ /* 2.根据结构体配置参数*/ /* 3.硬件相关操作*/ /* 4.注册函数*/ 下面进行函数填充: 1.分配
阅读全文
摘要:通过一段时间的学习逐步接触了几个简单的驱动,包括:字符型led、字符型按键以及它们在中断、同步、互斥、阻塞要求下的操作,从类型上说,前面的两个驱动都是IO类的驱动,从理论上说,逐渐接触了中断、同步、互斥、阻塞等的知识,在接触驱动的过程中发现其实写驱动和写单片机程序很相似,同样是操作寄存器,同样会用到
阅读全文
摘要:中断也是种异常 从模糊的概念来说中断和异常在判断的机制上都是一样的,即内核是通过中断向量号来识别的,cpu将中断向量号做为中断描述表的索引,相应的表项中包含了中断处理程序或者异常处理程序的地址,以此来处理中断或者异常。 中断:中断从对象上可以分为硬件中断和软件中断,而硬件中断(IRQ)分为短类型和长
阅读全文
摘要:如何写一个驱动 1.搭建框架 找到已有的同类型的进行修改,使该框架符合自己的要求,如需要的入口函数、出口函数、主函数、需要的声明、注册信息等等 2.完善、修改内容 根据硬件对象的要求和结构特点修改完善程序,主要分以下几个过程: 看硬件原理图(涉及哪些硬件,有没有没见过的机构,有没有参考对象) 看芯片
阅读全文
摘要:从初始化和退出开始分析: 声明 在一个驱动设备中一般是有这两条函数的,这两条函数的目的是将括号内的初始化函数传递到某个执行函数中,在内核引导以及该驱动被装载到内核时调用,该函数的声明在include/linux/init中,声明段落如下: /** * module_init() - driver i
阅读全文
摘要:首先熟悉几个概念和几个文件: 概念: 设备文件: Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,称为设备文件 设备节点: 当我们创建一个设备节点时需要指定主设备号和次设备号。对于设备节点来说,名字不是重要的,设备号才是最重要的,它实际指定了对应的驱动程序和对
阅读全文
摘要:首先明确根文件系统只是一个文件系统,在其中可以涉及启动LCD界面,也可以是最小的文件系统不用启动LCD界面,这个也是为什么我们下载qtopia和mini版文件系统发现一个能看到qt界面,一个停留在企鹅界面的原因。 然后明确两个过程,NFS挂载以及NFS调用linux中的文件系统启动,两个过程的流程的
阅读全文
摘要:我们通过下面的几种条件来对下载方式分类(u-boot下载默认在nor flash上): 1.裸板+Windows 此时不能通过网络传输,那么可以通过串口和并口来下载 工具:oflash 通过将oflash.exe加入到Windows的命令行对应目录中,使得可以直接在命令行中使用oflash指令,进入
阅读全文
摘要:当开发板上开启nfs功能后可实现下述功能(nfs获取,可以通过USB下载到ARM,可以在系统制作之初就放在内核) 1.nfs网络下载 通过nfs直接从同一网段的其他用户的文件夹中将需要的文件下载过来,然后通过nand相关命令下载到nand flash中,步骤如下: nfs 30000000 192.
阅读全文
摘要:一个最简单的字符型驱动: 功能:read write 过程: 内核中的NFS(虚拟文件系统)通过类型和设备号等信息找到该种类型在寄存器(or内存)中保存的段,段中的file_operation指向到驱动程序中的file_operation定义函数,接着函数再通过其定义结构体中的.open、.writ
阅读全文

浙公网安备 33010602011771号