自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编译XT720 gingerbread

在android根目录下执行". build/envsetup.sh",然后执行lunch,选择你要的套餐,然后直接make。编译中有3处错误:1.packages/apps/CMStats/Android.mk中把LOCAL_STATIC_JAVA_LIBRARIES := libGoogleAnalyticsV2注释掉packages/apps/CMStats/src/co...

2013-05-04 11:18:57 289

原创 编译XT720 2.3.7的kernel

这是XT720的kernel地址:https://github.com/CyanogenModXT720/android_kernel把其中的xt720分支拷贝下来[color=darkred]git clone https://github.com/CyanogenModXT720/android_kernel.git -b xt720[/color]进入其目录[color=...

2013-04-18 11:07:00 291

原创 关于2的补码

from : http://www.ruanyifeng.com/blog/2009/08/twos_complement.html问一个基本的问题。负数在计算机中如何表示?举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢?很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就表示正数,等于1时就表示负数。比如,在8位机中,规定每个字节的最高位...

2013-04-16 11:40:37 389

原创 编译mx 内核成功

转 : http://hi.baidu.com/_xiaxiaowen_/item/a14c51ff4ad1193dce9f329a昨天编译android 4.0.1,想不到成功了,,想到mx也把内核源代码放出了,所以干脆把mx kernel也编译下,其中会出现几处错误,步骤如下:我是在ubuntu 12.04 下编译的,其他版本应该也适合,不过要把那些交叉环境的库装好,这个百度交叉编...

2013-03-18 17:48:13 258

原创 一个对操作系统有浓厚兴趣的Android开发人员

hi,我是今年6月刚毕业的普通本科,在大学期间我也算是蛮努力地学习的,英语6级,也参加了acm的比赛,但由于实力不足,没能拿到名次,不过也学习了很多,对算法和数据结构有了进一步的了解,那时觉得那些底层没什么用,汇编,编译器什么的上课都没听,那时我将android定为毕业的一条出路,目前也如愿以尝在一家小公司从事android应用开发工作,但是慢慢的我发现自己对操作系统,计算机体系结构,cpu等底层...

2012-12-09 12:05:44 158

原创 NVRAM 非易失性随机访问存储器 (Non-Volatile Random Access Memory)

NVRAM 非易失性随机访问存储器 (Non-Volatile Random Access Memory),是指断电后仍能保持数据的一种RAM。  如果通俗地解释非易失性存储器,那就是指断电之后,所存储的数据不丢失的随机访问存储器。  之所以加如此的定语,是因为:  1.与此对应的随机访问存储器(Random Access Memory,RAM)包含SRAM和DRAM(其又分为SDRAM,...

2012-12-08 09:16:15 2576

原创 睡眠和休眠有什么区别?

到底用睡眠和休眠,还是直接关机的问题,争论颇多,大家各有各的观点和立场。在此对这个问题,简要分析一下可能涉及到的几个方面。在大部分情况下使用睡眠和休眠就可以了,重启和关机是在极少数情况下使用的,比如安装了新软件要求重启,或者系统出现了严重故障。下面从几个方面来说这个问题,这里默认了一个前提,就是你的主板支持s3待机。究竟哪些主板支持?我家有台老爷机,2001年买的,它都支持,我想不必再多...

2012-12-08 01:01:39 445

原创 S3C6410的启动

废话不多说,去年折腾了一年s3c2440的板子,今年自己又买了一块s3c6410的板子,从今天开始,进行裸机驱动的开发,本文开始第一篇,启动代码的编写,注意,仅仅是启动代码,并不是bootloader,因为只有boot,没有loader。       第一要明确:CPU上电之后,会从某个固定地址执行指令。ARM结构的CPU从地址0x00000000开始执行指令,MIPS结构的CPU将会从...

2012-12-06 17:46:41 133

原创 什么是watchdog + 为何在要系统初始化的时候关闭watchdog

什么是watchdog + 为何在要系统初始化的时候关闭watchdog 关于Uboot初始化阶段,在start.S中,为何要去关闭watchdog,下面解释具体的原因:1.什么是watchdog嵌入式系统之WATCHDOG(看门狗)概述http://wenku.baidu.com/view/e5cd52ff04a1b0717fd5dd27.html简要摘录如下:watchd...

2012-12-06 17:09:02 683

原创 ubuntu下面找不到ZTE V880设备

两种方法:第一种方法是你连上你的手机,重启电脑,再adb devices就可以,此时你lsusb看到的设备号是19d2:1350;但是当你再拨掉时就又不行了,此时lsusb看到的设备号是19d2:0083。第二种方法是进入拨号,输入*983*87274#,然后点击一下最上面的All functions,弹出授权,同意,然后退出就可以了,以后再也不受限制了。两种方法都不用设置udev的规则文件,都可...

2012-12-06 16:22:35 150

原创 arm的7种执行模式

ARMv4以上版本的CPU任何时刻必定处于如下7种执行模式之一:     (1) User Mode:用户模式。操作系统的Task一般以这种模式执行。User Mode是ARM唯一的非特权模式,这表示如果CPU处于这种模式下,很多指令将不能够执行,因此操作系统的资源得以保护。     (2) System Mode:这是V4及其以上版本所引入的特权模式。、     (3) IRQ Mode:中断模...

2012-11-30 21:26:02 174

原创 MMU结构以及工作原理

MMU的大名,早就听说了,可是一直不知道它是怎么工作的,前几月貌似看的模模糊糊,现在快年关了,来做个了结。在文中我会大量引用英文,并且不做翻译,因为俺觉得我的英文水平会误解别人。O(∩_∩)O哈哈~     One of the key services provided by an MMU is the ability to manage tasks as indepen-dent pro...

2012-11-25 00:15:56 410

原创 Thread-Specific Data 注:相当于线程内的全局变量,可减少线程内调用其他函数的变量数 ...

Linux多线程编程中引入了Thread-Specific Data(线程相关的数据)的概念   为什么需要"线程相关的数据"呢?怎样使用"线程相关的数据"呢?   1. 为什么需要Thread-Specific Data "线程相关的数据"   例子:实现同时运行两个线程,对于每个线程,在该线程调用的每个函数中打印线程的名字,以及它正在调用的函数的名字.   不使用"线程相关的数据"的两种实现方...

2012-11-18 01:20:27 142

原创 linux下socket编程实例

一、基本socket函数Linux系统是通过提供套接字(socket)来进行网络编程的。网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符。socket也有一个类似于打开文件的函数:socket(),调用socket(),该函数返回一个整型的socket的描述符,随后的连接建立、数据传输等操作也都是通过该socket实现。1、socket函数syntax:   in...

2012-11-13 12:03:48 155

原创 简单的RPC编程实践——HelloWorld的实现

近期课程的作业需要用到RPC编程,除了课堂上学到的知识,还得亲自动手。打算先写个简单的HelloWorld练习一下,顺便复习一下学到的知识。  RPC意为远程过程调用协议(Remote Procedure Call Protocol)。编制好单机应用程序,然后划分为两个或多个程序片,加入通信协议使得每片可以在单独的计算机上运行。从一个程序片调用另一个程序片的过程称为远程过程调用,即RPC...

2012-11-13 01:39:59 150

原创 L4操作系统(L4/Fiasco介绍)

  我们学习操作系统课程的时候,一直在讲微内核,说什么“微内核是现代操作系统的主流”(时间太久,记不清了,如果说错了,不要拍我)。可是事实上,真正进入工业级别应用的微内核操作系统并不多,Microsoft的系统虽然宣称是微内核,但是应该不是,因为从来没有见过一个人可以把XP或者2000系统裁减到50M以内(95/98可以做小,这个可以从网络搜索到相关资料,但是它们是DOS的封装,这里不谈)。...

2012-11-11 01:36:48 490

原创 微内核(microkernel)相关

from : http://www.yandong.org/archives/191介绍WIKI上的解释是:在计算机科学中,微内核是一个近乎最小的软件集合,但具有能够提供实现操作系统所需的机制。 In computer science, a microkernel is the near-minimum amount of software that can provid...

2012-11-10 22:50:36 363

原创 Linux模块编程

Linux模块简介 首先这个module不同于microkernel的module,microkernel的module是一个个的daemon进程,工作于用户 空间,Linux的module只是一个内核的目标代码,内核通过执行运行时的连接,来把它整合到kernel中去,所以说Linux的module机制 并没有改变Linux内核为monolithic OS本质,其module也是工作...

2012-11-10 12:38:58 128

原创 这场官司让BSD错过了机会,让linux在应用广泛度上超越了它

70年代末,在Unix发展到了版本6之后,AT&T认识到了Unix的价值,成立了Unix系 统实验 室(Unix System Lab,USL)来继续发展Unix。因此AT&T一方面继续发展内部使 用的Unix 版本7,一方面由USL开发对外正式发行的Unix版本,同时AT&T也宣布对Unix产品拥有 所有 权。几乎在同时,加州大学伯克利分校计算机系统研究小组(CSRG)使...

2012-11-10 00:50:14 667

原创 printk与syslog(至少在Redhat中是这样的)+Ubuntu下用最简单的读到/proc/kmsg

在头文件 <linux/kernel.h> 中定义了 【8种可用的日志级别字符串】KERN_EMERG    用于紧急事件消息,它们一般是系统崩溃之前提示的消息。KERN_ALERT    用于需要立即采取动作的情况。KERN_CRIT     临界状态,通常涉及严重的硬件或软件操作失败。KERN_ERR      用于报告错误状态;设备驱动程序会经常使用KERN_ERR来报告来...

2012-10-12 01:00:53 144

原创 关于Linux的syslog

内核中printk发出的消息是这样传递到用户空间的。内核留给用户空间的接口是syslog(2),glibc对它进行了包装,于是就有了klogctl(3)和syslog(3)。先由klogd通过klogctl(3)搜集内核消息(见sysklogd/klogd.c),并通过自己实现的syslog()(注意:和syslog(2),syslog(3)都不一样)传递给 syslogd。sysl...

2012-10-12 00:59:57 202

原创 LINUX下三个内核文件详解

在网络中,不少服务器采用的是Linux系统。为了进一步提高服务器的性能,可能需要根据特定的硬件及需求重新编译Linux内核。编译Linux内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要的文件。比如对于RedHatLinux,在/boot目录下有一些与Linux内核有关的文件,进入/boot执行:ls –l。编译过RedHatLinux内核的人对其中的System.map、v...

2012-10-11 23:45:20 164

原创 主存与Cache的地址映像

在线课件:http://210.44.176.183/jsjxy/jsjzcyl/%E6%95%99%E5%AD%A6%E8%AF%BE%E4%BB%B6/Chap03/3.5.2.htm与主存容量相比,Cache的容量很小,它所保存的信息仅是主存信息的一个子集,且cache与主存的信息交换是以块为单位。为了把信息放到Cache中,必须事先规定好主存与cache之间的地址映像方式,即某一个Ca...

2012-10-02 20:14:46 591

原创 Android中解决图像解码导致的OOM问题

http://7dot9.com/2011/08/android%E4%B8%AD%E8%A7%A3%E5%86%B3%E5%9B%BE%E5%83%8F%E8%A7%A3%E7%A0%81%E5%AF%BC%E8%87%B4%E7%9A%84oom%E9%97%AE%E9%A2%98/在上一篇博文Android Bitmap内存限制中我们详细的了解并分析了Android为什么会在Dec...

2012-10-01 18:41:53 103

原创 Linux 2.6.32的内核栈和用户空间栈关系

.进程的堆栈内核在创建进程的时候,在创建task_struct的同事,会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存器里面的内容是内核栈空间地址,使用内核栈。2.进程用户栈和内核栈的切换 当进程因为中断或...

2012-10-01 00:26:55 353

原创 Linux 内核堆栈

所有进程(包括内核进程和普通进程)都有一个内核栈,在x86的32位机器上内核栈大小可以为4KB或8KB,这个可以在编译内核的时候配置。内核栈的用 途有两个:1)当进程陷入内核态,即内核代表进程执行系统调用时,系统调用的参数就放在内核栈上,内核栈记录着进程的在内核中的调用链;2)在内核栈被配 置成8KB大小的情况下,当中断服务程序中断当前进程时,它将使用当前被中断进程的内核栈。对于用户进程,其...

2012-10-01 00:25:34 118

原创 linux内核栈与用户栈

http://19880512.blog.51cto.com/936364/274610最近linux内核的中断部分,总是被书里的栈弄晕,一会儿内核栈,一会儿用户栈的……很是崩溃,在网上google了一下 找了一篇不错的文章拿来分享。 5.8 Linux 系统中堆栈的使用方法本节内容概要描述了Linux内核从开机引导到系统正常运行过程中对堆栈的使用方式。这部分内容的说明与...

2012-10-01 00:24:43 190

原创 Debian 6 驱动开发环境搭建

Debian 6 驱动开发环境搭建1.安装相关工具apt-get install -y gcc g++ gdb make build-essential2.查看系统版本,并安装内核头文件root@192.168.20.128:~/ # uname -r2.6.32-5-686apt-cache search linux-headers-2.6.32-5-686apt-get install -y ...

2012-09-29 15:33:44 223

原创 linux-kernel mail list订阅

由于linux-kernel 的mail list中邮件很多,有时一天会有好几百封,所以最好单独申请一个邮箱用来接受 第一步  请求订阅用刚申请的邮箱发送一封邮件到majordomo@vger.kernel.org,主题自己定义(我一般用一个hello),内容为:subscribe linux-kernel下面这个是我的申请邮件:From:  "qiang wang"...

2012-09-28 12:02:06 5092

原创 unix Mechanism vs Policy(机制与策略)

http://blog.youkuaiyun.com/ostrichmyself/article/details/5333558http://blog.youkuaiyun.com/liuhaobupt/article/details/5350950http://linux.chinaunix.net/techdoc/beginner/2006/06/06/933913.shtml Unix文化...

2012-09-27 13:12:21 1130 1

原创 Linux 最简单的驱动程序hello world

http://blog.sina.com.cn/s/blog_6035432c0100jraf.html最近开始学Linux驱动,就从最简单的开始练起,就从LDD-3里的第一个驱动程序hello world练起。 The following code is a complete "hello world" module:#include <linux/init.h&gt...

2012-09-26 23:27:19 211

原创 编译linux驱动方法

最近在学习linux的驱动,之前做嵌入式实验的时候加载驱动模块都是.o文件,但是现在发现很多驱动模块都是.ko文件,于是上网查了一下两者的区别,现在贴出来,和大家一起分享。  .o文件也就是object文件,.ko文件是kernel object文件,与.o的区别在于其多了一些sections,比如.modinfo。.modinfo section是由kernel source里的mod...

2012-09-26 23:10:37 124

原创 Linux设备号,主设备号,次设备号

Linux的设备管理是和文件系统紧密结合的,把设备和文件关联起来,这样系统调用可以直接用操作文件一样的方法来操作设备。各种设备都以文件的形式存放在/dev目录下,称为设备文件。应用程序可以打开、关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样。为了管理这些设备,系统为设备编了号,每个设备号又分为主设备号和次设备号。主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个...

2012-09-26 22:48:27 1344

原创 满二叉树及完全二叉树的定义

满二叉树:除了叶节点,每个父亲节点都有两个子树的,满满的二叉树完全二叉树:所有节点集中在树左边的二叉树,就是说除了叶节点,每个节点都只有左节点或者有两个节点,而没有只有右节点情况 深度为K,有N个结点的二叉树当且仅当其每一个结点都与深度为K的满二叉树中编号从1-N的结点一一对应时,成为完全二叉树。举例说明,深度假设为3. 满二叉树是这样的. (见图1)这6个节点,按先横后竖的方法把这个二叉树的...

2012-09-25 10:39:02 350

原创 LINUX进程, 线程

http://shaohui.me/archives/256 N久之前, 某两人为了linux的调度基本单元是进程还是线程争得面红耳赤, 当然, 且不论为了一个技术问题不顾体面其用心何在, 单纯从技术角度讲, 这是个挺好的问题.    单纯的下一个结论几乎总是错误的, 所谓的对与错也只不过是在特定的时段和特定的场景下符合规律的一种状态, 一旦时过境迁, 对的东西往往变成了错误的, 而...

2012-09-08 12:55:25 115

原创 linux线程浅析

http://hi.baidu.com/_kouu/item/282b80a933ccc3a829ce9dd9关于linux线程在许多经典的操作系统教科书中, 总是把进程定义为程序的执行实例, 它并不执行什么, 只是维护应用程序所需的各种资源. 而线程则是真正的执行实体. 为了让进程完成一定的工作, 进程必须至少包含一个线程. 如图1.进程所维护的是程序所包含的资源(静态资源), 如: 地...

2012-09-08 12:32:16 106

原创 Linux进程-进程的创建

今天学习了Linux的进程创建的基本原理,是基于0.11版本核心的。下面对其作一下简单的总结。一、Linux进程在内存中的相关资源   很容易理解,Linux进程的创建过程就是内存中进程相关资源产生的过程,那么Linux进程在内存中有哪些相关资源呢?   1)task数组中的一项:一个指针指向进程的task_struct   2)一页内存:task_struct(Linux进程控制块)和内核态堆栈...

2012-09-07 23:07:03 178

原创 Byte位元组单位-KB KiB MB MiB GB GiB区别

一般而言大部份都只知道KB、MB、GB、TB…等, 倒是沒聽過KiB、MiB…等, 現在搞懂, 原來分為以1000位元組或用1024位元組來計算之.這就是為什麼我們平時買硬碟或隨身碟的容量與實際真實的容量不同, 像是我了8GB的隨身碟, 實際為8,304,717,824位元組(byte), 但實際顯示確只有7.73GB, 為什麼呢? 因為電腦是用1024位元組來計算, 以83047178...

2012-09-04 16:48:01 2761

原创 内存分段机制

转:http://book.51cto.com/art/200812/103305.htm在内存分段系统中,一个程序的逻辑地址通过分段机制自动地映射(变换)到中间层的4GB(232B)线性地址空间中。程序每次对内存的引用都是对内存段中内存的引用。当程序引用一个内存地址时,通过把相应的段基址加到程序员看得见的逻辑地址上就形成了一个对应的线性地址。此时若没有启用分页机制,则该线性地址就被送到...

2012-09-03 09:24:13 265

原创 Linux内核学习之分段机制

转:http://www.linuxidc.com/linux/2008-10/16740.htmX86分段机制    这里讲的分段指的保护模式(protected mode)下的段机制。与保护模式相对的一个概念是实模式(real mode),实模式的地址由“段基址:偏移量”组成,段基址是个16位的寄存器(CS,DS等),这样显然限制了系统的寻址空间。保护模式的地址由“段选择子+偏移...

2012-09-03 09:21:33 158

空空如也

空空如也

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

TA关注的人

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