03 2016 档案

摘要:在“linux lcd设备驱动剖析二”文章中,我们详细分析了s3c24xxfb_probe函数。文章链接:http://blog.csdn.net/lwj103862095/article/details/18189765s3c2410fb.c中s3c24xxfb_probe是非常重要的函数之一,但... 阅读全文
posted @ 2016-03-28 16:15 隔壁王叔叔a 阅读(440) 评论(0) 推荐(0) 编辑
摘要:上一节文章中详细地剖析了probe函数,但是从始至终都没有看到打开读写文件接口的操作函数,只看到了下面这个操作结构体[cpp] view plain?static struct fb_ops s3c2410fb_ops = { .owner = THIS_MODULE, ... 阅读全文
posted @ 2016-03-28 16:14 隔壁王叔叔a 阅读(269) 评论(0) 推荐(0) 编辑
摘要:上一节中,分析了s3c2410fb,c的入口出口函数,以及一些重要结构体的分析,初步知道了这是一个平台驱动的架构。上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/18188259上一节讲到probe函数就没继续往下深究了,这一节里,... 阅读全文
posted @ 2016-03-28 16:13 隔壁王叔叔a 阅读(325) 评论(0) 推荐(0) 编辑
摘要:s3c2440 lcd驱动源码文件是:drivers/video/s3c2410fb.c看驱动源码首先当然是先看入口函数,这里是s3c2410fb_init函数[cpp] view plain?int __init s3c2410fb_init(void) { /* 注册一个s3c241... 阅读全文
posted @ 2016-03-28 16:12 隔壁王叔叔a 阅读(248) 评论(0) 推荐(0) 编辑
摘要:这一节里,我们来使用平台驱动设备这一套架构来实现我们之前使用简单的字符设备驱动点亮LED,这里并无实际意义,只是告诉大家如果编写平台总线驱动设备。问:如何编写平台总线驱动设备这一套架构的设备驱动?答:分为两个.c文件,一个是drv.c,另一个是dev.c;前者实现平台驱动,后者实现平台设备,平台总线... 阅读全文
posted @ 2016-03-28 16:10 隔壁王叔叔a 阅读(539) 评论(1) 推荐(1) 编辑
摘要:platform总线是一种虚拟的总线,相应的设备则为platform_device,而驱动则为platform_driver。Linux 2.6的设备驱动模型中,把I2C、RTC、LCD等都归纳为platform_device。总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动;... 阅读全文
posted @ 2016-03-28 16:08 隔壁王叔叔a 阅读(244) 评论(0) 推荐(0) 编辑
摘要:platform_driver_register driver_register bus_add_driver //把驱动放入总线的驱动链表里 driver_attach ... 阅读全文
posted @ 2016-03-28 15:00 隔壁王叔叔a 阅读(701) 评论(0) 推荐(0) 编辑
摘要:驱动注册的probe函数probe函数在设备驱动注册最后收尾工作,当设备的device 和其对应的driver 在总线上完成配对之后,系统就调用platform设备的probe函数完成驱动注册最后工作。资源、中断调用函数以及其他相关工作。下面是probe被调用的一些程序流程。从driver_regi... 阅读全文
posted @ 2016-03-28 13:23 隔壁王叔叔a 阅读(1225) 评论(0) 推荐(0) 编辑
摘要:上一节中,我们讲解了Linux input子系统的框架,到内核源码里详细分析了输入子系统的分离分层的框架等。上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/17733993这一节,我们来以输入子系统的框架来写一个按键驱动。问:怎么... 阅读全文
posted @ 2016-03-20 14:08 隔壁王叔叔a 阅读(739) 评论(0) 推荐(0) 编辑
摘要:在此文章之前,我们讲解的都是简单的字符驱动,涉及的内容有字符驱动的框架、自动创建设备节点、linux中断、poll机制、异步通知、同步互斥、非阻塞、定时器去抖动。上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/17589311在这一... 阅读全文
posted @ 2016-03-19 21:50 隔壁王叔叔a 阅读(217) 评论(0) 推荐(0) 编辑
摘要:日周月KDJ指标三周期合一是孕育大牛股的必要条件: 炒股看一下周、月线十分有必要,很多时候,周、月线已经死叉下行,中长线趋势走坏,但日线偏偏发出金叉,K线也走好,量价配合也好,而此时介入,多数情况下就是中、短期头部。下面就KDJ指标在日、周、月线中的不同表现谈一下自己的看法。(注意:适用范围为你... 阅读全文
posted @ 2016-03-18 14:00 隔壁王叔叔a 阅读(1316) 评论(0) 推荐(0) 编辑
摘要:它包含7个文件:head.Sinit.cmain.cMakefilenand.cnand.lds我们之前的程序都是在nandflash的前4k放代码,上电后自动拷贝到SRAM中,之后将SRAM中的代码拷贝到SDRAM中。可是当我们的程序太大超过4k的时候就不行了,因为无法将nandflash的代码完... 阅读全文
posted @ 2016-03-11 19:20 隔壁王叔叔a 阅读(265) 评论(0) 推荐(0) 编辑
摘要:移植OpenWrt到CuHead Pro WiFiPosted by: zou, baozhu , 三月 13, 2014CuHead Pro是一款路由器开发板,下面是开发板的配置信息。名称型号厂家参数CPURT5350FRalink360MHz(MIPS arch)SDRAMW9825g6jh-6... 阅读全文
posted @ 2016-03-10 13:58 隔壁王叔叔a 阅读(463) 评论(0) 推荐(0) 编辑
摘要:异步通知:很简单,一旦设备准备好,就主动通知应用程序,这种情况下应用程序就不需要查询设备状态,这是不是特像硬件上常提的“中断的概念”。上边比较准确的说法其实应该叫做“信号驱动的异步I/O”,信号是在软件层次上对中断机制的一种模拟。 阻塞I/O意味着一直等待设备可访问再访问,非阻塞I/O意味着使... 阅读全文
posted @ 2016-03-09 21:50 隔壁王叔叔a 阅读(268) 评论(0) 推荐(0) 编辑
摘要:最近看了一下Linux Poll 机制的实现,看了韦老师的分析文档,总结如下:int poll(struct pollfd *fds,nfds_t nfds, int timeout);总的来说,Poll机制会判断fds中的文件是否可读,如果可读则会立即返回,返回的值就是可读fd的数量,如果不可读,... 阅读全文
posted @ 2016-03-08 20:39 隔壁王叔叔a 阅读(221) 评论(0) 推荐(0) 编辑
摘要:linux下echo命令详解linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。该命令的一般格式为: echo [ -n ] 字符串其中选项n表示... 阅读全文
posted @ 2016-03-08 20:37 隔壁王叔叔a 阅读(295) 评论(0) 推荐(0) 编辑
摘要:一来到void start_armboot (void)函数,马上出现两个很重要的数据结构gd_t和bd_t1、gd_t : global data数据结构定义,位于文件 include/asm-arm/global_data.h。其成员主要是一些全局的系统初始化参数。[cpp] view plai... 阅读全文
posted @ 2016-03-05 11:13 隔壁王叔叔a 阅读(386) 评论(0) 推荐(0) 编辑
摘要:我们要生成u-boot.bin文件,它首先依赖于很多.o文件和.lds链接脚本文件我们只要找到对应的.lds链接脚本文件就可以分析u-boot的启动流程。1、打开u-boot-1.1.6\u-boot-1.1.6\board\smdk2410\打开链接脚本boot.lds 看看:OUTPUT_FOR... 阅读全文
posted @ 2016-03-05 11:11 隔壁王叔叔a 阅读(164) 评论(0) 推荐(0) 编辑
摘要:一、Boot Loader 概念就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,他就是所谓的引导加载程序(Boot Loader)。嵌入式软件在Flash存... 阅读全文
posted @ 2016-03-05 11:10 隔壁王叔叔a 阅读(212) 评论(0) 推荐(0) 编辑
摘要:一、Boot Loader 概念就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,他就是所谓的引导加载程序(Boot Loader)。嵌入式软件在Flash存... 阅读全文
posted @ 2016-03-05 11:10 隔壁王叔叔a 阅读(168) 评论(0) 推荐(0) 编辑
摘要:相关工具版本:busybox-1.7.0 arm-linux-4.3.2 linux-2.6.22 1.配置busybox并安装。在我们的根文件系统中的/bin和/sbin目录下有各种命令的应用程序,而这些程序在嵌入式系统中都是通过busybox来构建的,每一个命令实际上都是一个指向busybox的... 阅读全文
posted @ 2016-03-05 11:09 隔壁王叔叔a 阅读(855) 评论(0) 推荐(0) 编辑
摘要:我们通常使用Busybox来构建根文件系统的必要的应用程序。Busybox通过传入的参数来决定执行何种操作。当init进程启动时,实际上调用的是Busybox的init_main()函数,下面我们来分析这个函数,看init进程究竟是怎样一个流程。我分析的Busybox源码是1.7.0版本的,其他版本... 阅读全文
posted @ 2016-03-05 11:07 隔壁王叔叔a 阅读(590) 评论(0) 推荐(0) 编辑
摘要:平台:mini2440 交叉工具链:arm-linux-gcc-4.3.2 一、内核移植基本知识 移植内核也叫构建BSP(boardsupprot packet)。BSP的作用有两个:一是为内核运行提供底层支持,二是屏蔽与板相关的细节。 BSP的构建分三个层次 ... 阅读全文
posted @ 2016-03-05 11:06 隔壁王叔叔a 阅读(600) 评论(0) 推荐(0) 编辑
摘要:内核版本:2.6.22 为什么要采用这样一个较低的版本进行移植了,因为韦东山大牛说了,低版本的才能学到东西,越是高版本需要移植时做的工作量越少,学的东西越少。 内核启动分为三个阶段,第一是运行head.S文件和head-common.S,第三个阶段是允许第二是运行main.c文件 ... 阅读全文
posted @ 2016-03-05 11:05 隔壁王叔叔a 阅读(475) 评论(0) 推荐(1) 编辑
摘要:根文件系统的构建与分析(四)转载请注明 http://blog.csdn.net/jianchi88 Author:Lotte 邮箱:baihaowen08@126.com ls /bin,ls /sbin,这些目录下存储的主要是常用命令的二进制文件,如ls、cp、rm等。如果... 阅读全文
posted @ 2016-03-05 11:00 隔壁王叔叔a 阅读(249) 评论(0) 推荐(0) 编辑
摘要:根文件系统的构建与分析(三)转载请注明 http://blog.csdn.net/jianchi88 Author:Lotte 邮箱:baihaowen08@126.com一、FHS(Filesystem Hierarchy Standard)标准介绍当我们在linux下输入ls / 的时... 阅读全文
posted @ 2016-03-05 10:59 隔壁王叔叔a 阅读(272) 评论(0) 推荐(0) 编辑
摘要:根文件系统的构建与分析(二)转载请注明 http://blog.csdn.net/jianchi88 Author:Lotte 邮箱:baihaowen08@126.com 我们依旧记得系统启动流程:硬件上电--》bootloader--》Linux内核--》挂载根文件系统--》应用程序上一... 阅读全文
posted @ 2016-03-05 10:58 隔壁王叔叔a 阅读(478) 评论(0) 推荐(0) 编辑
摘要:根文件系统的构建与分析(一)转载请注明 http://blog.csdn.net/jianchi88 Author:Lotte 邮箱:baihaowen08@126.com此系列,我想从初学者的角度来体验怎样构建根文件系统,显然,我也是个初学者。根文件系统第一个进程init到启动用户应用程序... 阅读全文
posted @ 2016-03-05 10:55 隔壁王叔叔a 阅读(330) 评论(0) 推荐(0) 编辑
摘要:MTD,Memory Technology Device即内存技术设备,在Linux内核中,引入MTD层为NOR FLASH和NAND FLASH设备提供统一接口。MTD将文件系统与底层FLASH存储器进行了隔离。如上图所示,MTD设备通常可分为四层,从上到下依次是:设备节点、MTD设备层、MTD原... 阅读全文
posted @ 2016-03-03 21:58 隔壁王叔叔a 阅读(204) 评论(0) 推荐(0) 编辑
摘要:MTD,Memory Technology Device即内存技术设备,在Linux内核中,引入MTD层为NOR FLASH和NAND FLASH设备提供统一接口。MTD将文件系统与底层FLASH存储器进行了隔离。如上图所示,MTD设备通常可分为四层,从上到下依次是:设备节点、MTD设备层、MTD原... 阅读全文
posted @ 2016-03-03 21:58 隔壁王叔叔a 阅读(245) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示