自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

做一个有技术追求的人

但求好事 莫问前程!

  • 博客(13)
  • 资源 (3)
  • 收藏
  • 关注

转载 linux模块参数分析

module_param()理解-------------------------------------------在用户态下编程可以通过main()的来传递命令行参数,而编写一个内核模块则通过module_param()module_param()宏是Linux 2.6内核中新增的,该宏被定义在include/linux/moduleparam.h文件中,具体定义如下:#def

2013-07-30 16:43:23 1192

转载 linux僵尸进程分析

Linux的僵尸进程及其解决方法  1. 产生原因:  在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程。通过ps命令查看其带有defunct的标志。僵尸进程是一个早已死亡的进程,但在进程表(processs table)中仍占了一个位置(slot)。  但是如果该进程的父进程已经先结束了

2013-07-27 14:13:10 1293

原创 linux守护进程实现

守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件。守护进程是一种很有用的进程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。 同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。  守护进程的编程本身并不

2013-07-27 14:00:05 1994

转载 BUG 和BUG_ON

调试的时候很有用的东西:dump_stack 使用前,先在内核配置中把kernel debug选上:make menuconfig:kernel hacking-->kernel debug 作用:一些内核调用可以用来方便标记bug,提供断言并输出信息。最常用的两个是BUG()和BUG_ON()。当被调用的时候,它们会引发oops,导致栈的回溯和错误信息的打印。为什么这

2013-07-25 18:43:50 2074

转载 linux内核spin_lock分析

今天我们详细了解一下spin_lock在内核中代码实现,我们总共分析四个项目: 1.spinlock_t的定义分析:首先来看一下spinlock_t的定义:typedef struct {       raw_spinlock_t raw_lock;#if defined(CONFIG_PREEMPT) &&defined(CONFIG_SMP)       unsig

2013-07-25 16:47:31 1948

原创 Ubuntu下解决bash 没有那个文件或目录的方法

因为之前电脑硬盘坏掉,维修换了新硬盘,今天重新安装了ubuntu,装好之后就赶紧搭建工作环境,将备份的资料拷贝进来,搭建交叉编译环境,但是发现,修改bashrc中PATH绝对路径指向交叉编译器后,在命令行下运行交叉编译器或出现说没有这个文件或者目录,但是按照绝对路径ls看又有这个文件,很是奇怪。后来找到问题,这次安装的系统是64位的,而这些编译环境都是32位的程序,因此需要安装对32位程序的支

2013-07-24 00:05:04 11005 1

原创 linux内核VFS虚拟文件系统总结

最近手里有一个项目需要写一个简单的文件系统,利用周末时间把深入理解linux内核书第十二章虚拟文件系统学习了一下,加深了对vfs的理解,这里也做一下总结,以备后查。  linux成功的关键因素之一就是它与其他操作系统和谐共存的能力,在linux下可以安装挂载很多格式的文件系统,之所以能实现就是通过虚拟文件系统这一中间系统层,虚拟文件系统的主要思想是引入了一个通用文件模型,它能够表示所有的文件系

2013-07-21 11:34:19 4308 2

原创 使用udev修改u盘设备文件名

udev的规则的编写,我这里就不说了,大家可以在udev的文档中可以了解,有时间的话我在安排一章在说明udev 的规则了。      下面是我要做的一个测试,我的系统是ubuntu9.10,我有一个usb优盘,是kinston的4G的优盘。       运行:           sudo fdisk -l       看下我的优盘的情况,如下图:     

2013-07-18 19:54:10 6185 1

转载 udev的自定义规则

自2.6 核心开始,就可以使用udev 协助管理系统中各设备名称。例如,磁盘设备排序、网卡设备排序等。udev能动态地在/dev 目录里产生自定义的、标识性强的设备文件或设备链接。本文即以红旗Asianux 3.0 平台,给新加载的U盘设备自定义一个链接为例进行简要说明。一、关于udev2.4 内核使用devfs(设备文件系统)在设备初始化时创建设备文件,设备驱动程序可以指定设备号、所

2013-07-18 19:52:47 10067

转载 linux下udev简介

一.关于Udevu即user space,dev是device,通过它的名字,我们就可以简单了解到,它是一个和用户态相关的驱动设备管理机制。udev是一个针对2.6内核的文件系统。提供一种基于用户空间的动态设备节点管理和命名的解决方案。用于取代落后的devfsudev与硬件平台无关,属于用户空间的进程,是一个后台程序,它脱离驱动层的关联,而建立在操作系统之上,只要修改配置文件使之生效,无需

2013-07-18 11:18:08 3584 1

转载 udev详解

如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略。在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev目录下。后来,采用了devfs,一个基于内核的动态设备文件系统,他首次出现在2.3.46 内核中。Mandrake,Gentoo等Linux分发版本采用了这种方式。devfs创建的设备文件是动态的。但

2013-07-17 18:58:12 3163

原创 linux内核链接脚本详解

1. 什么是链接脚本链接器主要有两个作用,一是将若干输入文件(.o文件)根据一定规则合并为一个输出文件(例如ELF格式的可执行文件);一是将符号与地址绑定(当然加载器也要完成这一部分工作)。关于链接器的工作机制可以参考《Linker and Loader》一书,本文只关心它的第一个功能,即如何根据一定规则将一个或多个输入文件合并成输出文件。这里的“一定规则”是通过链接脚本描述的。链接器有一个编

2013-07-10 23:46:39 12890

转载 嵌入汇编基本语法

具有输入和输出参数的嵌入式汇编语句的基本格式为:             asm("汇编语句"                      :输出寄存器                      :输入寄存器                      :会被修改的寄存器);       除第一行以外,后面带冒号的行若不使用就都可一省略。其中 “asm” 是内联汇编语句关键词。"汇

2013-07-05 10:23:19 1619

ARMV7架构官方手册

ARMV7架构的官方datasheet,详细介绍armv7架构处理器的各个模块设计细节

2016-05-25

ARM体系架构详细的官方说明手册

ARM架构的官方说明手册,其中详细介绍了ARM处理器核各个模块的详细设计和原理,非常适合嵌入式工程师使用

2016-05-25

空空如也

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

TA关注的人

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