- 浏览: 320489 次
- 性别:
- 来自: 杭州
最新评论
-
unflynaomi:
跪谢,写的很好!
由于GNU Make中文手册触发深入理解sed -
TrueBrian:
引用引用引用引用引用引用引用引用引用引用引用引用引用引用引用引 ...
Java Class文件解析 -
woniu1983:
好像说 Live 本身就是安装好的一个介质, 只要能引导进去就 ...
VMware上安装Fedora 12的流程 -
freesoftman:
是的, 从eclipse的调试过程,你可能很清楚的看出这点
Object中的wait(), notify(), notifyAll()的自己一些看法 -
2022228:
你要释放某个锁,必须首先是获得了这个锁。所以必须写在同步快中。 ...
Object中的wait(), notify(), notifyAll()的自己一些看法
文章列表
might_sleep(): 指示当前函数可以睡眠。如果它所在的函数处于原子上下文(atomic context)中(如,spinlock, irq-handler…),将打印出堆栈的回溯信息。这个函数主要用来做调试工作,在你不确定不期望睡眠的地方是否真的不会睡眠时,就把这个宏加进去。
来自于: http://blog.csdn.net/arethe/article/details/6079307
在arm系统中,对cpu核的设计。使用了位技术变量来代表每个cpu的使用情况。
但是这里考虑到多核对同一变量的设置,因为有了多核访问,于是乎就需要防止冲突的机制。真样产生了特殊情况的操作位接口--> macro bitop, name, instr。
使用汇编的形式来完成。主要的技术,是arm arch6中的strex, ldrex。
STREX指令的英文解释如下:
STREX (Store Register Exclusive) performs a conditional store to memory. The store only occurs if theexe ...
ARM中有两条指令用于在状态寄存器和通用寄存器之间传送数据。
针对32位的ARM处理器,状态寄存器就是一个32位长的寄存器。每个位的含义如下图:
分成了4部分:
1,条件标志位
N(Negative), Z(Zero), C(Carry), V(Verflow)统称为条件标志位。ARM指令可以根据CPSR中的这些条件标志位来选择性的执行。
2,Q标志位
ARM v5的E系列处理器中,CPSR的bit[27]称为Q标志位。主要用于指示增强的DSP指令是否发生了溢出。
3,控制位
I, F, T以及M[4:0]统称为控制位。当异常中断发生时,这些位发生变化。在特权级的处理器模 ...
从Linux代码反思整形以及无符号整形变量的知识
- 博客分类:
- C语言
从Linux代码反思整形以及无符号整形变量的知识
今日,在分析Linux调度器的过程中。
在sched.c中的init_cfs_rq中,看到了如下一条奇怪的赋值语句。
static void init_cfs_rq(struct cfs_rq *cfs_rq, struct rq *rq)
{
cfs_rq->tasks_timeline = RB_ROOT;
总算通过了nfs的localhost测试。
配置很简单,下面摘自网络,并且整理下:
1 安装nfs
#apt-get install nfs-kernel-server
#apt-get install nfs-common
2 配置/etc/exports
在文本末添加
#/root/nfs_root *(rw,sync,no_root_squash)
#chmod 777 -R /root/nfs_root
可以使用showmount -e来查看当前的配置是否已经生效
#showmount -e
Expo ...
Ubuntu 11.04配置tftp的辛酸历史
- 博客分类:
- Linux
最近买了块mini2440的开发板。
打算使用kgdb来调试下内核。于是乎开始配置tftp,搜索了众多网址。
发现没有一个是可以成功的。没有附带上ubuntu的版本不同需要的tftp的配置也不同。
好不容易在http://blog.chinaunix.net/space.php?uid=24810608&do=blog&id=159447找到了解决方案。
同时,非常感谢dfhf2007.接下来,我把自己的安装步骤总结一下:
安装tftp服务器的主要软件包有tftp-hpa与tftpd-pad。
tftp-hpa是客户端,tftpd-hpa是服务器端。
...
ARM汇编中LDR与LTORG的关系
- 博客分类:
- arm汇编
看了arm汇编语言语法一个多月了。总算入门了。当然还有很多东西值得继续努力推敲滴。
最近对LDR与LTORG有了一些新的认识。
LDR是一个比较复制的指令。作用是从存储器到寄存器的单一数据读取指令。它有19条指令格式。
其中有两条格式为宏指令(macro),格式如下:
1,LDR<cond><type>Rd,<label>
2,LDR<cond> Rd,=<32-bit-value>
这里重点分析下第二条宏指令。它会被编译器编译成一条指令,把给定的32位数值保存到寄存器Rd.通常这掉指 ...
最近由于要分析Uboot的代码。
于是乎,再一次开始复习《GNU Make中文手册》()
第一次看这本手册是在快一年前的事情了,当时是啥都不懂。一头雾水。
这次细细品味的时候,发现收获颇多。建议初学者去多看看。
今 ...
1 GNU ARM 汇编快速入门,http://blog.chinaunix.net/u/31996/showart.php?id=326146
2 ARM GNU 汇编伪指令简介,http://www.cppblog.com/jb8164/archive/2008/01/22/41661.aspx
3 GNU汇编使用经验,http://blog.chinaunix.net/u1/37614/showart_390095.html
4 GNU的编译器和开发工具,http://blog.ccidnet.com/blog-htm-do-showone-uid-34335-itemi ...
有关内核的书籍可以用汗牛充栋来形容,不过只有一些经典的神作经住了考验。首先是5本久经考验的神作。《Linux内核设计与实现》
简称LKD,从入门开始,介绍了诸如进程管理、系统调用、中断和中断处 ...
今天在看《Linux设备驱动程序》里面的第十五章“内存映射和DMA”
里面的一大堆地址类型弄得我云里去雾里来的。
如:
用户虚拟地址
物理地址
总线地址
内核逻辑地址
内核虚拟地址
linux这个操作系统真是事情多啊,地址都搞这么多名堂的。我以前对地址的理解就是:
逻辑地址:相对于进程4G空间来说的,为了隔离物理地址与程序直接交互,减轻程序员的负担。通过段映射,页映射可以转换成物理地址。
物理地址:就是CPU通过地址总线发送的信号,可以连接到实际内存。
虚拟地址:就是为了在小内存的系统中运行大的应用程序而出现的一种机制。这里就牵涉到了页中断,就是在某个 ...
实在是令我很郁闷的事啊。
去年用了两天的时间恶补了一下变参,今天看到变参。发现头脑一篇空白,啥都不知道了。
古人有云:温故而知新。今日我就在看一遍,做个笔记了。
在
C
语言中,函数参数的
传递方式有值传和址传
.
值传是把实参的一个专用的、临时的复制值给被调函数中相应的形参
被调用函数使用、修改这个传来的复制值,不会影响实参的值
.
址传则
是把变量
(
实参
)
的地址传给被调函数
.
被调函数通过这个地址找到该变量的存放位置,直接对该地址中存放
的变量的内容进行存取操作
.
无论是值传还是址传,都要求实参的数目及类型与形参
要完 ...
offsetof的原型为:
size_t offsetof(type, member);
DESCRIPTION
The macro offsetof() returns the offset of the field member from the
start of the structure type.
This macro is useful because the sizes of the fields that compose a
...
近日,一直忙于android的研究。好久没有记录点什么了
今天在分析binder的时候,看到了一个函数,mmap, 这个函数以前看过很多遍,但是没有
一次真正去深入了解它, 今天就开始深入了解一下了。
以下来自于网络:
-------------------------
Linux提供了内存映射函数mmap, 它把文件内容映射到一段内存上(准确说是虚拟内存上), 通过对这段内存的读取和修改,
实现对文件的读取和修改, 先来看一下mmap的函数声明:
头文件:
<unistd.h>
<sys/mman.h>
原 ...
最近正在转向Linux的环境开发。装了一个openSUSE。呵呵,是我最敬仰的Boss热爱的Linux版本。
So我打算在该平台上搭建android源代码开发平台。
研究Linux内核将近半年了,玩linux Os也有1年。但都是陆陆续续的进行。
今天就碰到了一个很基础的问题。在安装gnupg的时候,进入目录!发现里面的文件有各种颜色,如何来区分文件的属性以及是否可执行呢。
调用ls -l属性,如图:
ls命令的-l属性显示文件的详细信息,其中包括权限。
执行ls -l 或 ls -al 命令后显示的结果中,最前面的第2~10个字符是用来表示权限。第一个字 ...