- 博客(201)
- 资源 (7)
- 收藏
- 关注
转载 從DTS到驅動加載的過程分析
一、驅動中的probe函數如何被調用? 首先,我們知道驅動執行的起始函數是init函數。以I2C驅動爲例。(cm36283.c)[cpp] view plaincopystatic int __init cm36283_init(void) { int err = 0;
2014-12-08 14:22:44
1146
转载 Camera driver&V4L2驱动架构介绍
Camera driver&V4L2驱动架构介绍//http://www.cnblogs.com/AdiSky/archive/2012/09/05/2671963.html大约一年前写的东西,介绍性部分是当时在网络上找的内容,后面的分析部分是基于当时的项目,基于Mavell Pxa920,希望对初学者有点点的帮助吧。转载请注明出。 1. Camera相关介绍1.1
2013-03-06 23:38:36
1275
原创 hostapd移植
arm linux上移植hostapd。1 需要移植libnl_1.1 下载libnl_1.1.orig.tar.gz。 解压:tar xvzf libnl_1.1.orig.tar.gz 编译:./configure make CC=交叉编译工具路径。 例如:make CC=/work/freescale/usr/lo
2013-02-27 23:03:41
3554
原创 libnl-1.1 移植到ARM Linux
1 下载地址:http://www.infradead.org/~tgr/libnl/files/libnl-1.1.tar.gz 或者:http://packages.ubuntu.com/oneiric/libnl12 最好不要用最新的libnl。libnl简介:libnl is a library for applications dealin
2013-02-26 23:37:07
2110
转载 Audio驱动涉及的硬件相关介绍
PS:之所以写这些东西,很大一部分原因是希望自己可以通过记录的方式,提高自己的理解和对整体的把握程度。 首先看AT91SAM9260与音频接口芯片的示意图,举最简单的PCM系列为例如下, SSC的TK对应的PCM系列的BCK,TF对应的LRCK,TD对应的DATA 而对于SSC与PCM的数据通信格式,使用的是I2SI2S的数据通信格式
2013-02-06 14:16:17
966
转载 ALSA 驱动框架和驱动开发 (二)
本文主要接着讲,ALSA驱动框架中,内核调用到驱动的全过程十.从内核调用到驱动的全过程 1.Open /dev/dsp Open操作,通过前面所说的结构图,我们知道,当内核调用open函数时, 首先调用的是soundcore_open,通过__look_for_unit找到chain[3],即dsp这一sound_unit指针,然后重新赋值文件的
2013-02-06 14:15:29
686
转载 ALSA 驱动框架和驱动开发 (一)
音频设备接口包括PCM IIS AC97三大类两种音频驱动框架: ALSA 和 OSSOSS包含DSP和MIXER字符设备接口,完全使用文件操作ALSA以CARD和组件(PCM,mixer等)为主线,在用户空间的变成中不适用文件接口,而是使用alsalib,而下文要介绍的没有使用ALSAlib,而是使用了OSS lib 接口芯片为PCM系列Linux 2.6.26
2013-02-06 14:15:03
1108
转载 Audio驱动涉及的硬件相关介绍
首先看AT91SAM9260与音频接口芯片的示意图,举最简单的PCM系列为例如下, SSC的TK对应的PCM系列的BCK,TF对应的LRCK,TD对应的DATA 而对于SSC与PCM的数据通信格式,使用的是I2SI2S的数据通信格式如右上图所示,更清晰的可以看PCM1754文档中的图,如下, fs对应的是采样率,学过通
2013-02-06 14:14:23
656
转载 framebuffer驱动分析
Linux-2.6.26 其中涉及到的主要文件包括, fbdef_io.c mmap 机制的实现 fb_notify.c FB 中 notify 相关的 fbmem.c FB 注册注销相关方法和属性文件的相关操作 fbsysfs.c FB sys file system backlight.c 该文件在 /drive
2013-02-06 14:11:46
574
原创 linux -video
video 个人总结: video里面有很多的结构体,例如: 1 struct fb_video *mode ;//这个结构体里面的参数是从modedb里面读出来的。其中modedb里面的时间参数是p秒为单位的。 10的12次方/(x * y * 60) = p秒。就是modedb里面的参数。2 struct fb_var_screeninfo var
2013-02-06 13:45:26
902
转载 Ubuntu、Fedora 手動設定無線網路連線
Ubuntu、Fedora 手動設定無線網路連線by Jamyy on 五月.15, 2009, under LinuxUbuntu、Fedora 手動設定無線網路連線停用 NetworkManager設定 WEP、WPA-PSK、WPA2-PSK 加密連線環境: Ubuntu 8.10、Fedora 9 UbuntuFedora
2013-02-05 22:40:44
1114
转载 wpa 移植到ubuntu上
1 下载源代码: 下载wpa_supplicant-0.7.3.tar.gz (openssl用到0.7.3提供的补丁) http://hostap.epitest.fi/wpa_supplicant/下载www.openssl.org/source/openssl-0.9.8e.tar.gzlinux wifi拨号软件移植wpa_
2013-02-05 19:25:20
4523
转载 libnl1.1-6 /netlink/genl/genl.h no such directory
libnl1.1-6 /netlink/genl/genl.h no such directoryup vote1down votefavoriteI'm trying to compile hostapd, and for that it needs the headerfile genl.h which is
2013-02-05 11:17:46
5128
转载 6410移植RT3070无线模块,WPA加密方式,并开机自动加载
6410移植RT3070无线模块,WPA加密方式,并开机自动加载一. wireless-tools安装wireless-tools是一组无线网络扫描器及监控工具,可以用于监控、分析、以及测试WiFi网络,支持几乎所有的无线网卡和驱动,它可以支持WEP的AP,但它不能连接到那些只支持WPA的AP。连接AP需要使用它所编译出来的工具。1、资源下载下载wireless_too
2013-02-05 08:59:02
818
转载 wpa_supplicant无线网络配置
wpa_supplicant无线网络配置 2010-04-06 13:06:33| 分类: 默认分类|字号 订阅 目前可以使用wireless-tools 或wpa_supplicant工具来配置无线网络。请记住重要的一点是,对无线网络的配置是全局性的,而非针对具体的接口。 wpa_supplicant是一个较好的选择,但缺点是它不支持所有的驱动。请浏
2013-02-05 08:45:13
717
转载 Marvell8686 电源管理原理
作者:下家山(转载,请注明)这里所说的电源管理主要是说:怎样降低功耗,也即省电!怎样最有效的省电呢?Marvell把其分成了两部分来处理:IDLE状态(station没有链上AP),链接状态(station链上AP)。(约定STA:表示station即wifi-card,AP表示access point,如无线路由器,PS:power save mode)一
2013-02-04 19:06:00
1089
转载 Linux下的iwpriv(iwlist、iwconfig)的简单应用
无线网络飞速发展的今天,许多设备都提供了连接无线网络的功能。那么Linux下的wifi到底该怎么配置、连接呢??开始配置之前,我们要说说iw家族。iw是linux下常用的wifi配置工具,网上有相应的库和源码。全名为wirelessTools。配置wifi模块,并连接相应的无线网络过程:主要使用iwpriv命令1. 扫描可用的无线网络:[cpp] v
2013-02-04 18:43:08
803
转载 Wireless Security - WPA2 PSK using wpa_supplicant howto
More and more wireless access networks are adopting 802.11i, the latest IEEE wireless network security standard. This howto explains how to configure and run a 802.11i supplicant (wpa_supplicant) with
2013-02-04 18:00:25
905
转载 终于搞定Linux下Wireless连接
终于搞定Linux下Wireless连接Posted by yangqi @ 2010年01月26日 [Tue] 21:59其实没那么复杂,可是这两天网上找了N多教程总是不成功,百般无奈今天继续尝试,结果无意查看进程的时候发现NetworkManager进程居然在列,而且怎么也杀不掉。于是搜索了一下,ubuntu的NetworkManager评价并不是很好,估计就是这个ma
2013-02-04 17:58:14
2774
转载 linux -- LTIB学习笔记
一 安装篇二 运行篇三 修改工具包 四 编译新的内核---------相关资料------------------------------------------------以下是在学习过程中在网上搜索到的资料LTIB使用总结 http://blog.chinaunix.net/u2/80953/showart_1275002.html添加
2013-02-04 14:37:44
621
转载 linux -- LTIB添加新平台
linux -- LTIB添加新平台2.6.32内核整合到LTIB在LTIB里添加一个新平台是很容易的事情。首先打包内核源码,由于是修改过后可以正常使用的内核,所以没有补丁,在SPEC文件里就不用加上补丁的操作了。进入LTIB的安装目录下cd /config/platformcp imx27ads imx21ads -rfcd imx21adsvim m
2013-02-04 14:35:50
563
转载 ltib(4)实现telnet服务器/etc/securetty
是服务器还是客户端,一定要搞清楚!如果我说我在嵌入式系统中实现了nfs协议,那其实是不完善的说法,是实现了客户端,还是服务器,还是both。前段时间接到了基于嵌入式系统实现IP-SAN的需求,搜索了下文章,很多,但都是实现的iscsi initiator可以理解为IP-SAN的客户端),而我接到的需求实际上实现iscsi target(可以理解为IP-SAN的服务器),两者的难度差别巨大,
2013-02-04 14:34:09
750
转载 ltib(3)在嵌入式系统中实现nfs服务器
NAS系统需要支持NFS协议,这时的NAS作为NFS的服务器,客户端通过NFS协议登录NAS来存取数据。1.安装nfs-utilsnfs-utils是nfs服务器端的用户程序。在LTIB当前目录下,使用下面命令进入LTIB配置界面。$./ltib –configure进入“package list”。选中nfs-utils 保存退出,LTIB会将nf
2013-02-04 14:33:40
516
转载 ltib(2)小试
上周朋友来电话问ARM接SATA硬盘的问题,如果CPU不带SATA口,或带的SATA口不够用,通常可以用PCI转SATA的芯片扩展SATA口。ATP8624就是这样的芯片,可以将1路PCI转为4路SATA。ATP8624的驱动源码就2个文件:atp8624.h和atp8624.c。原先顺利的加到cortina的NAS板的kernel source里面了。现在换成了MPC平台,MPC8379
2013-02-04 14:32:51
457
转载 ltib(1)初识
换平台,换平台,痛苦的换平台。chroot刚刚理解了。又来了ltib。开源世界的大侠们为了弄出个优秀的嵌入式Linux IDE,煞费苦心啊。what is ltib?The LTIB (Linux Target Image Builder) project is a simple tool that can be used to develop and deploy BSP
2013-02-04 14:31:27
518
转载 S3C2440上LCD驱动(FrameBuffer)实例开发讲解
文章来源:http://blog.chinaunix.net/u3/104898/showart_2216659.html一、开发环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2二、背景知识1. LCD工作的硬件
2013-02-01 16:03:13
596
转载 framebuffer 设备驱动 相关结构体
include/linux/fb.h struct fb_info { int node; /* node成员域标示了特定的FrameBuffer, * 实际上也就是一个FrameBuffer设备的次设备号 */ int flags; struct fb_va
2013-02-01 16:01:12
478
转载 snprintf函数用法
int snprintf(char *restrict buf, size_t n, const char * restrict format, ...);函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n 的话,将不会溢出。函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。Result1(推荐的用法)#i
2013-02-01 15:50:02
442
转载 ioremap_nocache函数
ioremap_nocache函数注解(zhujie)ioremap_nocacheioremap_nocache 把内存映射(yingshe)到CPU空 间(space) void __iomem * ioremap_nocache (unsigned long phys_addr, unsigned long size); phys_addr要映射(yi
2013-01-30 17:48:41
1797
转载 dma_alloc_coherent 与 dma_alloc_writecombine
这两天在做 DMA 相关开发, 遇到一对分配 dma buffer 的函数,dma_alloc_coherent 与 dma_alloc_writecombine。 不知其区别。 google 一下也没有得到信息。只好自己看代码。原来 dma_alloc_coherent 在 arm 平台上会禁止页表项中的 C (Cacheable) 域以及 B (Bufferable)域。而 d
2013-01-30 17:42:23
797
转载 dma_alloc_writecombine
先理解cache的作用CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中(hit)”,此时CPU直接从Cache中调用该内容;否则,就 称为“ 不命中”,CPU只好去内存中调用所需的子程序或指令了。CPU不但可以直接从Cache中读出内容,也可以直接往其中写入内容。由于Cache的存取速 率相当快,使得CPU的利用率大大提高,进而使整个系统的性能得以提升。
2013-01-30 17:41:58
603
转载 pvbrowser install ubuntu
Rainer,I'll start working upon your suggestions.--- In pvbrowser@yahoogroups.com, "pvbrowser" wrote:>> Hi Arian,> thanks for these instructions regarding Ubuntu.>> Eventually we
2013-01-30 15:50:04
1954
转载 pvbrower Q&A
> I run ./start_pvbapp example.ini.linux> there below errors:> guo@guo-desktop:~/test/power/pvb/start_pvbapp$ sh:/opt/pvb/pvsexample/pvsexample: cannot execute binary file> tcp_con 2: error fo
2013-01-30 15:41:14
1243
原创 pvbrower install
1 下载:wget http://pvbrowser.org/pvbrowser/tar/pvb.tar.gzsudo apt-get install qt4-dev-tools qt4-designer2 解压; tar xvzf pvb.tar.gz cd pvb ./clean.sh ./build.sh3 sudo ./instal
2013-01-30 15:02:33
895
转载 Linux 的并发可管理工作队列机制探讨
并发可管理工作队列的出现慢工作机制为什么说是“提供过内核中还曾短暂出现过慢工作机制 (slow work mechanism)”,原因是在 mainline 内核中,曾经出现过慢工作机制 (slow work mechanism),但随着并发管理工作队列 (cmwq) 的出现,它已经全部被 cmwq 所替换,淡出了 mainline在内核代码中,经常希望
2013-01-29 17:28:58
598
转载 Linux 的并发可管理工作队列机制探讨
并发可管理工作队列的出现慢工作机制为什么说是“提供过内核中还曾短暂出现过慢工作机制 (slow work mechanism)”,原因是在 mainline 内核中,曾经出现过慢工作机制 (slow work mechanism),但随着并发管理工作队列 (cmwq) 的出现,它已经全部被 cmwq 所替换,淡出了 mainline在内核代码中,经常希望
2013-01-29 17:25:59
372
转载 Linux 的并发可管理工作队列机制探讨
并发可管理工作队列的出现慢工作机制为什么说是“提供过内核中还曾短暂出现过慢工作机制 (slow work mechanism)”,原因是在 mainline 内核中,曾经出现过慢工作机制 (slow work mechanism),但随着并发管理工作队列 (cmwq) 的出现,它已经全部被 cmwq 所替换,淡出了 mainline在内核代码中,经常希望
2013-01-29 17:25:44
351
转载 tasklet使用
taskletTasklet的使用比较简单,只需要定义tasklet及其处理函数并将两者关联例子:Void my_tasklet_func(unsigned long)DECLARE_TASKLET(my_tasklet.my_tasklet_func,data)代码DECLARE_TASKLET实现了定义名称为my_tasklet的tasklet并将其
2013-01-29 17:23:19
360
转载 tasklet使用
taskletTasklet的使用比较简单,只需要定义tasklet及其处理函数并将两者关联例子:Void my_tasklet_func(unsigned long)DECLARE_TASKLET(my_tasklet.my_tasklet_func,data)代码DECLARE_TASKLET实现了定义名称为my_tasklet的tasklet并将其
2013-01-29 17:23:10
412
转载 Linux工作队列实现机制
工作项、工作队列和工作者线程把推后执行的任务叫做工作(work),描述它的数据结构为work_struct ,这些工作以队列结构组织成工作队列(workqueue),其数据结构为workqueue_struct ,而工作线程就是负责执行工作队列中的工作。系统默认的工作者线程为events。工作队列(work queue)是另外一种将工作推后执行的形式。工作队列可以把工作推后,交由一
2013-01-29 17:21:54
501
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人