Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6456771
  • 博文数量: 579
  • 博客积分: 1548
  • 博客等级: 上尉
  • 技术积分: 16635
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-12 15:29
个人简介

http://www.csdn.net/ http://www.arm.com/zh/ https://www.kernel.org/ http://www.linuxpk.com/ http://www.51develop.net/ http://linux.chinaitlab.com/ http://www.embeddedlinux.org.cn http://bbs.pediy.com/

文章分类

全部博文(579)

文章存档

2018年(18)

2015年(91)

2014年(159)

2013年(231)

2012年(80)

发布时间:2014-11-21 16:35:42

前言:(总结已经基本写完,这段时间我会从新排版和修正。错误总会有的,望能指正!)前段时间学习了嵌入式驱动,趁着没开始找工作,这段时间我会每天抽出时间来复习。 我的总结是根据学习时的笔记(李杨老师授课)、《linux内核设计与实现》第三版、《linux设备驱动程序》第三版和《linux设备驱动开发详解》第一.........【阅读全文】

阅读(2818) | 评论(0) | 转发(0)

发布时间:2013-03-12 16:00:28

流程:......【阅读全文】

阅读(2089) | 评论(0) | 转发(0)

发布时间:2013-01-18 12:34:10

/* * linux/arch/arm/kernel/calls.S * * Copyright (C) 1995-2005 Russell King * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This file is included .........【阅读全文】

阅读(7603) | 评论(1) | 转发(1)

发布时间:2013-01-15 09:14:09

PC操作系统:ubuntu?11.10使用的开发板:am335x_evm开发板使用的操作系统:linux?3.2测试用例:#include #include #include #include #include #include #include #incl.........【阅读全文】

阅读(5604) | 评论(0) | 转发(1)

发布时间:2013-01-08 11:08:22

测试代码: 点击(此处)折叠或打开#include#include#include#include#include#include#include#includeMODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR("S......【阅读全文】

阅读(2265) | 评论(0) | 转发(1)

发布时间:2013-01-07 18:28:07

点击(此处)折叠或打开#include<linux/device.h>#include<linux/module.h>#include<linux/kernel.h>#include<linux/stat.h>#include<linux/init.h>#include<linux/string.h>#include<linux/sysfs.h>#include<linux/kobject.h>MODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR("SM");s......【阅读全文】

阅读(1793) | 评论(0) | 转发(1)

发布时间:2013-01-07 16:09:14

文章的例子和实验使用《LDD3》所配的lddbus模块(稍作修改)。 提示:在学习这部分内容是一定要分析所有介绍的源代码,知道他们与上一部分内容(kobject、kset、attribute等等)的关系,最好要分析一个实际的“flatform device”设备,不然会只学到表象,到后面会不知所云的。 总线 总线是处理器和一个或多个设备之间的通道,在设备模型中, 所有的设备都通过总线相连, 甚至是内部的虚拟"platform"总线。总线可以相互插入。设备模型展示了总线和它们所控制的设备之间的实际连接。在 Linux 设备模型中, 总线由 bus_type 结构表示, 定义在 &......【阅读全文】

阅读(2038) | 评论(0) | 转发(1)

发布时间:2013-01-06 16:26:30

在 ldd_bus.h 定义如下://LDD driver typestruct ldd_driver{    char    *version;    struct module *module;    struct device_driver driver;    struct driver_attribute    version_attr;};//A device type for things "plugg......【阅读全文】

阅读(2305) | 评论(0) | 转发(2)

发布时间:2013-01-06 09:43:44

PC操作系统:ubuntu 11.10使用的开发板:am335x_evm开发板使用的操作系统:linux 3.2 在新版本的内核中struct device 已经没有bus_id成员,取而代之的是通过dev_name和dev_set_name对设备的名字进行操作。         dev_name和dev_set_name在2.6.35.6内核中的源代码如下:         static inline const char *d......【阅读全文】

阅读(2333) | 评论(0) | 转发(0)

发布时间:2013-01-04 18:49:12

#include<linux/miscdevice.h>建一个miscdevice结构体static struct miscdevice misc = {       .minor = MISC_DYNAMIC_MINOR,       .name = DEVICE_NAME,       .fops = &dev_fops,};在驱动函数初始化中注册这个混杂设备misc_register(&a......【阅读全文】

阅读(2075) | 评论(0) | 转发(1)

发布时间:2013-01-04 15:43:53

1.结构框图:2.管脚功能描述3.状态图:Power on: 上电Reset Procedure: 复位过程Initialization: 初始化ZQCL: 上电初始化后,用完成校准ZQ电阻。ZQCL会触发DRAM内部的校准引擎,      一旦校准完成,校准后的值会传递到DRAM的IO管脚上,并反映为输出驱动和ODT阻值。ZQCS: 周期性的校准,能够跟随电压和温度的变化而变化。校准需要更短的时间窗口,     &......【阅读全文】

阅读(12256) | 评论(0) | 转发(12)

发布时间:2013-01-04 15:41:59

首先,我们先了解一下内存的大体结构工作流程,这样会比较容量理解这些参数在其中所起到的作用。这部分的讲述运用DDR3的简化时序图。   DDR3的
内部是一个存储阵列,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就
可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理。对于内存,这个单元格可称为存储单元,那么这个表格(存储阵列)就是逻辑
Bank(Logical Bank,下面简称Bank)。 DDR3内部Bank示意图,这是一个NXN的阵列,B代表Bank......【阅读全文】

阅读(12211) | 评论(0) | 转发(15)

发布时间:2012-12-27 19:12:34

从Linux2.6起,引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。Linux中大部分的设备驱动,都可以使用这套机制,设备用platform_device表示,驱动用platform_driver进行注册。   Linux platform driver机制和传统的device_driver机制相比,一个十分明显的优势在于platform机制将本身的资源注册进内核,由内核统一管理,在驱动程序中使用这些资源时通过platform_device提供的标准接口进行申请并使用。这样提高了驱动和资源管理的独立性,并且拥有较好的可移植......【阅读全文】

阅读(2959) | 评论(0) | 转发(1)

发布时间:2012-12-22 09:08:33

一.  输入子系统核心分析。    1.输入子系统核心对应与/drivers/input/input.c文件,这个也是作为一个模块注册到内核的。所以首先分析模块初始化函数。 [cpp] view plaincopy static int __init input_init(void)   {       int err;         ......【阅读全文】

阅读(1289) | 评论(0) | 转发(0)

发布时间:2012-12-22 08:56:03

linux input子系统分析--主要函数  一. 各种注册函数     因为分析一所讲的每种数据结构都代表一类对象,所以每种数据结构都会对应一个注册函数,他们都定义在子系统核心的input.c文件中。主要有三个注册函数     input_register_device    向内核注册一个input设备     input_register_handle    向内核注册一个handle结构     input_regis......【阅读全文】

阅读(1337) | 评论(0) | 转发(0)

发布时间:2012-12-22 08:55:40

linux input子系统分析--概述与数据结构         Input子系统处理输入事务,任何输入设备的驱动程序都可以通过Input输入子系统提供的接口注册到内核,利用子系统提供的功能来与用户空间交互。输入设备一般包括键盘,鼠标,触摸屏等,在内核中都是以输入设备出现的。下面分析input输入子系统的结构,以及功能实现。一. Input子系统结构与功能实现  1. Input子系统是分层结构的,总共分为三层: 硬件驱动层,子系统核心层,事件处理层。     (1)其中硬件驱动层负责操作具体的硬件设备,这......【阅读全文】

阅读(1531) | 评论(0) | 转发(0)

发布时间:2012-12-13 11:47:32

异常体系比较复杂,但是linux已经准备了很多的函数和框架,但是因为中断是和具体的开发板相关,所以中断需要我们自己来处理一些方面,但是这也是很少的一部分,很多公用的处理函数内核已经实现,linux内核搭建了一个非常容易扩充的中断处理体系。 中 断系统结构涉及的方面很多,而且分布在很多的函数中,这里我主要理清一些结构和流程顺序已经在哪些函数中实现,我不知道其他人怎么样?但是我自己一开始怎 是找不到linux内核是怎么把GPIO设置成中断的,我找了很久都找不到,还有我们很多的设置,初始化等等东西好像都没有实现,清除中断寄存器也不知道 是怎么实现的,只是知道使用中断,差不多用request......【阅读全文】

阅读(2060) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

Dafanzi2016-12-05 18:21

我找到代码了 不用了 谢谢

回复  |  举报

Dafanzi2016-12-05 17:20

大佬,在你这篇讲解内存池的博文(http://blog.chinaunix.net/uid-28458801-id-4254501.html)中,list.h源文件没有提供啊。你能提供这个博文的完整代码我学习学习吗?能的话发给我邮箱可以吗?brottfan@163.com谢谢啦

回复  |  举报
留言热议
请登录后留言。

登录 注册