Linux内核源代码分析
文章平均质量分 80
crosskernel
谁吾与醉
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
s5pv210 uboot 源码分析 笔记版 转载请注明出处---crosskernel@gmail.com
Uboot二进制镜像分析:在文件board/samsung/smdkc110/config.mk里面定义了uboot的基地址:TEXT_BASE = 0xc3e00000在文件board/samsung/smdkc110/u-boot.lds里面定义了uboot链接格式:OUTPUT_FORMAT("elf32-littlearm", "elf32-litt原创 2014-03-13 14:21:12 · 2312 阅读 · 0 评论 -
卷一 内核源代码分析 第二章 异常 2.2.3 Exynos4的中断体系 图书试读版-请勿转载
作者 crosskernel@gmail.com2.2.3 Exynos4的中断体系三星,ARM处理器界的新王者,近年来抢先实现每一代ARM处理器,而且通过手机处理器与其庞大硬件产业链的有机整合成为Apple的最有力对手。第一次将三星与高性能手机处理器联系起来的是其S5PV210,凭借超出同级处理器一倍的L2 Cache,S5PV210成为当时跑的最快的CA8 ARM。紧接原创 2014-03-14 10:03:54 · 1419 阅读 · 0 评论 -
卷一 内核源代码分析 第二章 异常 2.2.1 cortex A9多核处理器的中断控制器GIC---2.2.2 Mt6577的中断体系 图书试读版-请勿转载
作者 crosskernel@gmail.com2.2.1cortex A9多核处理器的中断控制器GIC对于多核处理器来说,中断有着新的使命---处理器间通信,在CA9以前,每种SOC的中断控制器是自己实现的,但是到了CA9 SMP以后,中断控制器成为了ARM规范的一部分,各家的处理器都遵循arm 中断控制器GIC规范:《IHI0048A_gic_architecture_spec》。其中原因在于,对于非SMP的架构,中断控制器就是原创 2014-03-14 10:00:28 · 3173 阅读 · 0 评论 -
卷一 内核源代码分析 第一章 linux内核对cortex A9多核处理器的支持 1.1 CPU的基本管理 图书试读版-请勿转载
1 多核处理器计算性能是处理器演进的第一动力,然而,尽管各种架构的高性能处理器层出不穷,真正大规模普及开来的似乎只有Intel和ARM体系。我们观察其中的现象不难发现如下规律:如果处理器性能得到大幅改善,但是无法得到现有主流操作系统的支持,就无法大规模应用。进一步来讲,即使某种处理器得到主流操作系统的支持,但是由于其指令集的不兼容性,导致大量的应用无法运行,这种处理器也是难以普及的原创 2014-03-13 14:43:00 · 1850 阅读 · 0 评论 -
卷一 内核源代码分析 第二章 异常 2.2.4 OMAP4的中断体系 图书试读版-请勿转载
作者 crosskernel@gmail.com2.2.4 OMAP4的中断体系 尽管已经宣布推出手机市场,但是作为移动处理器领域的领袖, Ti在相当长的时间里总是抢先发布性能最强的新一代ARM处理器。而且早期还会搭配其强劲的DSP以配合ARM CORE工作。尽管Ti在3G时代遭受专利困境,但是凭借其强大的ARM处理器设计能力在没有Modem的情况下支撑了两代:Omap3原创 2014-03-14 10:09:13 · 1002 阅读 · 0 评论 -
mt6577驱动开发 笔记版 转载请注明出处---crosskernel@gmail.com
3 Preloader & Uboot3.1 Preloader3.1.1Preloader结构Preloader的主题结构在文件:“alps\mediatek\platform\mt6577\preloader\src\core\main.c”中。void main(void){//时钟、uart、mcp等初始化bldr_pre_process原创 2014-03-13 14:17:32 · 3442 阅读 · 0 评论 -
SMP多核处理器omap4启动分析 笔记版 转载请注明出处---crosskernel@gmail.com
Omap4 是Ti在移动市场上的绝唱。在没有通信modem的支援下,依赖于omap4,Ti硬是在手机处理器市场赢得最后一站。Omap4是双核Cortex A9架构的处理器,本文分析其启动表现。代码执行顺序如黑体static int __init kernel_init(void * unused){…smp_prepare_cpus(setup_max_cpus);…}void __init smp_prepare_cpus(unsigned int max_cpus){…s原创 2014-03-13 14:25:16 · 2372 阅读 · 0 评论 -
android手机高精度定时机制--higher timer tick 笔记版 转载请注明出处--- crosskernel@gmail.com
作者 crosskernel@gmail.comandroid手机内核时钟整体架构分为上下两层,下层理解为物理时钟的操控,即按照上层时钟逻辑的要求产生物理时钟中断、编程产生下一次时钟中断、切换时钟中断产生的模式、初始、关闭物理时钟。而上层时钟的作用是根据内核运行时的要求对下层下发各种命令,并根据下层送上来的时钟事件驱动内核的high resolution timer,schedul原创 2014-03-13 14:38:49 · 5351 阅读 · 0 评论 -
卷一 内核源代码分析 第一章 linux内核对cortex A9多核处理器的支持 1.2 Percpu内存管理 图书试读版-请勿转载
作者 crosskernel@gmail.com1.2 Percpu内存管理随着处理器核心的增加,内核中系统中并发的线程也随之增加,这样对一些共享数据的同时访问机率也就增加,就避免不了spin_lock的使用,而且往往处理器核心越多造成的麻烦越大。Percpu内存对这种数据无能为力,但是内核中有些数据只是处理器局部可见,这种数据不会被别的处理器访问到,不需要原创 2014-03-13 14:47:48 · 1566 阅读 · 0 评论 -
arm 处理器虚拟化模式初始化 笔记版(尚未完成) 转载请注明出处---crosskernel@gmail.com
zImage从Hyper态返回SVC态//reg—暂存寄存器.macro safe_svcmode_maskall reg:req#if __LINUX_ARM_ARCH__ >= 6 //读取cpsr到暂存寄存器regmrs \reg , cpsr /*以下两条指令区分当前cpsr是否处在HYP_MODE,若处在HYP_MODE模式,标志位置零*/原创 2014-03-12 15:04:49 · 3614 阅读 · 0 评论 -
linux的板级支持以I.mx5为例 笔记版 转载请注明出处---crosskernel@gmail.com
1 对BOARD的抽象Linux里用struct machine_desc来抽象板级支持。该结构描述了一个板子的基本硬件信息及函数。struct machine_desc {/** Note! The first four elements are used* by assembler code in head.S, head-common.S*///nr是板子原创 2014-03-13 14:27:46 · 1670 阅读 · 0 评论 -
ARM处理器模式弹跳机制的初始化 笔记版 转载请注明出处---crosskernel@gmail.com
void cpu_init(void){unsigned int cpu = smp_processor_id();struct stack *stk = &stacks[cpu];if (cpu >= NR_CPUS) {printk(KERN_CRIT "CPU%u: bad primary CPU number\n", cpu);BUG();}原创 2014-03-12 15:20:50 · 896 阅读 · 0 评论 -
本书已出版<拨云见日:基于android的内核与系统架构源码分析 >
本博客的书籍已由清华大学出版社出版。原创 2014-12-16 15:30:06 · 2017 阅读 · 0 评论
分享