自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(0)
  • 资源 (27)
  • 收藏
  • 关注

空空如也

Linux那些事儿之我是UHCI

写一下UHCI吧,也顺便怀念一下Intel,以及Intel的那几个女同事们,好久没联系了,你们可好? UHCI是Intel提出来的.虽然离开Intel一年多了,但我总觉得也许有一天我还会回到Intel.所以关于Intel的东西,我多少会关注一下.我挺怀念Intel的,虽然钱也不多,但是那时候毕竟刚毕业,对钱的问题也没想太多. UHCI全名Universal Host Controller Interface,它是一种USB主机控制器的接口规范,江湖中把遵守它的硬件称为UHCI主机控制器.在Linux中,把这种硬件叫做HC,或者说Host Controller,而把与它对应的软件叫做HCD.即HC Driver.Linux中这个HCD所对应的模块叫做uhci-hcd.

2010-11-07

Java版计算器

⑴定义组件:0~9,+、-、*、/、sqrt()、1/x、%、C=按钮;显示屏文本行;菜单;⑵要求能关闭窗口;点击按钮,或键盘数字会在显示屏上输出结果。⑶具有进制转换功能;要模拟实现Windows中计算器,首先,关键是设计好界面,这是难点,也是前提;其次,要实现计算器的功能,关键是掌握各个功能的算法,再将各个算法(行为)与按钮绑定,并且注册监听者。 在选择界面实现策略时,我还是选择了swing,因为Swing包在图形界面设计上比AWT更丰富,更美观,比较如下:AWT是一个重量级构件,它是调用本地平台的图形系统实现。按钮、标签等不能使用图标;缺少剪贴板、打印支持等;不支持双缓冲。Swing构件都是AWT的Cotainer类的直接或间接子类。AWT是Swing的基础,Swing是AWT的扩展。Swing构件均以“J”开头,Swing是扩展AWT后得到的轻量级构件,不依赖于操作系统的支持,显示效果在不同平台能一致。可以给构件设置边框,可以在按钮、标签等使用图标。Swing与AWT的事件处理机制相同。处理Swing中的事件除了使用java.awt.event包外,还要用到java.swing.event包。

2008-07-04

电子 IC测试原理解析

IC测试原理解析 本系列一共四章,第一章节主要讨论芯片开发和生产过程中的IC 测试基本原理,内容 覆盖了基本的测试原理,影响测试决策的基本因素以及IC 测试中的常用术语;第二章节将 讨论怎么把这些原理应用到存储器和逻辑芯片的测试上;接下来的第三章将介绍混合信号芯 片的测试,第四章会介绍射频/无线芯片的测试。

2010-08-15

结构体中最后一个数组长度为零

在Linux系统里,/usr/include/linux/if_pppox.h里面有这样一个结构: struct pppoe_tag { __u16 tag_type; __u16 tag_len; char tag_data[0]; } __attribute ((packed)); 最后一个成员为可变长的数组,对于TLV(Type-Length-Value)形式的结构,或者其他需要变长度的结构体,用这种方式定义最好。使用起来非常方便,创建时,malloc一段结构体大小加上可变长数据长度的空间给它,可变长部分可按数组的方式访问,释放时,直接把整个结构体free掉就可以了。

2010-11-07

USB驱动开发技术彻底解密

我们知道如果开发工程师不懂RS232 肯定会让人笑话可以想象面向未来USB 接口无处不在 因此掌握USB 的原理固件编程及其驱动开发技术势必成为当务之急 USB 即插即用的优点和灵活性运用于各种电子产品现在一定成为卖点未来一定成为一般 的基本配置如果您仅仅懂得单片机开发技术要想使用USB 接口技术还是有相当大的难度因为这其 中还要牵涉到DDK VC++及其Windos 的底层驱动开发技术怎么办为了帮助您全面揭开USB 驱动技 术的设计秘密我们历时8 个月的时间结合理论与实践的心得体会写作了本书

2010-11-07

跟我一起写 Makefile

什么是makefile?或许很多Windows的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。

2010-11-07

Linux 那些事儿之我是U 盘

摘要 2005 年6 月,复旦大学微电子系本科毕业答辩上,老师问我:请你用一句话介绍一下usb 技 术.我回了一句:老师,你有病吧,要能用一句话介绍我还费这么大劲写这么长的文章干嘛? 关键词:Linux, Kernel, 2.6, bus, usb, device driver, mass storage, scsi, urb, bulk, control, host, pipe, command ----------------------------------------------------------------------------------------------------------------------

2010-11-07

Linux那些事儿之我是sysfs

"sysfs is a ram-based filesystem initially based on ramfs. It provides a means to export kernel data structures, their attributes, and the linkages between them to userspace.” --- documentation/filesystems/sysfs.txt 可以先把documentation/filesystems/sysfs.txt读一遍。文档这种东西,真正读起来就嫌少了。Sysfs文件系统是一个类似于proc文件系统的特殊文件系统,用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息。

2010-11-07

Linux 那些事儿之我是USB Core

说在前面,在这里耗费二八青春码这些,并不是因为喜欢它,相反,对它是毫无感觉可言, 虽然每天都必须和它相依为伴,不离不弃,不过那可是丝毫没有办法的事情,非我所愿。听 着是不是说到心坎里去了,感情都是很无奈是吧。再说谁让现在几乎所有电脑相关好玩有用 的东东都往它身上靠,好像沾上它就跟上了时尚。时尚是什么,时尚就是标准,没看很久很 久以前,咱们的郭天王留着个小分头的时候,大街上看到的听到的都是标准的小分头么,喔, 这个当然是听不到的了。当然,时尚也需要发展改变,动不动还要来个复古什么的,现在好 像很少见郭氏小分头了吧。不要说不知道我说的是什么吧,看俺的题目,无可奈何USB 啊, 什么,它还不够时尚?总不能来个奥运会指定总线才叫时尚吧。

2010-11-07

Linux那些事儿之我是Hub

最早知道hub是在大学里,复旦的4人间宿舍,条件真好,每个人一张书桌,书桌下面一个网口,但是有时候网口坏了,那可急死人了,要知道当初我们买电脑初衷虽说是为了学习C语言,可是买了之后,C倒是没学,先学了CS.printf还没学会呢,倒是先学会了怎么在CS里喊go go go, fire in the hole!网口坏了就意味着CS不能玩了,当时对人生真的很绝望,后来有人介绍,说6楼几个哥们也有这种情况,然后人家买了hub.所以网口坏了也没事.当时我这个兴奋啊!比过了六级还要high…

2010-11-07

Linux那些事儿之我是Block层

从2.6.15的内核开始,顶层目录下面有了一个叫做block的目录,内核目录结构变成了现在这个样子: localhost-1:/usr/src/linux-2.6.22.1 # ls COPYING Documentation MAINTAINERS README arch crypto fs init kernel mm scripts sound CREDITS Kbuild Makefile REPORTING-BUGS block drivers include ipc lib net security usr 进入block目录,用旁光看一下: localhost:/usr/src/linux-2.6.22.1/block # ls Kconfig Makefile blktrace.c deadline-iosched.c genhd.c ll_rw_blk.c scsi_ioctl.c Kconfig.iosched as-iosched.c cfq-iosched.c elevator.c ioctl.c noop-iosched.c

2010-11-07

linux I2C 总线规范

I2C 总线规范 I2C 总线支持任何IC 生产过程NMOS CMOS 双极性两线――串行数据SDA 和串行时钟 SCL 线在连接到总线的器件间传递信息每个器件都有一个唯一的地址识别无论是微控制器LCD 驱动器存储器或键盘接口而且都可以作为一个发送器或接收器由器件的功能决定很明显LCD 驱动器只是一个接收器而存储器则既可以接收又可以发送数据除了发送器和接收器外器件在执行数 据传输时也可以被看作是主机或从机见表1 主机是初始化总线的数据传输并产生允许传输的时钟信号 的器件此时任何被寻址的器件都被认为是从机

2010-11-07

GNU make中文手册

Linux环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是Linux程序员。在Linux环境下使用GNU 的make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。不过这需要我们投入一些时间去完成一个或者多个称之为Makefile文件的编写。此文件正是make正常工作的基础。 所要完成的Makefile文件描述了整个工程的编译、连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译、需要创建那些库文件以及如何创建这些库文件、如何最后产生我们想要得可执行文件。尽管看起来可能是很复杂的事情,但是为工程编写Makefile的好处是能够使用一行命令来完成“自动化编译”,一旦提供一个(多个)正确的Makefile。编译整个工程你所要做的唯一的一件事就是在shell 提示符下输入make命令。整个工程完全自动编译,极大提高了效率。 make是一个命令工具,它解释Makefile中的指令(应该说是规则),Makefile中描述了工程中所有文件的编译顺序、规则。Makefile有自己的书写格式、关键字、函数。像C语言有自己的格式、关键字和函数一样。而且在Makefile中可以使用shell所提供的任何命令来完成你想要的工作。Makefile(在其它的系统上可能是另外的文件名)在绝大多数的IDE开发环境中都在使用,已经成为一种工程的编译方法。

2010-11-07

嵌入式系统设计师考试

嵌入式系统设计师考试笔记之嵌入式系统基础知识 1、嵌入式系统的定义 2、嵌入式系统的组成:硬件层、中间层、系统软件层和应用软件层 3、实时系统 4、实时系统的调度 5、嵌入式微处理器体系结构 6、逻辑电路基础 7、总线电路及信号驱动 8、电平转换电路 9、可编程逻辑器件基础 10、嵌入式系统中信息表示与运算基础 真题解析

2011-01-09

android-framework-hal

7 Android的Audio系统 7.1 Audio系统的综述 Audio系统架构和代码路径 7.2 meida库中Audio相关接口 Audio系统的本地核心接口,类的层次结构 7.3 Audio系统和上层接口 Audio系统的JAVA层次的接口 7.4 Audio硬件抽象层 Audio系统的移植,Audio硬件抽象层的实现方法 ALSA Audio HAL实现 8 Android的Video 输入输出系统 8.1 Video输入输出系统的综述 视频输入输出系统架构和代码路径 8.2 Overlay系统 视频输出系统的结构 8.3 Overlay的硬件抽象层 视频输出系统的移植,抽象层实现 8.4 Camera系统与上层接口 Camera系统的层次结构 8.5 Camera的硬件抽象层 Camera系统的移植 Camera和Overlay的结合与数据传送 9 Android的多媒体系统 9.1 多媒体系统的结构 应用到底层的层次结构 9.2 media核心库的结构 多媒体本地代码的结构 9.3 多媒体部分的上层代码 照相机,媒体播放,媒体录制的框架结构 9.4 PackageVideo的架构 OpenMAX编译码插件的集成 9.5 stagefright的架构与实现(Éclair新增) 10 Android的电话系统 10.1 电话系统结构 Android电话系统的层次结构 10.2 电话系统组成部分 Android电话系统的本地和JAVA程序运行流程 10.3 电话系统移植层 为特定Modem移植的方法 11 Android的连接部分 11.1 WIFI无线局域网的部分 11.2 蓝牙部分 11.3 GPS部分 12 Android的传感器系统 12.1 Android传感器系统概述 12.2 Android传感器系统的层次结构 12.3 Android传感器系统的硬件抽象层和移植 重力加速度等传感器的移植 12.4 Android传感器系统的使用 1.HAL 技术详解 1.1 HAL 架構解析 1.2 Service与Manager的意义与用途 1.3 libhardware 与 HAL API 1.4 Stub & Module 的观念 1.5 专题讨论:定义并撰写第一个HAL Stub 2.HAL Development 2.1 HAL Stub Analysis and Design (OOAD) 2.2 HAL Stub Class 2.3 HAL Stub Interface 2.4 专题讨论:开发 LED 的 HAL 模组 3.Android API Design 3.1 Abstract Class and Interface in Android 3.2 The Reuse of Framework Design 3.3 OOAD of new APIs 3.4 Implementaion of new APIs 3.5 Singleton Pattern to Android APIs 3.6 Factory Method Pattern to Android APIs 4.Extend Android API 4.1 如何加入 API 至 Android Framework 4.2 如何编译并制作独立 JAR 档 4.3 上机实验:开发LedService API 与制作mokoid.jar 程式库 5.JNI & Runtime Library 5.1 什么是 JNI 5.2 如何撰写 JNI & Native Method 5.3 如何制作 Android Runtime Library 5.4 专题讨论:如何开发与制作Runtime Library 6.5 专题讨论:SensorManager与SensorService实例 7.SystemService 与 HAL 整合7.1 IPC、 Remote method call与Binder观念说明 7.2 AIDL 介绍与IInterface设计观念解析 7.3 Activity & ApplicationContext 7.4 ServiceManager 7.5 专题讨论:LedService设计与ILedService探讨 8.Manager API (Refinement-架构优化) 8.1 SensorManager与 SensorService实例探讨 8.2 Remote Object观念与IBinder介绍 8.3 如何以Proxy Object整合Android Service 8.4 Long operations 的解析与实作细节 8.5 RemoteException 的解析与实作细节 8.6 Handler 与 Message 的解析与实作细节 8.7 Error Handling 9.专题探讨 9.1 整合驱动程式至Android 框架 9.2 撰写Anroid应用程式以控制LED 9.3 标准的Android HAL 架构 9.4 HAL Stub OOAD & Implementation

2011-01-09

Linux Kernel and Android 休眠与唤醒(中文版)

休眠/唤醒在嵌入式Linux中是非常重要的部分,嵌入式设备尽可能的进入休眠状 态来延长电池的续航时间.这篇文章就详细介绍一下Linux中休眠/唤醒是如何工作 的, 还有Android中如何把这部分和Linux的机制联系起来的.

2010-11-07

linux静态库与动态库

linux下面的库文件有两种:静态链接库(xx.a)和动态链接库(xx.so)。 当一个程序使用静态链 接库,那么当link的时候,连接器会把所需要的函数拷贝到源程序里面,这样,当编译完以后,静态链接库就可以不需要了。如果一个程序使用动态链接库,那么当 连接的时候,只会在程序里面留下一个标记,当执行的时候才动态的架在这个库文件,所以相对于静态链接库而言,动态链接库比较节省空间,所以动态链接库使用的比较 多。

2010-11-07

全国交通咨询模拟

(1)对全国城市交通图和列车时刻表及飞机航班表进行编辑,应该提供文件形式输入和键盘输入两种方式。飞机航班表的信息应包括:起始站的出发时间、终点站的到达时间和票价;列车时刻表则需根据交通图给出各个路段的详细信息,例如:基于教科书7.6节图7.33的交通图,对从北京到上海的火车,需给出北京至天津、天津至徐州及徐州至上海各段的出发时间、到达时间及票价等信息。(2)以邻接表作交通图的存储结构,表示边的结构内除含有邻接点的信息外,还应包括交通工具、路程中耗费的时间和花费以及出发和到达的时间等多种属性。另增加旅途中转次数最少的最优决策。

2008-07-04

电子集成电路设计基础

集成电路设计基础 01绪论 02 IC制造材料 03 集成电路的制作工艺

2010-08-15

电子集成电路设计基础 05 Mos2

电子集成电路设计基础 05 Mos2

2010-08-15

android-framework-hal

1.Android OS 开发环境建立与编译 1.1 Android 框架(framework)架构介绍 1.2 如何取得 Android 原始码 1.3 Android product 分支建立 1.4 编译 ARMv5+ Android 系统 (image制作) 1.5 使用 Android emulator 1.6 Vanilla Kernel & Android Kernel 编译 2.HAL 技术详解 2.1 HAL 的意义与二进位布署(Binary File Deploy) 2.2 Service与Manager的意义与用途 2.3 libhardware 与 HAL API 2.4 Stub & Module 的观念 2.5 专题讨论:定义并撰写第一个HAL Stub 3.HAL Development 3.1 HAL Stub Analysis and Design (OOAD) 3.2 HAL Stub Class 3.3 HAL Stub Interface 3.4 专题讨论:开发 LED 的 HAL 模组 4.Extend Android API 4.1 如何加入 API 至 Android Framework 4.2 如何编译并制作独立 JAR 档 4.3 上机实验:开发LedService API 与制作mokoid.jar 程式库 5.JNI & Runtime Library 5.1 什么是 JNI 5.2 如何撰写 JNI & Native Method 5.3 如何制作 Android Runtime Library 5.4 专题讨论:如何开发与制作Runtime Library

2011-01-09

linux I2C总线规范

I2C 总线支持任何IC 生产过程NMOS CMOS 双极性两线――串行数据SDA 和串行时钟 SCL 线在连接到总线的器件间传递信息每个器件都有一个唯一的地址识别无论是微控制器LCD 驱动器存储器或键盘接口而且都可以作为一个发送器或接收器由器件的功能决定很明显LCD 驱动器只是一个接收器而存储器则既可以接收又可以发送数据除了发送器和接收器外器件在执行数 据传输时也可以被看作是主机或从机见表1 主机是初始化总线的数据传输并产生允许传输的时钟信号 的器件此时任何被寻址的器件都被认为是从机

2010-11-07

Java版计算器

要模拟实现Windows中计算器,首先,关键是设计好界面,这是难点,也是前提;其次,要实现计算器的功能,关键是掌握各个功能的算法,再将各个算法(行为)与按钮绑定,并且注册监听者。<br> 在选择界面实现策略时,我还是选择了swing,因为Swing包在图形界面设计上比AWT更丰富,更美观,比较如下:<br><1>AWT是一个重量级构件,它是调用本地平台的图形系统实现。按钮、标签等不能使用图标;缺少剪贴板、打印支持等;不支持双缓冲。<br><2>Swing构件都是AWT的Cotainer类的直接或间接子类。AWT是Swing的基础,Swing是AWT的扩展。Swing构件均以“J”开头,Swing是扩展AWT后得到的轻量级构件,不依赖于操作系统的支持,显示效果在不同平台能一致。可以给构件设置边框,可以在按钮、标签等使用图标。<br><3>Swing与AWT的事件处理机制相同。处理Swing中的事件除了使用java.awt.event包外,还要用到java.swing.event包。<br>

2008-07-04

操作系统课程设计

Linux操作系统是UNIX操作系统的一种克隆系统。它诞生于1991年10月5日。此后借助于Internet网络,经过全世界各地计算机爱好者的共同努力,现已成为当今世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增长。<br>Linux是一种能运行于多种平台、源代码公开、免费、功能强大、遵守POSIX标准、与UNIX兼容的操作系统。<br>Linux最初版本是由Linus Benedict Torvalds编写的,为了能够使Linux更加完善,Torvalds在网络上公开了Linux的源码,邀请全世界的志愿者来参与Linux的开发。在这些无私的人们的帮助下,Linux得到不断的完善,并在短时期内迅速崛起。现在,Linux内核已经发展到了2.5.X版,并还在以相当快的速度不断地发展着。据报道,它是一个很有发展前途的操作系统,也是为数不多可以与Microsoft旗下操作系统相竞争的操作系统。<br>为了打破这种受制于人的局面,我国迫切的需要开发一个具有自主知识产权的操作系统。由于Linux性能优越,属于自由软件,公开源代码且完全免费,所以拿来作发展自主知识产权的操作系统的底版是非常合适的选择。只有完全了解当前Linux的实现细节,才能在它的基础上作进一步的开发和完善。因此,分析Linux源代码对于在Linux现有的基础上开发我们自己的Linux就具有非常现实和重要的意义。<br>

2008-07-04

Linux启动过程综述

一.Bootloader 二.Kernel引导入口 三.核心数据结构初始化--内核引导第一部分 四.外设初始化--内核引导第二部分 五.init进程和inittab引导指令 六.rc启动脚本 七.getty和login 八.bash

2010-11-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除