arm-linux

http://armboard.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  512 随笔 :: 0 文章 :: 48 评论 :: 115万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

07 2011 档案

摘要:本章和第5章的内容都与ARM处理器中CP15协处理器的寄存器有密切关系,所以我们这里先介绍一下CP15寄存器以及访问CP15寄存器的汇编指令。4.1.1 访问CP15寄存器的指令访问CP15寄存器指令的编码格式及语法说明如下:31 2827 2423 212019 1615 1211 87 543 0cond1 1 1 0opcode_1Lcr nrd1 1 1 1opcode_21crm说明::协处理器行为操作码,对于CP15来说,永远为0b000,否则结果未知。:不能是r15/pc,否则,结果未知。:作为目标寄存器的协处理器寄存器,编号为C0~C15。:附加的目标寄存器或源操作数寄存器,如 阅读全文
posted @ 2011-07-27 11:33 arm-linux 阅读(725) 评论(0) 推荐(1) 编辑

摘要:by沈东良/良少http://blog.csdn.net/shendl C99标准定义了一个新的关键字_Bool,提供了布尔类型。以前,C程序员总是使用自己的方法定义布尔类型。 0表示false,非0表示true。 可能使用char类型表示一个布尔类型,也可能使用int类型表示一个布尔类型。 很多函数库都定义了自己的布尔类型和相应的宏,枚举,typedef。 现在C99把C语言原生的布尔类型带来了。#include<stdbool.h>这个头文件定义了bool,true,false... 阅读全文
posted @ 2011-07-19 21:32 arm-linux 阅读(9150) 评论(0) 推荐(1) 编辑

摘要:by沈东良/良少http://blog.csdn.net/shendl2011.07.19系统初始化时kernel_init在内核态创建和运行应用程序以完成系统初始化 内核刚刚启动时,只有内核态的代码,后来在init过程中,在内核态运行了一些初始化系统的程序,才产生了工作在用户空间的进程。/* This is a non __init function. Force it to be noinline otherwise gcc736 * makes it inline ... 阅读全文
posted @ 2011-07-19 21:03 arm-linux 阅读(1012) 评论(0) 推荐(0) 编辑

摘要:Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠,可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的,超时的锁会在时间过去以后自动解锁. 如果没有锁了或者超时了, 内核就会启动休眠的那套机制来进入休眠.(一).内核维护了:1).两个链表,active_wake_locks[WAKE_LOCK_TYPE_COUNT] active_wake_locks[0]维护的是suspend lock. active_wake_locks[1]维护的是idle lock.2).一个链表,inactive_locks来记录所有处于inactive状态的锁. (二). 阅读全文
posted @ 2011-07-15 11:36 arm-linux 阅读(6101) 评论(0) 推荐(0) 编辑

摘要:By沈东良(良少)http://blog.csdn.net/shendl Linux内核的实现,大量使用了数据结构,包括了数组、链表和散列表。其中用的最多的是双向循环链表。Linux内核使用的是自己定义的链表和散列表,简单而高效,使用方法也非常的别具一格。 研究Linux内核的链表和散列表对于看懂Linux内核源代码有重要的意义。本文基于kernel2.6.39版本进行分析。Linux的链表和散列表定义在include... 阅读全文
posted @ 2011-07-14 11:37 arm-linux 阅读(1736) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示