- 博客(39)
- 资源 (15)
- 收藏
- 关注
转载 Linux MTD子系统剖析
MTD(memory technology device 存储 技术设备 ) 是用于访问 memory 设备( ROM 、 flash )的 Linux 的子系统。 MTD 的主要目的是为了使新的 memory 设备的驱动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。 MTD 的所有源代码在 /drivers/mtd 子目录下 。[1]传统上, UNIX 只认识块设备和字符设备。字
2017-09-23 16:30:31
404
转载 详解Linux-I2C驱动(硬件原理\驱动分析\测试)
目录一、LinuxI2C驱动--概述1.1 写在前面1.2 I2C1.3 硬件1.4 软件1.5 参考二、LinuxI2C驱动--I2C总线2.1 I2C总线物理结构2.2 I2C总线特性2.3 开始和停止条件2.4 数据传输格式2.5 响应2.6 总线仲裁三、LinuxI2C驱动--解析EEPROM的读写3.1 概述3.2 设备地址
2017-09-10 11:29:09
5263
转载 VS 2008 解决方案的目录结构设置和管理
MS的这个IDE,实在庞杂得恐怖。从大学开始,我就一直用VC的各个版本写程序至今,细细想来,也仅仅是窥豹一斑,羞愧不已。但若仔细翻阅文档,又觉得时间花得不值,于是便一直凑活地用着。前段时间负责搭建新项目的开发环境,兼一直在看Gamebryo的代码,从中借鉴了不少工程管理的方法。结合以前使用VC的经验,现总结下来与大家分享,希望能起到抛砖引玉的作用。项目目录结构VC用解决方案(s
2017-09-05 15:01:17
487
转载 Linux I2C驱动完全分析(二)
博主按:大热的天,刚刚负重从五道口走到石板房,大约4公里吧。终于让我找了一个咖啡屋休息一下,继续写这篇驱动分析。单身的生活就是这样无聊啊。 不发牢骚了,活出个样儿来给自己看!千难万险脚下踩,啥也难不倒咱!继续整!~ 先说一下,本文中有个疑惑,一直没有搞懂,写在这里,望高人指点一二,不胜感激!#define I2C_M_NOSTART 0x4000 /* if I2C_FUNC_PRO
2017-08-27 10:09:30
394
转载 Linux I2C驱动完全分析(一)
博主按:其实老早就想写这个I2C的了,期间有各种各样的事情给耽误了。借着五一放假的时间把这个写出来,供同志们参考。以后会花一些时间深入研究下内核,虽然以前对内核也有所了解,但是还不系统。I2C的硬件结构并不复杂,一个适配器加几个设备而已。Linux下驱动的体系结构看着挺复杂,实际也是比较简单的。在本文中我还是使用实际的例子,结合硬件和软件两个方面来介绍。希望能给初学的同志们一些帮助,另外抛砖引玉,
2017-08-27 10:05:24
398
转载 Linux Framebuffer驱动框架剖析之二—驱动框架、接口实现和使用
本文继上一篇文章《Linux Framebuffer驱动框架剖析之一—软件需求》,深入分析LinuxFramebuffer子系统的驱动框架、接口实现和使用。一、LinuxFramebuffer的软件需求上一篇文章详细阐述了LinuxFramebuffer的软件需求(请先理解第一篇文章再来阅读本篇文章),总结如下:1. 针对SOC的LCD控制寄存器进行编程,以支持不同的LCD屏,以使该S
2017-08-07 11:17:11
401
转载 Linux Framebuffer驱动框架剖析之一—软件需求
嵌入式企鹅圈将以本文作为2015年的终结篇,以回应第一篇《Linux字符设备驱动剖析》。嵌入式企鹅圈一直专注于嵌入式Linux和物联网IOT两方面的原创技术分享,稍后会发布嵌入式企鹅圈的2015年的年终总结和2016年的分享计划。 本系列文章将分析Linux Framebuffer驱动的作用(需求)、框架、接口实现和使用。按笔者一直倡导的Linux学习理念—从软件需求的角度去理
2017-08-07 11:14:36
370
转载 全面的framebuffer详解(二) (转)
2、 fbmem.cfbmem.c 处于Framebuffer设备驱动技术的中心位置.它为上层应用程序提供系统调用也为下一层的特定硬件驱动提供接口;那些底层硬件驱动需要用到这儿的接口来向系统内核注册它们自己. fbmem.c 为所有支持FrameBuffer的设备驱动提供了通用的接口,避免重复工作.1) 全局变量struct fb_info *registered_fb[FB_MAX]
2017-08-04 15:42:49
955
转载 全面的framebuffer详解(一)(转)
一、FrameBuffer的原理 FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。 Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,linux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模仿显卡的功能,将显卡硬件结构抽象掉,可以通过Framebu
2017-08-04 15:41:31
8162
转载 linux /sys目录下各个子目录的具体说明
/sys下的子目录内容 # ls /sys/block class firmware kernel powerbus devices fs module-------------------------------------------------------------------------
2017-08-02 11:20:45
304
转载 S3C2440上LCD驱动(FrameBuffer)实例开发讲解(二)
开发环境主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand, Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2四、帧缓冲(FrameBuffer)设备驱动实例代码:①、建立驱动文件:my2440_lcd.c,依就是驱动程序的最基本结构:FrameBuffer驱动的初始化和卸载部分及其他,如下:
2017-08-01 10:57:44
342
转载 S3C2440上LCD驱动(FrameBuffer)实例开发讲解(一)
背景知识1. LCD工作的硬件需求: 要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,如S3C2410/2440等。通过LCD控制器就可以产生LCD驱动器所需要的控制信号来控制ST
2017-07-30 17:00:43
439
转载 面向对象地分析Linux内核设备驱动(3)——用面向对象思想分析vfb Framebuffer设备驱动
用面向对象思想分析vfb Framebuffer设备驱动 - 内核版本 Linux Kernel 2.6.34, 与 Robert.Love的《linux Kernel Development》(第三版)所讲述的内核版本一样- 源代码下载路径: https://www.kernel.org/pub/linux/kernel/v2.6/linux-
2017-07-28 15:53:13
654
转载 面向对象地分析Linux内核设备驱动(2)——Linux内核设备模型与总线
Linux内核设备模型与总线- 内核版本 linux Kernel 2.6.34, 与 Robert.Love的《Linux Kernel Development》(第三版)所讲述的内核版本一样- 源代码下载路径: https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2
2017-07-28 15:50:57
331
转载 面向对象地分析Linux内核设备驱动(1):——Linux内核驱动中面向对象的基本规则和实现方法
Linux内核驱动中面向对象的基本规则和实现方法- 内核版本 linux Kernel 2.6.34, 与 Robert.Love的《Linux Kernel Development》(第三版)所讲述的内核版本一样- 源代码下载路径: https://www.kernel.org/pub/linux/kernel/v2.6/linux-2
2017-07-28 15:48:26
777
转载 I2C总线协议详解
1.1 I2C总线知识1.1.1 I2C总线物理拓扑结构 I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。1.1.2 I2C总线特征
2017-07-25 16:37:52
473
转载 SPI中的极性CPOL和相位CPHA是什么以及如何设置
【背景】最近在看关于Silicon Labs的C8051F347的某个驱动中,关于SPI部分初始化的代码,看到其对于SPI的设置为CPOL=1,CPHA=0,对于CPOL及CPHA的含义不了解,想要搞懂,这两个参数到底是什么意思,以及为何要这么设置。所以才去找了SPI的极性和相位的相关资料,整理如下。【SPI基础知识简介】设备与设备之间通过某种硬件接口通讯,目前存在很多种接口,SP
2017-07-23 21:16:09
1168
转载 linux内核中request_region()函数详解
void request_region(unsigned long from, unsigned long num, const char *name) 这个函数用来申请一块输入输出区域。 如果这段I/O端口没有被占用,在我们的驱动程序中就可以使用它。在使用之前,必须向系统登记,以防止被其他程序占用。登记后,在/proc/ioports文件中可以看到你登记的io口。
2017-07-19 16:42:59
3262
转载 linux网络子系统--穿透网络协议栈的网络调用
Chapter 7. 网络子系统 Linux强大的网络功能是如何实现的,让我们一起进入Linux内核的网络系统了解一下吧。7.1. sk_buff结构在Linux内核的网络实现中,使用了一个缓存结构(struct sk_buff)来管理网络报文,这个缓存区也叫套接字缓存。sk_buff是内核网络子系统中最重要的一种数据结构,它贯穿网络报文收发的整个周期。该结构在内核源码的
2017-07-19 09:18:30
351
转载 Linux设备驱动模型与kobject的关系
尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得更简
2017-07-18 15:39:46
1407
转载 linux设备驱动模型(kobject与kset)
Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得更简单了,而程序员只需要去学习接口就行了。 kobject
2017-07-18 14:47:57
415
转载 LINUX设备驱动模型之PLATFORM(平台)总线详解
/********************************************************/内核版本:2.6.35.7运行平台:三星s5pv210/********************************************************/ 1、什么是platform(平台)总线?相对于USB、PCI、I2C、SPI等物理
2017-07-18 08:59:08
646
转载 基于 mini2440 电阻式触摸屏(四):mini2440触摸屏驱动分析
参考:http://blog.chinaunix.net/uid-22174347-id-1786941.html==========================================================开发环境编译系统 :fedora9编译器 :arm-Linux-4.4.3主控芯片 :S3C2440开发板 :mini
2017-07-17 10:19:36
384
转载 基于 mini2440 电阻式触摸屏(三):Linux输入子系统(InputSubsystem)
参考:http://blog.chinaunix.net/uid-22174347-id-1786941.html==========================================================开发环境编译系统 :fedora9编译器 :arm-Linux-4.4.3主控芯片 :S3C2440开发板 :mini
2017-07-17 10:18:25
239
转载 基于 mini2440 电阻式触摸屏(二):S3C2440 电阻式触摸屏接口、内部ADC结构
参考:http://blog.chinaunix.net/uid-22174347-id-1786941.html==========================================================开发环境编译系统 :fedora9编译器 :arm-Linux-4.4.3主控芯片 :S3C2440开发板 :mini
2017-07-17 10:16:25
329
转载 基于 mini2440 电阻式触摸屏(一):电阻式触摸屏工作原理
参考:http://blog.chinaunix.net/uid-22174347-id-1786941.html==========================================================开发环境编译系统 :fedora9编译器 :arm-Linux-4.4.3主控芯片 :S3C2440开发板 :mini2440======
2017-07-17 10:13:32
335
转载 输入事件的传递过程
接上一篇《【转】输入子系统设备模型分析 (有修改)》 当一个事件被触发设,备将向上层报告发生了什么事。为表述这个事件的传递过程我们以触摸屏为例。触摸屏的源程序在前面博文中已有详述,这里就不赘言了。当在触摸屏上按下时会发出这样的报告: input_report_abs(dev, ABS_X, xp); //报告x坐标值 input_report_abs(
2017-07-16 07:51:34
356
转载 LINUX INPUT设备驱动架构详解
一. 输入设备结构体 1. input_dev 输入设备[cpp] view plaincopystruct input_dev { const char *name; //设备名 const char *phys; //设备系统层的物理路径 const char *uniq; // struct
2017-07-14 11:41:05
826
2
转载 INPUT设备输入事件的传递过程
接上一篇《【转】输入子系统设备模型分析 (有修改)》 当一个事件被触发设,备将向上层报告发生了什么事。为表述这个事件的传递过程我们以触摸屏为例。触摸屏的源程序在前面博文中已有详述,这里就不赘言了。当在触摸屏上按下时会发出这样的报告: input_report_abs(dev, ABS_X, xp); //报告x坐标值 input_report_abs(
2017-07-09 07:11:22
1376
转载 LINUX2.6输入子系统设备模型分析
基于输入子系统的驱动使用# insmod s3c2440_ts.ko# cat /proc/devices 查看input设备号# cat /bus/input/devices 查看触摸屏设备信息# mkdir /dev/input# mknod /dev/input/event0 c 13 64 添加设备文件,设备号为什么是13 64?Input设备的主
2017-07-09 07:05:50
326
转载 一步一步制作yaffs/yaffs2根文件系统(八)---总结及怎么样使系统自动启动自己编写的程序
通过前几节的学习制作,我大致地制作了一个比较完整的 yaffs 根文件系统,到这时候将自己移植的uboot、内核、根文件系统移植到自己的开发板中,一个基本的嵌入式Linux 系统也算搭建完成了。但是我的问题又来了,虽然嵌入式系统搭建完成了,可是最终是用来运行自己的程序,达到自己的项目目标的,所以怎么样使自己编写的应用程序在板子上自动运行起来呢?总不能需要我登录到 console 上输入 .
2017-02-17 10:54:53
350
转载 一步一步制作yaffs/yaffs2根文件系统(七)---真挚地道歉以及纠正前边出现的错误!
接上一节http://blog.csdn.net/mybelief321/article/details/10040939 说实话,我当时写这个系列的博文的时候,感觉对BusyBox算是有点了解,直到昨天出现问题,今天解决了,才醍醐灌顶,算是知道了BusyBox静态编译和动态编译的区别。首先,说明一下我的问题,以下是我的问题---------------------------------
2017-02-17 08:58:39
402
转载 一步一步制作yaffs/yaffs2根文件系统(六)---完善命令行提示符
紧接上一节: http://blog.csdn.net/mybelief321/article/details/10027917 根据第五节可以看出,制作的根文件系统还不完善,首先那个命令行提示符就巨难看,表面功夫都没有做好,惭愧!在这里,我不再用自己移植的bootloader引导内核、根文件系统,而是
2017-02-17 08:56:26
314
转载 一步一步制作yaffs/yaffs2根文件系统(五)---生成yaffs/yaffs2镜像文件及下载到开发板
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-Linux-gcc 4.4.3 点此可下载 BusyBox版本:busybox-1.
2017-02-16 17:05:10
383
转载 一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-Linux-gcc 4.4.3 点此可下载 BusyBox版本:busybox-1.
2017-02-16 17:03:36
373
转载 一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-Linux-gcc 4.4.3 点此可下载 BusyBox版本:busybox-1.
2017-02-16 16:59:52
366
转载 一步一步制作yaffs/yaffs2根文件系统(一)---储备好基础知识再打
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-Linux-gcc 4.4.3 点此可下载 BusyBox版本:busybox-1.
2017-02-15 20:28:01
359
转载 mini2440 256M nand版本使用uboot
<a target="_blank" href="http://blog.csdn.net/broadview2006/article/details/55195303" target="_blank">帮Python找“对象” <a target="_blank" href="http://edu.csdn.net/huiyiCourse/detail/279?from=bbswz"
2017-02-15 17:10:28
1533
lighttpd-1.4.55移植配置与测试.rar
2020-06-19
source insight4.093注册版
2018-03-22
SDRAM和DDR的硬件原理和时序分析 详细版
2018-03-15
source insight4.088注册版
2017-12-12
sourceinsight4
2017-11-09
kugou缓存文件转MP3程序
2017-10-31
source insight 4 注册版
2017-10-23
sourceinsight4破解版
2017-03-06
友善之臂mini2440之UBOOT及移植详细手册
2017-02-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人