- 博客(58)
- 资源 (27)
- 收藏
- 关注
转载 ENC28J60 SPI网卡移植 linux 2.6.28 SAMSUNG 6410 ARM11 .
[-]概述已经移植好的驱动下载驱动相关文件内核配置SPI驱动结构在SPI总线上挂接设备修改SPI时钟极性匹配ENC28J60编译内核修复BUG1SPI驱动接收数据后无时钟输出正常时的设备节点手工发送测试手工接收测试错误波形正确波形代码修改说明ENC28J60网卡电路参考图网卡流程图中断处理新增中断GPIO配置函数修改enc28j60_probe enc28j60
2014-04-18 19:42:30
1013
转载 基于V4L2的视频驱动开发(3)
(2)V4L2驱动注册函数的实现 int video_register_device(struct video_device *vfd, int type, int nr){int i=0;int base;int end;int ret; char *name_base; switc
2014-02-25 13:45:33
829
转载 基于V4L2的视频驱动开发(2)
基于V4L2的视频驱动开发(2) 华清远见 刘洪涛三、 V4L2 API及数据结构V4L2是V4L的升级版本,为linux下视频设备程序提供了
2014-02-25 13:44:36
630
转载 Linux下利用luvcview来进行图像识别-准备
使用USB 摄像头在笔记本上进行图像识别的学习是一种方便的方法常用的一些视频服务器开源代码都不能很好的跟C910配合。大概原因是servfox,spcaview都是用V4L 1写的,而2.6.26后一般都用V4L 2来实现luvcview的代码可以在http://www.ideasonboard.org/uvc/里找到,里面也可以看到它是支持罗技C910的luv
2014-02-25 13:42:29
8896
1
转载 ping: unknown host 解决办法
如果ping命令返回如下错误,那主要的可能性就是系统的DNS设置有误。bash-2.05# ping www.sina.com.cnping: unknown host www.sina.com.cn可以通过如下方法来解决,此方法已经在linux和solaris系统下通过验证。1) 确定设置了域名服务器没有的话, 建议设置Google的公共DNS服务, 它应
2014-01-09 19:06:17
909
转载 linux gadget 驱动应用
Linux内核中usb设备侧驱动程序分成3个层次:UDC驱动程序、Gadget API和Gadget驱动程序。UDC驱动程序(USB控制器)直接访问硬件,控制USB设备和主机间的底层通信,向上层提供与硬件相关操作的回调函数。Gadget API是UDC驱动程序回调函数的简单包装,这部分程序内核都已经写好。Gadget驱动程序具体控制USB设备功能的实现,使设备表现出“U盘”、“虚拟串口”等
2014-01-04 11:30:49
1813
转载 开发板作为USB设备模拟网卡(linux usb 网卡)--gadget&&rndis|cdc
本文主要讲述了开发板与pc之间的一种通信方式,借助LINUX自带的gadget 以及 RNDIS或者cdc驱动与windows 或者LINUX通信. 首先配置内核 , 进入LINUX内核文件夹,输入命令 make menuconfig 对内核做如下配置选择Device Drivers --> [*]USB support -->
2014-01-04 11:27:19
6566
1
转载 JPEG讲解
JPEG是Joint Photographic Exports Group的英文缩写,中文称之为联合图像专家小组。该小组隶属于ISO国际标准化组织,主要负责定制静态数字图像的编码方法,即所谓的JPEG算法。JPEG专家组开发了两种基本的压缩算法、两种熵编码方法、四种编码模式。如下所示:压缩算法:(1)有损的离散余弦变换DCT(Discrete Cosine Transform)(2)无
2013-12-29 16:10:35
999
转载 error while loading shared libraries: xxx.so.x"错误的原因和解决办法
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory原因一般有两个, 一个是操作系统里确实没有包含该共享库(l
2013-12-24 16:18:27
513
转载 linux_dev_学习笔记_内存映射nopage()
2012年3月25日 Sunday 1、内核版本号2.6.33.20 2、nopage()实例 1)与上篇中remap_pfn_range()一样在书中的实例的实现也有所不同 2)struct vm_operations_struct①在2.6.23之前struct vm_operations_struct中只有struct page * (*nopa
2013-11-22 15:53:22
1335
转载 Linux内存映射(mmap)简析
一. 概述 内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,相反,内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间用户空间两者之间需要大量数据传输等操作的话效率是非常高的。 首先,驱动程序先分配好一段内存,接着用户进程通过库函数mmap()来告诉内核要将多大的内存映射到内核
2013-11-22 13:49:40
740
转载 mmap对get_free_pages 等的不同做法
用户空间存取内核空间,具体的实现方法要从两个方面考虑,先是用户进程,需要调用mmap来将自己的一段虚拟空间映射到内核态分配的物理内存;然后内核空间需要重新设置用户进程的这段虚拟内存的页表,使它的物理地址指向对应的物理内存。针对linux内核的几种不同的内存分配方式(kmalloc、vmalloc和ioremap),需要进行不同的处理。关于这个话题,前面已有文章论述了,>也专门用一章的内容来讲述
2013-11-22 13:42:08
925
转载 Linux设备驱动之内存映射--mmap--转 .
1. 内存映射所谓的内存映射就是把物理内存映射到进程的地址空间之内,这些应用程序就可以直接使用输入输出的地址空间,从而提高读写的效率。Linux提供了mmap()函数,用来映射物理内存。在驱动程序中,应用程序以设备文件为对象,调用mmap()函数,内核进行内存映射的准备工作,生成vm_area_struct结构体,然后调用设备驱动程序中定义的mmap函数。 2. 映射的种类把同
2013-11-22 13:41:20
1184
转载 如何让 Qt 的程序使用 Sleep .
Qt 为何没有提供 Sleep论坛上不时见到有人问:Qt 为什么没有提供跨平台的 sleep 函数?使用平台相关的 Sleep 或 nanosleep 以后,界面为什么没有反应?QThread 中提供了protected 权限的 sleep 函数,如何用到主线程中?使用 QTest 中的 qSleep,在windows下如何隐藏控制台?这些问题其实归结为一点:在主线程中使用这些函数
2013-11-14 19:27:24
546
转载 QT4.5.3移植到mini2440,tiny6410 .
平台:fedora(完全安装版)完全安装在后面的编译过程中才会很少因为确实库而出问题。编译器:mini自带的 4.3.2开发板:mini2440(nand128M)第一步:准备源码包从ftp://ftp.qt.nokia.com/qt/source/ 下载:qt-embedded-linux-opensource-src-4.5.3.tar.gz和qt-x11-open
2013-10-26 20:43:05
681
转载 make 与gmake
一种说法: gmake是GNU Make的缩写。 Linux系统环境下的make就是GNU Make,之所以有gmake,是因为在别的平台上,make一般被占用,GNU make只好叫gmake了。 比如在安装二进制文件进行编译时要使用make命令,但如果在Solaris或其他非GNU系统中运行,必须使用GNU make,而不是使用系统自带的make版本, 这时要用gmake代替m
2013-10-26 20:41:15
686
转载 linux下的tar打包命令示例及详解
由于经常要下载安装软件,而提供下载的软件通常是打包好的而且通常都有压缩,所以打包压缩tar的命令是非常重要的,从网上找了一篇关于“linux下的tar打包命令示例及详解”的文章,摘录下来,以备查询和学习鸟哥的私房菜有更详细的打包压缩解压的说明,请见 http://linux.vbird.org/linux_basic/0240tarcompress.phptar命令 [root@l
2013-10-26 09:21:55
688
转载 嵌入式Qtopia-2.2.0开发环境的搭建和使用
Data Mining,NLP,Search Engine嵌入式Qtopia-2.2.0开发环境的搭建和使用先说明一下几个QT的区别:从Qt4.1开始,Qt/Embedded改名为Qtopia Core,又从Qt4.4.1开始,Qtopia Core又改名为Qt for Embedded Linux。我们通常所说的 Qt 都是指的用于 Linux/Unix 的 Qt/X
2013-10-25 13:01:15
1082
转载 QImage 和 IplImage 之间转换问题 .
QImage 和 IplImage 之间转换问题:常用方法:这个对于IplImage向QImage转换是一个非常重要的功能!因为我们可以用下面的语句直接从IplImage构造QImage, 避免重复复制数据.彩色图像:IplImage *img = cvLoadImage("lena.jpg", 1);QImage qImage(img->imageData, img->w
2013-10-23 15:51:15
690
转载 QT显示自定义图片的方法
QT显示图片的方法有很多label上显示、直接画出来、容器显示 1、显示gif图片(label上显示)代码如下:#include "widget.h"#include "ui_widget.h"#include QLabel>#include QMovie>Widget::Widget(QWidget *parent) :QWidget(parent),
2013-10-23 14:31:41
1339
转载 关于QImage和IplImage之间转换的实现 .
在嵌入式系统中实现qt和opencv的处理,最基础的就是QImage和IplImage之间的转换。这样两者就可以进行一起使用图像数据,从而达到利用qt显示和利用opencv处理的功能。下面我将贴出代码:QImage ----->> IplImage1.QImage *IplImageToQImage(const IplImage *img) 2.{ 3. QI
2013-10-23 14:30:41
948
转载 linux块设备驱动
----------------------- Page 1-----------------------第 1章+---------------------------------------------------+ | 写一个块设备驱动 | +-----------------------------
2013-10-22 21:09:08
2848
转载 GNU内嵌汇编 ARM版 (ZZ)
一、格式 asm volatile (“asm code”:output:input:changed); //必须以‘;’结尾,不管有多长对C都只是一条语句 asm 内嵌汇编关键字 volatile 告诉编译器不要优化内嵌汇编,如果想优化可以不加 ANSI C规范
2013-10-19 17:07:29
520
转载 使用 /sys 文件系统访问 Linux 内核
http://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/http://blog.youkuaiyun.com/qb_2008/article/details/6846412sysfs 虚拟文件系统提供了一种比 proc 更为理想的访问内核数据的途径sysfs 是 Linux 内核中设计较新的一种虚拟的基于内存的文件系统,它的作用与 pro
2013-10-17 21:52:07
591
转载 sysfs接口函数的建立_DEVICE_ATTR
sysfs接口函数的建立_DEVICE_ATTR 2012-05-09 11:36:46| 分类:linux文件系统 | 标签:device_attr sysfs接口函数 |字号大中小 订阅说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR,原型是#define DEVICE_ATTR(_name, _mode, _show, _store
2013-10-17 16:56:51
612
转载 linux complete2
Linux内核同步机制之completion来源:中国IT实验室 作者:网络 发表于:2012-08-13 10:22 点击: 731内核编程中常见的一种模式是,在当前线程之外初始化某个活动,然后等待该活动的结束。这个活动可能是,创建一个新的内核线程或者新的用户空间进程、对一个 已有进程的某个请求,或者某种类型的硬件动作,等等。在这种情况下,我们可以使用信号量来同步这两个
2013-10-17 13:23:44
484
转载 linux complete同步机制 一
Linux系统提供了一种比信号量更好的同步机制,即completion,它用于一个执行单元等待另一个执行单元执行完某事。Linux系统中与completion相关的操作主要有以下4种: (1) 定义completion struct completion my_completion; (2) 初始化completion ini
2013-10-17 13:16:48
2398
原创 i2c流程分析
i2c流程分析 先分析i2c总线驱动(或总线设备驱动主要是控制,设置寄存器,发送接收的协议),然后分析eeprom设备驱动1.busses/*先列出主要的数据结构*/static struct resource s3c_i2c_resource[] = { [0] = { .start = S3C24XX_PA_IIC, .end = S3C24XX_PA_II
2013-10-15 10:45:18
670
转载 SD卡引脚 电路图及工作原理介绍 .
SD卡在现在的日常生活与工作中使用非常广泛,时下已经成为最为通用的数据存储卡。在诸如MP3、数码相机等设备上也都采用SD卡作为其存储设备。SD卡之所以得到如此广泛的使用,是因为它价格低廉、存储容量大、使用方便、通用性与安全性强等优点。既然它有着这么多优点,那么如果将它加入到单片机应用开发系统中来,将使系统变得更加出色。这就要求对SD卡的硬件与读写时序进行研究。对于SD卡的硬件结构,在官方的文档上有
2013-10-14 20:29:52
2726
转载 sd卡驱动分析
1. 硬件基础: http://blog.ednchina.com/yelov/198217/message.aspxSD/MMC/SDIO 概念区分概要 SD (Secure Digital )与 MMC (Multimedia Card ) SD 是一种 flash memory card 的标准,也就是一般常见的 SD 记忆卡,而 MMC 则是较早的一种记忆卡标准,目前已
2013-10-14 20:24:30
751
原创 从父串中找到字串 c代码实现
/*昨天师兄笔试题,遇到从父串中找到字串的位置,没有写出来今天早晨用了一个小时调试编写2013.10.14 *//* fp : father'starting postion sp: son'beginning postioncount: sp' lengththis function will return 0 when it complete,other
2013-10-14 11:22:42
554
原创 input子系统 详细分析
在做流程分析之前,列出数据结构,变量,为了后面的函数作分析struct input_dev { void *private; const char *name; const char *phys; const char *uniq; struct input_id id; unsigned long evbit[NBITS(EV_MAX)]; unsigned lo
2013-10-13 22:01:58
540
转载 SYS api
sysfs是用于表现设备驱动模型的文件系统,它基于ramfs。要学习linux的设备驱动模型,就要先做好底层工作,总结sysfs提供给外界的API就是其中之一。sysfs文件系统中提供了四类文件的创建与管理,分别是目录、普通文件、软链接文件、二进制文件。目录层次往往代表着设备驱动模型的结构,软链接文件则代表着不同部分间的关系。比如某个设备的目录只出现在/sys/devices下,其它地方涉及到它时
2013-10-13 20:13:49
750
转载 内核输入子系统input解析
Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。 因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。一、input输入子系统框架 下图是
2013-10-13 09:46:34
472
转载 misc 杂项设备
字符杂项设备 misc_register#include #include #include #include /* misedevice 结构:struct miscdevice { int minor; //次设备号,若为 MISC_DYNAMIC_MINOR 自动分配 const char *name; //设备名
2013-10-13 09:10:11
791
转载 dma_alloc_writecombine
先理解cache的作用CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中(hit)”,此时CPU直接从Cache中调用该内容;否则,就 称为“ 不命中”,CPU只好去内存中调用所需的子程序或指令了。CPU不但可以直接从Cache中读出内容,也可以直接往其中写入内容。由于Cache的存取速 率相当快,使得CPU的利用率大大提高,进而使整个系统的性能得以提升。
2013-10-11 22:13:56
568
转载 linux下音频编程
虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架。一、数字音频音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的
2013-10-11 20:59:48
872
转载 UDA1341声卡驱动放音测试程序
1)音频设备只能以O_WRONLY或者O_RDONLY方式打开,不能使用O_RDWR方式打开,因为不支持同时录音和放音。2)使用方法举例"./oss /tmp/test.wav 22050" ,会自动录音2MB,再将其播放出来。3)支持调整音频采样率:支持44100、22050、11025和8000四种采样率。以下为测试程序源码=========================
2013-10-11 20:16:06
654
转载 UDA1341声卡驱动修改
static ssize_t smdk2410_audio_read(struct file *file, char *buffer,size_t count, loff_t * ppos) { const char *buffer0 = buffer; audio_stream_t *s = &input_stream; int chunksize, ret = 0;
2013-10-11 20:09:16
858
11MV-S103409-00_8686 Host Interface Registers1
2018-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人