- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 Android 修炼(3)-------android的linux内核与驱动介绍
Android 驱动主要分为:linux核心和驱动, Android专用的驱动,Android的设备驱动。这里主要介绍的是Android的专用驱动和Android使用到的设备驱动。Android专用驱动:Ashmem Logger Binder能源管理 Android Power Management Low Memory Killer Android PMEM. 1.Ashmem
2012-03-07 19:15:43 1375
原创 Android 修炼(2)--------Android源代码的开发环境
环境是ubuntu 11.04.1.需要安装的软件: dialog automake libtool g++ patch build essential flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev x-dev libx11-dev libncurses5
2012-03-06 18:42:44 902
原创 linux内核定时器--------一个简单的timer的实现
时钟中断由系统的定时硬件以周期性的时间间隔来产生,这个间隔由内核根据HZ来确定,HZ是一个与体系结构无关的常熟,可配置在(50-----200),x86上默认的1000(每秒产生1000次中断)。 当时钟中断时,全局变量jiffies就加1,jiffiies则计算出产生了多少次的中断。如: unsigned long j = jiffies + jit_delay*HZ
2012-03-06 11:17:01 805
原创 Linux内核地址空间
内核空间和进程空间不一样,他是由内核负责映射,不会跟着进程的改变而改变。高端内存指的是物理内存在896以上的部分。内科空间的分布: 直接映射(direct memory region)从3G开始,最大896M的线性地址区间。为直接内存映射。线性地址=3G+物理地址。动态内存映射;
2012-03-05 19:20:07 451
原创 linux 进程地址空间
linux中使用的是虚拟内存管理技术,使每个进程都有独立的进程地址空间,该空间的大小为3G,使得linux系统更为的安全,也能获取更大的空间。linux将4G的虚拟空间划分为两个部分:用户空间和内核空间。用户空间(userspace) 0-----0xbfffffff内核空间(kernel space)3G----4G 而用户进程通常使用的只能是用户空间用户空间和进程是相对应
2012-03-05 17:05:12 588
原创 Linux 内存管理
首先回顾下linux内核的几个主要模块: system interface mmu driver 进程管理 虚拟文件系统 网络协议栈 与cpu相关的一些代码。地址类型: 物理地址, 线性地址(虚拟地址), 逻辑地址。物理地址: cpu地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。逻辑地址: 程序经过编译出现在汇编程序中的地址。线性地址: 在32位cpu架构下, 占用4G
2012-03-05 12:24:44 472
原创 linux 移植的一个机器码不对导致开发板启动不了的问题
Error: unrecognized/unsupported machine ID (r1 = 0x33f5bca8).Available machine support:ID (hex) NAME000000c1 SMDK24100000015b IPAQ-H194000000290 Acer-N300000014b Simtec-BAST000002a8
2012-02-28 11:54:17 966
原创 移植的一些错误解决
linux移植出现以下错误,刚开始没仔细看log信息。后来在最后发现,是block(2,0)分区的问题,查看arch/arm/plat-sc3c24xx/common-smdk.c确实发现分区出现错误。修改好分区重新编译,成功。嘿嘿Start Linux ...Copy linux kernel from 0x00200000 to 0x30008000, size = 0x0
2012-02-28 11:53:42 1024
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人