内核
Hens007
一无所有
展开
-
深入理解Linux内核之内存寻址笔记-2
一个逻辑地址由两个部分组成,一个是由段标识符和一个指定段内相对地址的偏移量,而这个段标识符是一个16位长的字段来表示,偏移量是32位的字段描述。操作过程中,为了能够快速地找到所需要的段,处理器提供了段寄存器,这个段的唯一标识形式是段寄存器,分为cs,ss,ds,es,fs与gs。 六个寄存器中有三个是有专门用处: cs 代码段寄存器,指向包含程序指令的段。 ss原创 2012-02-28 22:11:45 · 1044 阅读 · 0 评论 -
从DM9000驱动看platform device与driver的关系
快乐虾http://blog.csdn.net/lights_joy/lights@hb165.com 本文适用于ADSP-BF561uclinux-2008r1.5-rc3 (smp patch)Visual DSP++ 5.0(update 5) 欢迎转载,但请保留作者信息 内核中的platform driver机制需要将设备本身的资源注转载 2012-03-02 18:17:17 · 836 阅读 · 0 评论 -
uclinux创建内核线程的几种方式
1.1.1 用kernel_thread创建线程创建内核线程可以使用kernel_thread函数:/* * Create a kernel thread. */pid_t kernel_thread(int (*fn) (void *), void *arg, unsigned long flags){ struct pt_regs regs;转载 2012-03-02 17:59:55 · 1174 阅读 · 0 评论 -
linux驱动的入口函数module_init的加载和释放
就像你写C程序需要包含C库的头文件那样,Linux内核编程也需要包含Kernel头文件,大多的Linux驱动程序需要包含下面三个头文件:#include #include #include 其中,init.h 定义了驱动的初始化和退出相关的函数,kernel.h 定义了经常用到的函数原型及宏定义,module.h 定义了内核模块相关的函数、变量及宏。 几乎每个linu转载 2012-03-02 19:06:54 · 766 阅读 · 0 评论 -
lowlevel_init.S学习理解
在我迷迷糊学看了lowlevel_init.S中的代码之后,有一个感觉就是,要想读懂其中的代码首先得看一下你所用的芯片手册,因为里面有比较详细的存储器控制(MemoryController)描述。我用的是s3c2440手册里写得十分清楚,总共有8个块(Banks)(Bank0~Bank7),每个块对应着不同的控制与地址线,其实这些Bank很大一部分是对应着的控制寄存器的地址,这个要看实际的芯片与板转载 2012-04-11 19:06:22 · 1053 阅读 · 0 评论