自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

转载 使用kgdb调试linux内核及内核模块

1. 几种内核调试工具比较kdb:只能在汇编代码级进行调试;     优点是不需要两台机器进行调试。gdb:在调试模块时缺少一些至关重要的功能,它可用来查看内核的运行情况,包括反汇编内核函数。kgdb:能很方便的在源码级对内核进行调试,缺点是kgdb只能进行远程调试,它需要一根串口线及两台机器来调试内核(也可以是在同一台主机上用vmware软件运行两个操作系统来调试)

2012-07-27 00:01:00 370

转载 嵌入式linux启动信息完全注释

嵌入式linux启动信息完全注释[日期:2006-8-21]来源:21IC中国电子网  作者:余涛  摘要我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。嵌入式linux的启动

2012-07-26 23:43:02 1022 1

转载 用户空间与kernel空间通信的例子(利用mmap)

#include linux/config.h>#include linux/module.h>#include linux/kernel.h>#include linux/mm.h>MODULE_LICENSE("GPL");MODULE_AUTHOR("Wheelz");MODULE_DESCRIPTION("mmap demo");static unsig

2012-07-26 23:38:36 587

转载 常用的简单的互斥的例子

总结一下, 我们写module的时候, 常用的简单的互斥的例子:以下是个一个例子, 只有一个进程才能打开open() , 其他的进程不可以,直接返回。大家可以比较一下优劣。  -------------------------------------------------用信号量:static DECLARE_MUTEX(char_se

2012-07-26 23:36:15 1769

转载 linux 实时和抢占的学习日记

Linux 实时技术与典型实现分析, 第 1 部分: 介绍http://www.ibm.com/developerworks/cn/linux/l-lrt/part1/Linux 实时技术与典型实现分析, 第 2 部分: Ingo Molnar 的实时补丁http://www.ibm.com/developerworks/cn/linux/l-lrt/part2/实

2012-07-26 23:32:19 371 1

转载 kernel与用户程序批量传输数据的方法

debugfs以前听说过, 没怎么用过 。现在知道relayfs ,可真是个好东西啊。 现在正在研究中,找到两篇经典的文章: 在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlinkhttp://www.ibm.com/developerworks/cn/linux/l

2012-07-26 23:28:24 692

转载 unix/Linux 低级IO函数的用法

写module ,必要的应用编程知识是应该要有的, 否则 ,怎么写应用程序来测试你的module或者driver呢?而且最主要的是 , 了解上层调用的接口, 你就明白了上层的开发者需要什么, 自己才好实现什么。 把手里的看书的事情都放下, 先把 Unix环境高级编程这本书 的第三章 彻底搞熟它 内容包括:open() ,尤其是各种常见的参数,到底是什么意思, 比如常

2012-07-26 23:25:42 354

转载 ARM的异常处理

ARM的异常处理       对于ARM核,可以且只能识别7种处理器异常,每种异常都对应一种ARM处理器模式,当发生异常时,ARM处理器就切换到相应的异常模式,并调用异常处理程序进行处理。       ARM核异常处理的一般过程是:       (1)保存异常返回地址到r14_(确切的说是当前PC);       (2)保存当前CPSR到SPSR_;       (3)改写CP

2012-07-26 23:22:23 679

转载 System.map文件的作用

System.map文件的作用2008-11-11 19:48编译:赵炯 www.plinux.org (gohigh@sh163.net)有关System.map文件的信息好象很缺乏。其实它一点也不神秘,并且在整个事情当中它并不象看上去那么得重要。但是由于缺乏必要的文档说明,使其显得比较神秘。它就象耳垂,我们每个人都有,但却不知道是干什么用的。本网页就是用来说明这个问题的。注

2012-07-26 23:14:29 652

转载 kernel地址转换的函数

这个在编程的时候常用。 一定搞清楚他们之间的关系。     struct page * buffer_page;    unsigned long buffer_virt;    buffer_virt = get_zeroed_page(GFP_ATOMIC))) {    buffer_page = virt_to_page(buffer_virt);    u

2012-07-26 23:10:42 424

转载 查看vmlinux的符号信息

ld的中文手册:http://www.diybl.com/course/6_system/linux/Linuxjs/2008622/127448.html   这里还有一本书 http://book.51cto.com/art/200904/121018.htm 还不错介绍ELF。 用 xx-objdump 来查看 binary的信息,尤其是调试信息 这几天,一直在研究m

2012-07-26 23:06:47 5002

转载 Linux 内核软中断(softirq)执行分析

http://blog.csdn.net/leopard_ray/archive/2007/11/08/1874148.aspx  今天无意中看了眼 2.6 内核的软中断实现,发现和以前我看到的大不相同(以前也是走马观花,不大仔细),可以说改动很大。连 softirq 的调用点都不一样了,以前是三个调用点,今天搜索了一下源代码,发现在多出了ksoftirqd 这

2012-07-26 23:03:06 1043

转载 Linux内核学习笔记之网卡驱动的详细分析:RTL8139

学习应该是一个先把问题简单化,在把问题复杂化的过程。一开始就着手处理复杂的问题,难免让 人有心惊胆颤,捉襟见肘的感觉。读Linux网卡驱动也是一样。那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏便是理所当然的了。不要担心,事情 总有解决的办法,先把一些我们管不着的代码切割出去,留下必须的部分,把框架掌握了,哪其他的事情自然就水到渠成了,这是笔者的心得。一般在使用的Linux网卡驱动代

2012-07-26 22:58:30 1827

转载 Linux 内核DMA机制

目录[隐藏]12 DMA控制器硬件结构2.1 DMA通道使用的地址2.2 DMA操作函数2.3 DMA映射2.3.1 (1)建立一致 DMA 映射2.3.2 (2)建立流式 DMA 映射2.3.3 (3)分散/集中映射2.4 DMA池2.5 一个简单的使用DMA 例子

2012-07-26 00:13:49 521

转载 关于 如何实践kernel/driver/u-boot ,怎么样按照作者的思路实现自己的代码

给你指一个方向或者说是方法, 可以提高自己编程kernel/driver/u-boot的能力,或者说写code的能力。  举个例子, 比如说 kernel 里面的clock时钟的初始化部分, kernel的代码也不复杂, 但是我们要达到的目标就是 根据datasheet 能自己写出来,而不仅仅能看明白, 好比说 ,会看小说的人,不见得都会写小说, 金庸只有一个。 我们现在就

2012-07-26 00:11:17 937

转载 理解编译预处理

 在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro)"进行处理. C 初学者可能对预处理器没什么概念, 这是情有可原的: 一般的C编译器都将预处理, 汇编, 编译, 连接过程集成到一起了. 编译预处理往往在后台运行. 在有的C编译器中, 这些过程统

2008-03-11 09:05:00 893 1

空空如也

空空如也

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

TA关注的人

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