- 博客(50)
- 收藏
- 关注
转载 OpenWrt的主Makefile工作过程
本文是本人对OpenWrt的Makefile的理解,并非转载。OpenWrt是一个典型的嵌入式Linux工程,了解OpenWrt的Makefile的工作过程对提高嵌入式Linux工程的开发能力有极其重要意义。OpenWrt的主Makefile文件只有100行,可以简单分为三部分,1~17行为前导部分,19~31为首次执行部分,33~101为再次执行部分。前导部分CURDIR为mak
2014-05-07 14:51:14
2047
转载 sourceinsight使用技巧
在用sourceinsight查看linux内核源码的时候,大家会发现不能查看源码中的makefile和kconfig代码,即不能搜索到makefile和kconfig文件。这是因为sourceinsight默认是不选makefile的,也没有konfig这种类型的文件。下面就说如何让sourceinsight支持查看makefile和kconfig代码:(1)添加makefile:
2014-04-16 09:25:34
1090
转载 [C] typeof
另一种引用一个表达式类型的方法就是使用typeof,使用这个关键字的语法看上去有点像使用sizeof,但从本质上讲,它更像是使用typedef定义一个类型名称。可以使用表达式或是一个类型名来引用类型。比如下面是一个使用表达式的例子:typeof (x[0](1))这里假设x是一个指向多个函数的指针数组。这里得到的类型实际是函数值的类型。下面是一个使用类型名的例子:
2014-04-10 10:32:15
1686
原创 第十四章--Linux设备模型
本文作为第十四章--Linux设备模型,主要讲述:1、Kobject、kset和子系统。2、总线、设备和驱动程序。3、类。4、各环节的整合。
2014-04-03 18:28:29
853
转载 (一)Linux的电源管理架构
Linux的源代码里,大部分都属于设备驱动程序的代码,因此,大多数电源管理(PM)的代码也是存在于驱动程序当中。很多驱动程序可能只做了少量的工作,另外一些,例如使用电池供电的硬件平台(移动电话等)则会在电源管理上做了大量的工作。一、设备电源管理的两种模型 驱动程序可以使用其中一种模型来使设备进入低功耗状态:1.1. 系统睡眠模型: 驱动程序作为一部分,跟
2014-03-27 18:13:26
1070
原创 第十八章--Ext2和Ext3文件系统
本文作为第十八章--Ext2和Ext3文件系统,主要讲述:1、Ext2的一般特征。2、Ext2磁盘数据结构。3、Ext2的内存数据结构。4、创建Ext2文件系统。5、Ext2的方法。6、管理Ext2磁盘空间。7、Ext3文件系统。
2014-03-27 10:56:31
1596
原创 第十五章--页高速缓存
本文作为第十五章--页高速缓存,主要讲述:1、页高速缓存。2、把块存放在页高速缓存中。3、把脏页写入磁盘。4、sync()、fsync()和fdatasync()系统调用。
2014-03-26 11:48:20
1615
原创 第十三章--I/O体系结构和设备驱动程序
本文作为第十三章--I/O体系结构和设备驱动程序,主要讲述:1、I/O体系结构。2、设备驱动程序模型。3、设备文件。4、设备驱动程序。5、字符设备驱动程序。
2014-03-26 11:46:17
2010
原创 第十二章--虚拟文件系统
本文作为第十二章--虚拟文件系统,主要讲述:1、虚拟文件系统(VFS)的作用。2、VFS的数据结构。3、文件系统类型。4、文件系统处理。5、路径名查找。6、VFS系统调用的实现。7、文件加锁。
2014-03-26 11:45:18
1142
原创 GSC3280的ADC子系统驱动模型(二)
本文作为GSC3280的ADC子系统驱动模型(一)的第二部分,主要讲述了:1、创建设备文件。2、sysfs文件系统。3、proc文件系统。通过上述三种类型,使得操作ADC更加方便,灵活,对于每一种的操作方式,文中都给出了测试方法。
2014-03-19 11:53:28
1240
原创 GSC3280的ADC子系统驱动模型(一)
本文以GSC3280芯片作为CPU,设计了一个ADC子系统,本文作为第一部分,主要涉及的内容包括:1、GSC3280芯片中ADC部分简单介绍。2、ADC设备驱动程序介绍。3、adc-core.c程序介绍。4、Kconfig和Makefile程序介绍。
2014-03-19 11:51:44
1864
转载 mini2440 SPI驱动移植
最近项目需要,需要在mini2440上移植SPI驱动,板子需要驱动SPI设备,上网找了很多资源,但是很多都是有问题,最终在基本理解驱动结构的前提下,将SPI驱动顺利移植到mini2440。 我使用的内核版本是2.6.32.2,这个版本和2.6。29不一样,网上很多版本都是关于2.6.29,如果完全按照网上步骤,编译会出现问题,我做的步骤如下:1、在Linux
2014-03-18 11:23:22
1295
原创 Linux spi驱动分析(三)----spiddev分析
本文作为SPI驱动分析的第三部分,主要讲述了spiddev,包括:1、驱动分析。2、应用层测试程序分析。
2014-03-18 11:20:39
6458
原创 Linux spi驱动分析(二)----SPI核心(bus、device_driver和device)
本文作为SPI的第二篇文章,讲述了设备驱动模型等。包括:1、spi总线注册。2、spi驱动注册。3、spi设备注册。4、spi传输函数。
2014-03-18 11:19:23
7342
原创 Linux spi驱动分析(一)----总线驱动
本文讲述了一款芯片的SPI总线驱动,在驱动中,使用了queue和taslet机制来实现多message和多transfer的传输。本文作为SPI的第一篇文章,后面会继续讲述spi核心,spidev和SPI设备驱动等。
2014-03-18 11:17:59
3621
原创 Linux I2C驱动分析(三)----i2c_dev驱动和应用层分析
本文作为i2c驱动分析的第三部分,从驱动和应用层分析了i2c中的I2c-dev模块,此模块在"/dev/"目录下创建设备节点,应用层可以通过此节点操作i2c设备。文章第一部分讲解了i2c-dev驱动程序,第二部分讲解了应用层操作I2c的方法,提供了应用层的测试程序。
2014-03-17 11:54:13
7277
原创 Linux I2C驱动分析(二)----I2C板级设备扫描和数据传输
本文继续 《Linux I2C驱动分析(一)----I2C架构和总线驱动》部分,首先讲述了板级设备的注册,为讲述函数i2c_scan_static_board_info(adap)打下基础,接着又描述了I2C数据传输过程中所调用的接口函数,本文和《Linux I2C驱动分析(一)----I2C架构和总线驱动》是一种继承的关系。
2014-03-17 11:52:10
4497
原创 Linux I2C驱动分析(一)----I2C架构和总线驱动
本文作为i2c驱动分析的第一部分,主要讲述:1、I2C总线原理。2、I2C架构概述。3、I2C代码在内核中的结构。4、Algorithm中的传输函数master_xfer。5、总线驱动注册和探测函数。
2014-03-17 11:50:56
9155
1
原创 第十章--系统调用
本文作为第十章--系统调用,主要讲述:1、POSIX API和系统调用。2、系统调用处理程序及服务例程。3、进入和退出系统调用。4、参数传递。5、内核封装例程。
2014-03-17 11:43:54
871
原创 第九章--进程地址空间
本文作为第九章--进程地址空间,主要讲述:1、进程的地址空间。2、内存描述符。3、线性区。4、缺页异常处理程序。5、创建和删除进程的地址空间。6、堆的管理。
2014-03-17 11:42:51
1740
原创 第十三章--USB驱动程序
本文作为第十三章--USB驱动程序,主要讲述:1、USB设备基础。2、USB和Sysfs。3、USB urb。4、编写USB驱动程序。
2014-03-14 11:36:44
1197
原创 (三)uboot移植--GSC3280芯片logo显示
本文讲述uboot中logo显示的开发,包括:1、logo显示调用流程。2、GSC3280 LCD初始化。3、logo图片显示原理。
2014-03-13 10:53:38
1777
转载 uboot源码简要分析
一、uboot源码整体框架源码解压以后,我们可以看到以下的文件和文件夹: cpu与处理器相关的文件。每个子目录中都包括cpu.c和interrupt.c、start.S、u-boot.lds。cpu.c:初始化CPU、设置指令Cache和数据Cache等interrupt.c:设置系统的各种中断和异常start.S:是U-bo
2014-03-13 10:51:07
776
原创 (一)BootLoader基本概念
本文作为uboot开发的第一部分,主要讲述:1、BootLoader简介。2、Boot Loader的功能和选择。3、常用的U-boot命令详解 。4、下载与烧写。5、内核引导。
2014-03-13 10:50:03
5252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人