
linux 驱动
文章平均质量分 66
liuhuahan
这个作者很懒,什么都没留下…
展开
-
Linux内核编译之“.version”文件说明
最近做一个项目在移植内核的时候,发现方案公司提供的Linux内核里边有一个文件“.version”文件和我这边基础版本的内核源码里边的“.version”文件不一致,打开发现这个文件里边是一个数字,方案公司源码里边该数字是“161”,我这边对应文件数字为“104”。 看文件名字应该是和Linux内核版本有关,但是版本差异这么大,是方案公司提供的内核版本和我们要求的不一致吗?因为我们是要求方案公司在我们要求的内核版本上开发驱动的,如果内核版本差异较大,可能会存在相应隐患,...原创 2021-09-13 16:16:27 · 958 阅读 · 0 评论 -
linux网桥配置
linux网桥配置物理上的网桥,相当于带多个隔离域的集线器。linux软件实现的网桥,能够模拟出交换机的功能。内核修改需要配置内核,勾选802.1d的支持[*] Networking support --->Networking options ---> 802.1d Ethernet Bridging之后重新编译烧写内核。网桥配置假设将板卡的2个独立MAC的网原创 2021-09-13 15:45:37 · 4009 阅读 · 0 评论 -
8250 driver Linux多串口驱动解析 xr16v554
一:前言前一段时间自己实践了一下8250芯片串口驱动的编写。今天就在此基础上分析一下 linux kernel 自带的串口驱动。毕竟只有对比专业的驱动代码才能更好的进步, 同以往一样,基于linux kernel2.6.25.相应驱动代码位于: linux-2.6.25/drivers/serial/8250.c。 二:8250串口驱动初始化 相应的初始化函数为转载 2015-01-23 11:16:33 · 2495 阅读 · 1 评论 -
register_chrdev_region()和registe_chrdev()
原文网址:http://blog.youkuaiyun.com/seanyxie/article/details/5729936分配设备编号,注册设备与注销设备的函数均在fs.h中申明,如下:extern int register_chrdev_region(dev_t, unsigned, const char *); //静态的申请和注册设备号extern int alloc_ch转载 2015-01-23 17:14:53 · 550 阅读 · 0 评论 -
Linux的原子操作与同步机制
原文网址:http://www.cnblogs.com/fanzhidongyzby/p/3654855.htmlLinux的原子操作与同步机制 并发问题现代操作系统支持多任务的并发,并发在提高计算资源利用率的同时也带来了资源竞争的问题。例如C语言语句“count++;”在未经编译器优化时生成的汇编代码为。当操作系统内存在多个进程同时执行这段代码时,转载 2015-01-24 09:24:01 · 595 阅读 · 0 评论 -
中断处理函数中不用disable_irq而用disable_irq_nosync原因
原文网址:http://blog.youkuaiyun.com/skyflying2012/article/details/8265869今天在写触摸屏驱动时在中断处理函数中使用disable_irq关中断发现在进入中断处理后内核就挂掉了,于是研究了一下才发现disable_irq关闭中断并等待中断处理完后返回, 而disable_irq_nosync立即返回. 在中断处理程序中应该使用disable转载 2015-01-26 11:39:45 · 554 阅读 · 0 评论 -
用户空间辅助程序---热插拔
原文地址:http://blog.chinaunix.net/uid-20786208-id-4158792.html对于热插拔,当然网上有很多资料,包括刚开始我也简单的讲过usb 热插拔. 当时说道2.6以后的内核都用uevent机制来代替老的机制.(具体从那个版本改变的可以看linux官网开发记录)由于在看《深入理解linux网络内幕》中网络设备初始化一节中又提到了,而看《深入li转载 2015-01-24 15:32:44 · 907 阅读 · 0 评论 -
i.mx6 lvds接口的DE模式液晶屏驱动调试
我这篇文章主要讲述i.mx6 平台下 采用DE模式的lvds液晶屏的驱动调试,阅读该文章之前请先阅读如下两篇我转载的文章,这两篇文章是理解我这篇文章的基础知识。1、 lcd fb参数如何计算:http://blog.youkuaiyun.com/liuhuahan/article/details/434476572、 camera_lcd之DE和HV模式区别ht原创 2015-03-10 11:14:03 · 10790 阅读 · 0 评论 -
Linux内核NAPI机制分析
简介:NAPI 是 Linux 上采用的一种提高网络处理效率的技术,它的核心概念就是不采用中断的方式读取数据,而代之以首先采用中断唤醒数据接收的服务程序,然后 POLL 的方法来轮询数据。随着网络的接收速度的增加,NIC 触发的中断能做到不断减少,目前 NAPI 技术已经在网卡驱动层和网络层得到了广泛的应用,驱动层次上已经有 E1000 系列网卡,RTL8139 系列网卡,3c50转载 2015-03-23 11:37:08 · 1889 阅读 · 0 评论 -
RIoTboard连载五 RIoTboard GPIO相关函数和宏定义简介
原文地址:http://www.eeboard.com/bbs/thread-31222-1-1.html最近几天忙于做LCD显示驱动板的原理图和PCB,终于板子投了,大概周一能够收到就可以焊接调试了。这几天也算是有时间看下驱动相关的东西,先总最简单的GPIO开始说起吧。首先分析下linux下操作imx6s芯片的大概过程和主要函数与宏定义。不管uboot中还是linux下imx6的GP转载 2015-03-23 13:54:57 · 1392 阅读 · 0 评论 -
内核定时器的使用(好几个例子add_timer) .
LINUX内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制,其实现位于 和 kernel/timer.c 文件中。被调度的函数肯定是异步执行的,它类似于一种“软件中断”,而且是处于非进程的上下文中,所以调度函数必须遵守以下规则:1) 没有 current 指针、不允许访问用户空间。因为没有进程上下文,相关代码和被中断的进程没有任何联系。2)转载 2015-03-25 11:50:50 · 1471 阅读 · 0 评论 -
2.6 内核中的计时器和列表
原文地址:http://www.cnblogs.com/hoys/archive/2011/11/14/2248586.html计时器是所有操作系统的一个必要组成部分,您将发现多个计时器机制。我们将首先简要介绍一些 Linux 计时器模式,然后深入研究它们的运行方式。(Linux)时间的起源在 Linux 内核中,时间由一个名为 jiffies 的全局变量衡量,该变量标识系统启动以转载 2015-03-25 11:48:23 · 586 阅读 · 0 评论 -
DEVICE_ATTR的使用
原文地址:http://blog.youkuaiyun.com/njuitjf/article/details/16849333DEVICE_ATTR的使用使用DEVICE_ATTR,可以在sys fs中添加“文件”,通过修改该文件内容,可以实现在运行过程中动态控制device的目的。类似的还有DRIVER_ATTR,BUS_ATTR,CLASS_ATTR。这几个东东的区别就是,D转载 2015-04-01 08:59:48 · 694 阅读 · 0 评论 -
input子系统 KeyPad-Touch上报数据格式与机制
原文地址:http://blog.youkuaiyun.com/android_huber/article/details/7469534-----------------------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/android_hu转载 2015-02-07 13:38:44 · 823 阅读 · 0 评论 -
用户空间使用i2c_dev
============================================作者:yuanluluhttp://blog.youkuaiyun.com/yuanlulu============================================第1章 用户空间使用i2c_dev对于注册的i2c适配器,用户空间也可以使用它们。在Linux内核代码文件/incl转载 2014-12-15 15:40:46 · 849 阅读 · 0 评论 -
linux can 总线socket接口测试使用
该篇文章由徐老师编写,我因为需要重新修改该socket驱动到一个PMC CAN卡,顾重新把资料粘贴整理了一下。原文链接如下:http://blog.chinaunix.net/uid-13889805-id-3072479.html最近调试一个sja1000的can驱动,发现到了2.6.36,linux把can总线封装成了网络接口。内核文档里给出了这么修改的原因。1. Overview转载 2014-01-15 13:47:43 · 5369 阅读 · 0 评论 -
DMA及cache一致性的学习心得
这里提到的DMA设备是非PCI设备在framebuffer的prob函数中,用到了这样一个函数,下面分析下它的作用/** s3c_fb_map_video_memory():* 分配DRAM的缓存区给frame buffer。* 这个缓存区是一个non-cached,non-buffered的。* 这片内存区域允许调色板和像素在写入时不刷新cache缓存。转载 2014-04-18 09:39:43 · 693 阅读 · 0 评论 -
DMA burst 基本概念
DMA和burst不是一个概念。DMA传送不经过CPU的控制,假如硬盘的数据不能经过DMA控制器读到内存,那么每完成一次将硬盘的数据读出来,再存放到内存的操作,都要通过CPU运行几条读写指令来完成,这时CPU就做不了别的事了,如果有DMA控制器,则这个过程不需要CPU的参与,只需要占用总线就可以了。CPU还可以去完成别的运算。Burst操作还是要通过CPU的参与的,与单独的一次读写转载 2014-04-18 09:41:56 · 1115 阅读 · 0 评论 -
基于ARM含SD控制器的SD卡的SDIO模式驱动解析(转)
SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。SD卡的结构能保证数字文件传送的安全性,也很容易重新格式化,因此越来越多的被应用的嵌入式系统中。SD卡的使用非常方便,常见的有两种工作模式:SPI和SDIO。SPI是串行的工作模式,速度相对较低,但是使用方便,只要MCU含有SPI接口均可使用。SDIO模式,可以最多4线传输,因此速度比较快,由于SD卡的普及转载 2014-04-18 10:29:50 · 998 阅读 · 0 评论 -
irq 29: nobody cared (try booting with the "irqpoll" option) 问题说明
当调试一块网卡的时候,内核报错,打印原创 2014-05-23 18:05:29 · 7739 阅读 · 4 评论 -
Linux下通过OTG把板卡上的一个磁盘或文件映射成PC机上的一个移动磁盘
我们经常会把手机或其他电子设备插入PC机来进行一些文件的互传,当把手机插入PC机时,会看到PC上出现了一个移动磁盘,但具体在Linux下如何实现,现把方法介绍如下,至于详细的原理这里就不介绍了,因为我也只是知其然不知其所以然。好了废话不多少,现介绍如下:1、首先,想在PC机上看到Linux板卡上的磁盘,首先你的这个Linux板卡需要支持OTG且厂商已经提供好相应驱动,我这里用的是i.mx6平台原创 2014-12-13 10:15:54 · 2243 阅读 · 0 评论 -
threaded interrupt handler support
内核开始支持中断线程(threaded interrupt handler),使用接口request_threaded_irq;原来的request_irq也继续支持。使用时可根据实际情况选择合适的接口,可使用request_threaded_irq的地方没必要继续使用request_irq加tasklet/workqueue或者内核线程的方式;如果中断处理简单时也不要执着使用request_th转载 2015-01-26 14:45:23 · 731 阅读 · 0 评论 -
linux基础之spi驱动程序理解
============================================作者:yuanluluhttp://blog.youkuaiyun.com/yuanlulu版权没有,但是转载请保留此段声明============================================1.1 重要的数据结构1. spi_device虽然用转载 2014-12-06 10:34:35 · 1945 阅读 · 0 评论 -
devm_kzalloc
看内核代码的时候看到这个函数不理解它的具体作用然后就上网上查,但是网上只查到英文资料,现结合英文man手册的内容,把我自己的理解加上,因为英文水平有限,不一定完全正确,仅供大家借鉴一二。Namedevm_kzalloc — Resource-managed kzallocSynopsisvoid * devm_kzalloc (struct原创 2014-12-25 14:09:34 · 11033 阅读 · 0 评论 -
lcd fb参数如何计算
原文地址:http://blog.youkuaiyun.com/yuanlulu/article/details/7377792,一下为原文内容:本文参考了:http://www.linuxidc.com/Linux/2011-01/31800.htm感谢该文的作者。Linux内核的amba lcd控制器使用clcd_panel结构体表示一个LCD屏的硬件参数:/* include/li转载 2015-02-03 11:54:11 · 4397 阅读 · 0 评论 -
camera_lcd之DE和HV模式区别
原文地址:http://blog.youkuaiyun.com/zbunix/article/details/17318273lcd接口之DE和HV模式----------------------------对于pannel来说,需要一些时序型号与RGB信号配合显示,时序告知pannel,这些颜色显示在pannel的什么物理位置。这些时序叫做TCON. 不同pannel自带转载 2015-02-04 17:35:04 · 5531 阅读 · 0 评论 -
Backing Storage for the File-backed Storage Gadget .
The File-backed Storage Gadget (FSG) provides support for the USB Mass Storage class. It can appear to a host as a set of up to 8 SCSI disk drives (called Logical UNits orLUNs), although most of the转载 2014-12-12 14:59:34 · 785 阅读 · 0 评论 -
串口驱动移植心得
串口驱动的源文件一般是使用drivers/serial/8250.c文件,或该文件的稍作修改。这是因为大多的串口接口的操作寄存器都是符合相关的定义,都是基本一样的。那么在移植串口驱动时,一般是为该驱动添加我们的串口接口设备。一般来说,串口接口设备在board文件中添加或在板级目录下添加专属的serial文件。 设备的定义一般如下: struct plat_seri转载 2014-01-15 15:20:43 · 1261 阅读 · 0 评论