自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (7)
  • 收藏
  • 关注

转载 网卡的组成工作原理

网卡的组成工作原理<br /><br />作者:不详<br /><br />1.认识网卡,我们上网必备组件之一。<br />   <br />    网卡工作在osi的最后两层,物理层和数据链路层,物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为MAC控制器。很多网卡的这两个部分是做到一

2010-10-20 16:39:00 1791

原创 BusyBox reboot 流程分析

BusyBox 版本1.10-2用户在console下输入reboot命令,busybox会调用到halt_mainint halt_main(int argc ATTRIBUTE_UNUSED, char **argv){...../* Perform action. */ if (ENABLE_INIT && !(flags & 4)) {  if (ENABLE_FEATURE_INITRD) {   pid_t *pidlist = find_pid_by_name("linuxrc");   if

2010-09-15 19:11:00 7920

转载 Reboot与init 6的区别

<br />起因在于:重启服务器后有时候服务不会启动,而有时候又可以自动运行,唯一差别在于重启命令用的是reboot还是init 6.<br /><br />后查了相关资料,竟然大有玄机:<br /><br />对这两个操作使用man命令看到的内容如下:<br />init 6 Stop the operating system and reboot to the state defined by the initdefault entry in /etc/inittab.<br /><br />reboo

2010-09-15 18:20:00 28165

原创 4KB大硬盘 资料收集

<br />4KB大硬盘<br />http://blog.csdn.net/fjb2080/archive/2010/02/01/5277242.aspx<br />http://blog.csdn.net/fjb2080/archive/2010/05/27/5627186.aspx<br />ATA 4KB issue<br />http://lwn.net/Articles/377897/<br />Exploring WD's Advanced Format HD Technology<br />

2010-09-12 21:29:00 1241

转载 ACPI 高级配置与电源接口

<br />我看过的中文的非常不错的ACPI资料<br />============================================================================<br />高级配置与电源接口维基百科,自由的百科全书<br /> <br />高级配置与电源接口(Advanced Configuration and Power Interface),简称ACPI,1997年由Intel、Microsoft、Toshiba 所共同制定提供操作系统应用程序管理所有

2010-09-11 17:43:00 5529 1

原创 戏说x86中的Hyper-threading

Intel IA32/64  手册里面对Hyper-threading/Multi-core有专门的章节进行讲解,这里简单列一下笔记:1. Hyper-threading 最早出现在Netburst 架构的P4上,期望用相对廉价的方法提高系统的性能。一个物理processor上如果实现了HT,就会被认为有两个逻辑processor。为什么会这样,手册里面讲:这是因为每个logical processor都有一个对应的Architectural State(AS)。 每个AS包括:•Shared by log

2010-09-05 12:16:00 1790

转载 Linux系统超线程感知的调度算法研究

<br />1 引言<br />随着计算机应用的日益普及,用户对计算机的处理能力的需求也在成指数级增长。为了满足用户的需求,处理器生产厂商也采用了诸如超流水,分支预测,超标量,乱序执行,缓存等技术提高处理器的性能,但是这些技术的采用也增加了微处理器的复杂性,带来了诸如材料,功耗,光刻,电磁兼容性等一系列问题。因此处理器设计人员开始寻找新的途径来提高处理器的性能。Intel公司于2002年底推出了超线程技术,通过共享处理器的执行资源,提高CPU的利用率,让处理单元获得更高的吞吐量。<br />2 超线程技术背

2010-09-05 10:45:00 1543

原创 FWH_SEL1 的说明

<br />之前执导FWH_SEL1是用来选FWH 的片子,但是太清楚这么具体。spec上也没有说清楚<br />============================================================================<br />Q:小弟之前做的一个案子,对于FWH_SEL1的设置是这样的:<br />在南桥初始化的时候, 往这个32BIT的register里填值:0x00 00 00 0E,<br />按照SPEC来看, 是选两个512K的FWH memor

2010-09-04 23:08:00 1364

转载 Linux内核线程编程方法

<br />写的不错,多说也无益,看看前人的经验。<br />一点备注:内核线程实际上是内核进程,只是大家的地址空间是内核空间,所以内核线程间的切换没有真正意义上的地址空间切换。具体看看,他的一些编程方法,退出机制和windows多线程编程需要注意的事项差不多。<br />===========================================================================================================<br />Linux内

2010-09-02 10:18:00 9638 1

转载 Linux内核延时研究与函数代码分析

jiffies 以前提过,但是用来计算函数调用的时间确实显得粒度太大(一个 jiffies = 1ms or 4ms )gettimeofday (用户态)和do_gettimeofday(内核态)用下来感觉不错。粒度可以达到us级别。试验过一个while 循环unsigned long i =0xffffffff; while(i--);按代码来讲,这个时间应该不算短,测出来的时间却是0. 估计是代码优化了。加个volatile :volatile unsigned long i=0xffffffff;

2010-09-02 09:35:00 2474

转载 SVN简易使用手册

<br />SVN简易使用手册<br />SVN是一种类似于CVS的版本控制软件,它的操作方法也与CVS类似,但是它弥补了CVS的很多不足和做了很大的改善和提高。在这个手册中,主要描述的是它的客户端的使用方法,至于服务器的配置,在另一篇手册中说明。<br /> <br /><br />SVN中的修订版本号<br />当新建一个版本库时,它的修订版本号为0,每当执行一次提交命令时,它的修订版本号就增加1,SVN也用一些关键字表示某一些版本:<br />HEAD:版本库中最新的版本<br />BASE:工作拷贝

2010-08-30 16:02:00 741

原创 以太网卡杂记之MAC和PHY

<br />写的挺好的,把做驱动需要注意的都提醒了,细节就自己看spec。<br />=======================转载=======================================================<br />以太网卡杂记之MAC和PHY <br />网卡工作在osi的最后两层,物理层和数据链路层。<br /> <br />物理层的芯片称之为PHY。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接

2010-08-30 12:53:00 2093 3

转载 spin lock 深入理解

Linux 内核的排队自旋锁(FIFO Ticket Spinlock)<br />http://www.ibm.com/developerworks/cn/linux/l-cn-spinlock/<br />Linux x86 spinlock实现之分析<br />http://yuanbor.blog.163.com/blog/static/5667462020104192227815/

2010-08-23 22:02:00 871

转载 分析Linux中Spinlock在ARM及X86平台上的实现

<br /><br />作者:刘洪涛,华清远见嵌入式学院讲师。<br />本文主要以2.6.22.6内核分析Linux中spinlock在ARM及X86平台上的实现(不同版本的内核实现形式会有一些差异,但原理大致相同)。此处默认大家已经熟悉了spinlock的使用,重点解释容易引起迷惑的体系结构相关的实现部分。<br />一、spin_lock(lock)的实现<br />/***include/linux/spinlock.h中***/<br />#if defined(CONFIG_SMP) || de

2010-08-23 22:01:00 632

转载 Linux 内核的 LOCK_PREFIX 的含义

<br />发信人: RoachCock (安息吧), 信区: KernelTech<br />标  题: 终于弄明白了 Linux 内核的 LOCK_PREFIX 的含义<br />发信站: 水木社区 (Fri Mar 13 02:32:32 2009), 站内<br /><br />x86 架构的内核实现原子整数的时候,用到了 LOCK_PREFIX 这个宏<br /><br />static __inline__ void atomic_add(int i, atomic_t *v)<br />{<b

2010-08-23 21:55:00 3132 1

转载 How to Install and Configure the RedBoot ROM Monitor

<br />by Anthony J. Massa <br />RedBoot is a portable, open-source ROM monitor that offers a download and debug environment. What more could you want? <br />Many embedded developers today use a ROM- or flash-resident software program that provides function

2010-08-20 15:48:00 1389

转载 eCos porting guide

eCos porting guideAnthony J. Massa 10/6/2003 12:00 PM EDTeCos Porting Guide, Part 1<br />The first task when using any new operating system is to get it up and running on your hardware. The open-source eCos RTOS makes that part pretty easy.<br />eCos is an

2010-08-20 15:45:00 865

原创 redboot -官方资料

<br />图形化的configurationtool<br />http://ecos.sourceware.org/ct2.html<br /> <br />CDL manual<br />http://ecos.sourceware.org/docs-latest/cdl-guide/cdl-guide.html<br /> <br />User guide<br />http://ecos.sourceware.org/docs-latest/redboot/redboot-guide.html<b

2010-08-20 15:43:00 738

转载 调试redboot和内核的心得--MTD partition相关

1、Linux内核MTD驱动获取flash布局的方式:<br />1)利用redboot<br />内核支持Redboot建立的flash分区表,在编译内核时打开下面选项:<br />#支持Redboot的FIS分区表<br />CONFIG_MTD_REDBOOT_PARTS=y<br />#FIS分区表存放在flash倒数第二个block中<br />CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-2<br />在Device Drivers -> MTD ->RedBoot p

2010-08-20 15:39:00 4033

转载 redboot 启动分析 一句话

<br />Redboot 启动过程 <br />1.Reset 入口点:0x0<br />    传递控制权到ROM的入口处:reset_vector。 <br />2.调用宏PLATFORM_SETUP1,完成下面的工作: <br />关中断 <br />禁能以及清除caches<br />初始化内存控制器(可能包括检查内存位置) <br />设置时钟频率 <br />初始化MMU table<br />设置TTBR和DACR为默认值 <br />映射MMU table到内存 <br />DRAM at

2010-08-20 11:20:00 864

转载 linux 压缩解压一句话

<br />.tar<br />解包:tar xvf FileName.tar<br />打包:tar cvf FileName.tar DirName<br />(注:tar是打包,不是压缩!)<br />———————————————<br />.gz<br />解压1:gunzip FileName.gz<br />解压2:gzip -d FileName.gz<br />压缩:gzip FileName<br />.tar.gz 和 .tgz<br />解压:tar zxvf FileName.ta

2010-08-20 09:05:00 677

原创 request_queue, request, bio 关系一句话描述

<br />看了代码,调了程序,看了文档,总算有点概念<br />记录一下<br />bio 代表一个IO 请求<br />request 是bio 提交给IO调度器产生的数据,一个request 中放着顺序排列的bio<br />当设备提交bio 给IO调度器时,IO调度器可能会插入bio,或者生成新的request<br /> <br />request_queue代表着一个物理设备,顺序的放着request<br /> <br />===========================分割线=====

2010-08-17 18:00:00 8149 2

转载 linux block 设备基本总结-来自于linux设备驱动开发详解

<br />块设备是与字符设备并列的概念,这两类设备在Linux中驱动的结构有较大差异,总体而言,块设备驱动比字符设备驱动要复杂得多,在I/O操作上表现出极大的不同,缓冲、I/O调度、请求队列等都是与块设备驱动相关的概念。<br />块设备的I/O操作特点<br />字符设备与块设备I/O操作的不同在于:<br />① 块设备只能以块为单位接受输入和返回输出,而字符设备则以字节为单位。大多数设备是字符设备,因为它们不需要缓冲而且不以固定块大小进行操作。<br />② 块设备对于I/O请求有对应的缓冲区,因此

2010-08-17 17:54:00 3582

原创 一句话调整linux console中字体大小

<br />用nx remote到linux上时,因为显示器分辨率的问题,在nx上的console 字体非常小。<br />使用ctrl and ++ 增大字体<br />ctrl and -- 缩小字体

2010-08-16 16:23:00 8564 5

原创 linux 下计算程序运行时间 一句话说明

<br />说明下:linux 2.4 一秒有100个时钟中断, 一个jiffies为10ms<br />            linux2.6 一秒1000个时钟中断,所以一个jiffies为1ms<br /> <br />每次时钟中断产生,内核内部计数器的值加一,也就是jiffies++。<br />jiffies,是一个64 位的变量。<br />调用需包含<linux/jiffies.h> 或 <linux/sched.h><br /> <br />计算时间最简单方法<br />unsigned

2010-08-12 19:14:00 923

原创 No rule to make target `missing-syscalls' 一句话解决办法

<br />如果你安装了fedora + 开发套件,系统会有默认的kernel source。此时用make menuconfig /make bzImage 就有这个问题<br />这个错误应该是fedora特有的(个人估计),<br />因为fedora 编译kernel有它自己的一整套方案,如何解决请查看:http://fedoraproject.org/wiki/Docs/CustomKernel

2010-08-12 17:45:00 10652 2

原创 spin lock 一句话

spin lock 在linux kernel 和 driver里面得到了广泛使用,看看它的定义#define spin_lock(lock)   _spin_lock(lock) ----->#define __LOCK(lock) /  do { preempt_disable(); __acquire(lock); (void)(lock); } while (0)当系统定义了 CONFIG_PREEMPT#define preempt_disable() /do { / inc_preempt_co

2010-08-12 13:48:00 751

原创 IDE 的48 位LBA 一句话

IDE 48 LBA

2010-08-11 20:02:00 942

原创 关于本文的开始

 在blog在中国的蓬勃发展的时间段,大概是04~06,我曾经有过不少blog,甚至上溯到更早的2000年前后,我还有个人主页。记得很早的时候看过一个统计数据,大抵意思是说在internet上,实际内容的贡献者大概是上网者的1%左右。现在想来对于自己上网多年经历来说,我的贡献率实在太少,一直都在索取。最近一直在学习IA32相关的东西,在查找资料的时候,发现很多系统级别的东西真正讲清楚的实在

2008-12-27 14:14:00 819 2

Android系统Framework层源码分析

Android系统Framework层源码分析 ,简单直接,是我自己学习用的资料

2014-01-02

c sharp人门教程

c sharp人门教程, 入门用.全部看一便,所有的基础知识都可以知道了

2014-01-02

ACPI 3.0 b spec

最新acpi手册,如果需要了解ACPI,这是必读的手册。了解以后,对整个ACPi设计原理,实现方式都有深刻理解

2009-11-30

Bochs_BIOS简要分析

学习bios入门的最佳材料,包括一个bios的整体流程,每个模块的讲解,适合入门者对bios的理解。对IA32也会有更好的认识

2009-11-30

PS2键盘编程资料 pdf

PS2接口键盘编程资料,包括电气特性,编程方法,容易上手。很难找的

2008-12-25

JTAG 调试原理 pdf

了解 JTAG 调试的入门文档,很实用,pdf格式

2008-12-13

PCI 架构分析 pdf

分析PCI 总线,pci桥的架构,很容易理解,是不可多得的好东西,现在把他共享出来,喜欢的话多支持。

2008-12-13

空空如也

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

TA关注的人

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