自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

转载 linux 启动过程分析

<br />1  关于嵌入式系统的启动(SHARE FOR ALL)<br /><br />嵌入式Linux启动分为两个部分,系统引导与Linux启动。系统引导将完成Linux装入内存前,初始化CPU和相关IO设备,并将Linux调入内存的工作。系统引导主要由BootLoader实现。在BootLoader将Linux内核调入内存之后,将权力交给LinuxKernel,进入Linux的启动部分。以下详细分析启动的过程与使用的文件。<br /><br />一、系统引导与BootLoader<br /> 

2011-05-13 13:28:00 491

转载 Arm核920T性能优化之Cache

程序在执行过程中会频繁的运行小范围的循环代码,而这些循环又会对数据存储器的局部区域反复访问。Cache同时使用了时间和空间的局部性原理。如果对存储器的访问受时间影响,在时间上有连续性,则这种时间上密集的访问被称为时间局部性访问;如果多次对存储器的地址访问相近,则这种空间上邻近的访问被称为空间局部性访问。一.存储层次:最顶层:存储层次的最顶层在处理器内核中,该存储器被称为寄存器文件。这些寄存器被集成在处理器内核中,在系统中提供最快的存储访问。一级存储:紧耦合存储器(TCM),一级cache和主存在这一级。二级

2011-05-04 15:31:00 960

转载 内核中的likely和unlikely 转自CSDN-rstevens

<br />在 2.6 内核中,随处可以见到 likely() 和 unlikely() 的身影,那么为什么要用它们?它们之间有什么区别? <br /><br />首先要明确:<br />            if(likely(value)) 等价于 if(value)<br />            if(unlikely(value)) 也等价于 if(value)<br />也就是说 likely() 和 unlikely() 从阅读和理解代码的角度来看,是一样的!!!<br /

2011-04-25 09:25:00 530

原创 ARM cache

<br />About CACHE1. cache introductionA cache is a small, fast array of memory placed between the processor core and main memory that stores portions of recently referenced main memory. The processor uses cache-memory instead of main-memory whenever possib

2011-04-18 19:43:00 846

原创 U-Boot usage

U-Boot源码结构<br /> 在顶层目录下有18个子目录,分别存放和管理不同的源程序。这些目录中所要存放的文件有其规则,可以分为3类。<br /> 第1类目录与处理器体系结构或者开发板硬件直接相关;<br /> 第2类目录是一些通用的函数或者驱动程序;<br /> 第3类目录是U-Boot的应用程序、工具或者文档。<br /> 平台依赖<br />          board: 存放电路板相关的目录文件,例如:RPXlite(mpc8xx)、smdk2410(arm9

2011-04-18 16:15:00 481

原创 awk usage

<br />1.什么是awk? <br /><br />你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。awk是什么?与其它大多数UNIX命令不同的是,从名字上看,我们不可能知道awk的功能:它既不是具有独立意义的英文单词,也不是几个相关单词的缩写。事实上,awk是三个人名的缩写,他们是:Aho、(Peter) Weinberg和(Brain)Kernighan。正是这三个人创造了awk---一个优秀的样式扫描与处理工具。 <b

2011-04-15 19:27:00 962

原创 How to use git in Linux

<br />从仓库中导出文件<br /><br />我们需要将文件从 Git 仓库(隐藏目录中的那些文件)中导出到工作目录中才能开始自己的 hack 过程。下面的命令会在当前目录中写入没有隐藏的目录,其中包含了 Linux 的源代码:<br /><br />$ git-checkout<br /><br /><br />如果您希望覆盖本地修改,可以使用 -f 选项导出文件,这样就可以将您带回到一个干净的状态:<br /><br />$ git-checkout -f<br /><br /><

2011-04-15 19:26:00 760

原创 U-Boot usage

U-Boot源码结构在顶层目录下有18个子目录,分别存放和管理不同的源程序。这些目录中所要存放的文件有其规则,可以分为3类。第1类目录与处理器体系结构或者开发板硬件直接相关;第2类目录是一些通用的函数或者驱动程序;第3类目录是U-Boot的应用程序、工具或者文档。平台依赖 board: 存放电路板相关的目录文件,例如:RPXlite(mpc8xx)、smdk2410(arm920t)、sc520_cdp(x86) 等目录 cpu: 存放CPU相关的目录文件,例如:mpc8xx、ppc4xx

2011-04-15 19:17:00 406

原创 Makefile

Makefile 基本命令: 目标:依赖 命令 #makefile中的命令行必须以单个TAB字符进行缩进 make [ flags ] [ macro definitions ] [ targets ] -c 在读取makefile之前改变到制定目录dir -h help文档 -w 在处理makefile之前和之后都显示工作目录makefile中的宏: $(宏名) ${宏名} $* 不包含扩展名的目标文件名称。 $+ 所有的依赖文件,以空格分开,并以出

2011-04-12 14:18:00 554

转载 Linux kernel coding style

Linux kernel coding style<br /><br />This is a short document describing the preferred coding style for the<br />linux kernel. Coding style is very personal, and I won't _force_ my<br />views on anybody, but this is what goes for anything that I hav

2011-04-08 17:38:00 473

原创 How to use svn in Linux

1、检出文件(checkout)。 使用命令:svn co http://{svn repository url} /destination 然后系统会用当前的用户名登录,提示输入密码,如果第一次密码输入错误,会提示你输入用户名; 输入正确后,就可以检出文件了。2、提交文件(commit)。 进入需要更新的目录,输入命令: svn commit -m path-to-commit,其中path-to-commit可以

2011-04-08 16:13:00 758

原创 How to write a script in Linux

1. 开头    #!/bin/sh 2. 注释    以#开头3. 变量    a = "text"    echo "this is ${a}file"    特殊变量:        $1包含了传递给程序的第一个参数值        $*包含了所有输入命令行的参数值4. 常用命令    echo "some text": 将文字内容打印在屏幕上    ls: 文件列表    wc –l filewc -w filewc -c file: 计算文件行数

2011-04-08 16:12:00 649

原创 vim+cscope

<br />生成索引文件:cscope -Rbkq<br />    -R: 在生成索引文件时,搜索子目录树中的代码<br />    -b: 只生成索引文件,不进入cscope的界面<br />    -k: 在生成索引文件时,不搜索/usr/include目录<br />    -q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度<br /><br />cscope相关命令:<br />    <br />    add   :

2011-04-08 16:10:00 660

原创 some useful Linux commands

<br />cat: function: print file to screen or merger two files examples: cat file1 cat file1 file2 > file3 chmod: function:用于改变文件或目录的访问权限 syntax:chmod [who] [+ | - | =] [mode] filename chmod [mode] filename %数学设定法 option: [who]

2011-04-08 16:09:00 409

原创 How to install chrome on Ubuntu 10.10

just : $sudo apt-get install chromium-browser and      $chromium-browser &

2011-04-02 13:27:00 509

原创 Using semaphore in scull - from ldd3

struct scull_dev {     struct scull_qset *data; /* Pointer to first quantum set */     int quantum; /* the current quantum size */     int qset; /* the current array size */     unsigned long size; /* amount of data stored here */     unsigned in

2011-04-02 11:16:00 305

原创 Implementation of linux semaphore - from ldd3

<br />semaphore : <asm/semaphore.h><br /> <br />create a semaphore:<br />         void sema_init(strct semaphore *sem, int val);  //val: the initial value of semaphore<br /> <br />semaphore is usually used as mutex mode, so it can be defined and initialize

2011-04-02 10:59:00 330

原创 基础驱动相关的3个重要内核数据结构 -from ldd3

file_operation struct file inodefile_operetion:  file_operation 结构是一个字符驱动如何建立这个连接struct module *owner第一个 file_operations 成员根本不是一个操作; 它是一个指向拥有这个结构的模块的指针. 这个成员用来在它的操作还在被使用时阻止模块被卸载. 几乎所有时间中, 它被简单初始化为THIS_MODULE, 一个在 中定义的宏.loff_t (*l

2011-04-02 10:38:00 432

原创 mutex和semaphore的区别

mutex是一个二进制标志,确保在代码关键区(critical section)互相排斥semaphore的计数可以超过1,用于保护多重同类资源,N=1的semaphore称为Binary semaphore一般情况下mutex和Binary semaphore是没有区别的,而在某些系统中会有差异,表现在: mutex一定要由获得锁的进程来释放,而semaphore可以由其他进程来释放,故semaphore可以用于进程间同步 建议mutex用于保护critical section,

2011-04-02 10:19:00 569

how to use awk

this article introduces how to use awk in linux

2011-04-08

空空如也

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

TA关注的人

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