- 博客(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
1374
原创 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
901
原创 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
586
原创 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) NAME 000000c1 SMDK2410 0000015b IPAQ-H1940 00000290 Acer-N30 0000014b Simtec-BAST 000002a8
2012-02-28 11:54:17
958
原创 移植的一些错误解决
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
1018
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人