驱动篇
文章平均质量分 77
fml1997
这个作者很懒,什么都没留下…
展开
-
platform之led驱动分析及测试程序
什么是paltform总线:一个现实的linux设备和驱动通常都需要挂接在一种总线上,比较常见的总线有USB、PCI总线等。但是,在嵌入式系统里面,SoC系统中集成的独立的外设控制器、挂接在SoC内存空间的外设却不依附与此类总线。基于这样的背景下,2.6内核加入了platform虚拟总线。platform机制将设备本身的资源注册进内核,有内核统一管理,在驱动程序使用这些资源时使用统一的接口,这原创 2017-04-07 21:08:14 · 1165 阅读 · 0 评论 -
FL2440-WiFi模块学习之用rt3070无线网卡使开发板上网
主机操作系统:Centos 6.7交叉编译器版本:buildroot-2012.08 开发板平台: FL2440 Linux内核版本: linux-3.0 开发模块:WIFI-STA模式使开发板上网RT3070有两种工作模式:STA(station)模式和SoftAP(Access Point)模式。STA模式就是笔记本上无线网卡模式,用来连接到无线路由器上上网原创 2017-05-29 18:03:36 · 1667 阅读 · 0 评论 -
linux下使用ntpdate同步网络时间
为什么需要网络同步时间:Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步安装ntpdate[fanmaolin@Centeros ~]$ sudo yum install ntpdate原创 2017-09-04 17:01:38 · 8395 阅读 · 0 评论 -
Linux驱动中的platform总线分析
最近在复习platform总线相关的知识,碰到一篇感觉不错的文章。转载自:http://blog.csdn.net/pillarbuaa/article/details/7680372概述从Linux2.6内核起,引入一套新的驱动管理和注册机制:platform_device 和 platform_driver 。Linux 中大部分的设备驱动,都可以使用这套机制,设备用 platform_devi转载 2017-08-27 20:48:14 · 6766 阅读 · 0 评论 -
Platform总线按键驱动分析(精华版)
驱动做了三个多星期了,从helloworld到LED再到PlatformLED,现在终于到了按键驱动,对于驱动的理解深刻了不少,从完全看不懂到现在能够独立分析,进步很大,今天完成了按键驱动,做一个总结性的分享,给后面的自己看!加油!按键驱动:与之前不同,这次将按键驱动按照platform总线的理解,设备链表和驱动链表,做成了两个模块,一个kbd_driver.c 一个kbd原创 2017-04-14 19:42:06 · 562 阅读 · 0 评论 -
platform总线按键驱动分析(精华版)
驱动做了三个多星期了,从helloworld到LED再到PlatformLED,现在终于到了按键驱动,对于驱动的理解深刻了不少,从完全看不懂到现在能够独立分析,进步很大,今天完成了按键驱动,做一个总结性的分享,给后面的自己看!加油!按键驱动:与之前不同,这次将按原创 2017-08-28 13:53:30 · 2293 阅读 · 3 评论 -
Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
引言前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成 那么如何将驱动直接编译进内核呢? 在我们实际内核的移植配置过程中经常听说的内核裁剪又是怎么麽回事呢? 我们在进行Linux内核配置的时候经常会执行make menuconfig这个命令,然后屏幕上会出现以下界转载 2017-09-01 16:52:03 · 534 阅读 · 0 评论 -
UDA1341声卡传输基本原理
转自:http://www.cnblogs.com/TaigaCon/archive/2012/12/07/2807922.htmluda1341连接soc的引脚分为两类:数据引脚、控制引脚。 数据引脚用于音频码流的传输, 控制引脚用于该声卡芯片控制,比如说音量控制等如下图为uda1341的声卡或者可以看我以前的博客,有FL2440的uda1341声卡原理图 http://blog.csdn.转载 2017-09-02 11:34:25 · 666 阅读 · 0 评论 -
内核自带LED驱动移植
在fl2440的内核中,本身已经有了LED驱动,我们要根据自己的需求将它使能即可,重要的是如何找到需要修改的位置,如何修改。在前面分析过我们自己写的驱动代码,内核中自带的驱动原理也大概相似,首先在make menuconfig 下添加内核对LED驱动的支持,然后我们要在内核的drivers/目录下找到leds,然后去看s3c24xx.c里的代码,前面在plat-led中分析过设备和驱动是如何找原创 2017-04-26 16:50:56 · 1092 阅读 · 0 评论 -
linux脚本使用-------安装madplay及MPlayer播放器脚本分析及命令参数前加“横杠”的背景解释
最近有考试这篇文章写了个开头就扔在了草稿箱,现在在把它搬出来,在学习代码语言的时候,有一个比较有效的学习过程,就是看别人的代码,读懂,理解透彻,然后模仿别人的代码,再自己写,边写边看,重点是运用。以前接触过脚本,但是我是个菜鸟,这个是安装madplay和MPlayer的脚本这里有几处说明:1、# 表示注释2、脚本是顺序执行的,没有指针等,相对比较简单,但是强大,原创 2017-04-29 19:50:24 · 900 阅读 · 0 评论 -
UDA1341声卡驱动与madplay移植播放mp3(第三方源代码移植步骤)
首先配置声卡UDA134驱动,看原理图我们只需要将相应的IIS管脚设置为我们开发板的原理图设计的管脚就可以了。我们只要在/arch/arm/mach-s3c2440/mach-smdk2440.c文件中注册UDA1341 平台设备的控制端口就可以了,端口如上图所示,打开mach-smdk2440.c,添加如下内容:[fanmaolin@Centeros原创 2017-04-23 20:39:27 · 1287 阅读 · 0 评论 -
驱动入门hello world
首先mkdir hello1文件夹,在下面编写hello.cvi hello.c #include linux/init.h> #include linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALE原创 2017-03-24 17:58:08 · 611 阅读 · 0 评论 -
fl2440 dm9000网卡驱动安装
vim arch/arm/mach-s3c2440/mach-smdk2440.c* add DM9000 ethernet driver */ #define DM9000_BASE (S3C2410_CS4 + 0x300) static struct resource s3c_dm9000_resource[] = { [0] = {原创 2017-03-24 19:32:21 · 407 阅读 · 0 评论 -
s3c2440-led驱动分析注释及一次跑马灯测试程序
首先要明白字符设备驱动注册的基本流程:当我们调用insomd命令加载驱动后,驱动程序从module_init函数开始执行:硬件初始化 -> 申请主次设备号 -> 定义fops(file_operations)结构体 -> 申请cdev结构体并把fops结构体嵌入cdev结构体中与之绑定 -> cdev字符设备的注册。有一点需要明确的是,在Linux内核中,所有的设备都是以文件。我们原创 2017-04-04 13:02:46 · 1031 阅读 · 0 评论 -
fl2440移植RTC驱动及hwclock命令使用
RTC实时时钟 RTC(real time clock)实时时钟,主要作用是给Linux系统提供时间。RTC因为是电池供电的,所以掉电后时间不丢失。Linux内核把RTC用作“离线”的时间与日期维护器。当Linux内核启动时,它从RTC中读取时间与日期,作为基准值。在运行期间内核完全抛开RTC,以软件的形式维护系统的当前时间与日期,并在需要时将时间回写RTC芯片。另外如果RTC提供了IRQ中断原创 2017-04-28 20:12:45 · 1128 阅读 · 0 评论 -
plat_button驱动测试程序及select()函数、阻塞与非阻塞
Makefile文件: 1 TEST_APP=event_button 2 3 4 KERNEL_VER = linux-3.0 5 LINUX_SRC ?= /home/fanmaolin/fl2440/kernel/$(KERNEL_VER) 6 7 1 TEST_APP=event_button 2 3 4 KERNEL_VER =原创 2017-04-19 15:25:03 · 579 阅读 · 0 评论 -
fl2440蜂鸣器测试程序和strcmp()及struct input_event 还有perror()浅析
前面移植了内核自带的蜂鸣器驱动,现在有时间写一个最简单的测试程序,功能是打开蜂鸣器,或者关闭蜂鸣器。 1 /********************************************************************************* 2 * Copyright: (C) 2017 fanmaolin 3 *原创 2017-04-29 19:46:15 · 441 阅读 · 0 评论 -
pwm控制蜂鸣器驱动移植及初步认识Kconfig
S3C2440PWM定时器概述:PWM ( Pulse Width Modulation ) —— 脉宽调制,它是利用微控制器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量、通信、功率控制与变换等许多领域 。S3C2440A 有5个16位定时器。其中定时器 0、1、2 和3具有脉宽调制(PWM)功能。定时器 4 是一个无输出引脚的内部定时器。定时器0原创 2017-04-23 16:36:44 · 915 阅读 · 0 评论 -
fl2440内核自带按键驱动移植及hexdump命令
主机操作系统:Centos 6.7交叉编译器版本:buildroot-2012.08 开发板平台: FL2440 Linux内核版本: linux-3.0 开发模块: linux内核自带按键驱动移植1、修改arch/arm/mach-s3c2440/mach-smdk2440.c添加button驱动添加头文件#include #inclu原创 2017-04-29 19:47:39 · 1056 阅读 · 0 评论 -
关于configure和Makefile
转自:http://blog.csdn.net/lltaoyy/article/details/7615833Linux下Makefile的automake生成全攻略 作为linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。转载 2017-09-02 13:08:55 · 1165 阅读 · 0 评论