自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (7)
  • 收藏
  • 关注

原创 ARMv8-A Exception Handling

本节来详细描述下ARMv8-A下的异常处理。异常的概述:当设备正在愉快的执行时候,此时发生了一个异常,处理器就必须暂停当前的任务,转而去处理发生的异常。当异常处理完毕后,处理就会发回到被打断的程序继续执行。此图就是描述异常的处理流程。异常的分类:异常分为同步异常和异步异常,而这两种异常的区别是:同步异常:如果异常的产生是通过执行指令,而且返回结果提供了产生异...

2020-03-31 18:26:52 1344

原创 ARMv8-A Process State, PSTATE

在ARMv8架构中,使用PSTATE用来描述当前处理器的状态信息。如下的图描述了PSTATE的每个字段的意义上面是PSTATE的各个bit位的含义,我们可以将其分为三组状态标志位 N Z C V 异常状态控制位 SS IL nRW EL SP 异常屏蔽位 D A I F 下面来详细描述下各个字段的含义:状态标志位 N(...

2020-03-30 17:55:59 7380 1

原创 ARMv8-A vs ARMv7 Registers

ARMv8-A General-Puspose RegistersARM8v-A提供了31个通用寄存器,分别是X0-X30。每个寄存器是64bits,可以在任何Exception Level访问。可以看到ARMv8-A总共提供了31个通用寄存器,分别为X0-X30。其中X29是栈帧寄存器,X30是LR链接寄存器。因为ARMv8-A为了兼容32位应用程序,所以放ARMv8-A中运行3...

2020-03-29 13:47:48 1201

原创 ARMv7 Processor modes

在ARMv7中定义了不同的特权级别。分别是PL0, PL1, PL2。而每种特权级别依赖处理器模式Processor modes在ARMv7中定义了九种不同的处理器模式User:就是所谓的用户模式,所处的级别最低,不能访问系统的所有资源。特权级别属于PL0FIQ:Fast IRQ,快速中断模式,特权级别属于PL1IRQ:中断模式,特权级别属于PL1Supervisor...

2020-03-27 17:29:37 3735

原创 ARMv8-A Exception Levels

在ARMv8中首次引入了Exception Level的概念,每个Exception Level代表了不同的特权级别。当然了ARMv7也存在同样的特权级别,只不过名字是用PL定义的。先来看下ARMv8的Exception Level的定义:ARMv8将特权级别分为4个level,分别是EL0,EL1,EL2,EL3。而每个level的特权不一样的,特权大小EL0<EL1...

2020-03-21 15:08:29 5566

原创 ARMv8-A architecture overview

从今天起,正式学习ARMv8-A架构的知识,其中会涉及到ARMv7-A的一些知识,用来和ARMv8-A做对比使用。学习过程中使用的文档:ARM Architecture Reference Manual for ARMv7, ARMv8 ARM Cortex-A75, A76 Core Technical Reference Manual(TRM) https://develop...

2020-03-20 18:32:21 2233

原创 Android tombstone文件是如何生成的

本节内容我们聚焦到androidQ上,分析android中一个用于debug的功能,那就是tombstone,俗称“墓碑”。现实生活中墓碑一般是给死人准备的,而在android系统中“墓碑”则是给进程准备的。为何Android要设计出这样一个东西呢? 因为android系统是运行在Linux Kernel内核之上的,当内核出现异常,则内核异常机制会分辨出是什么原因,处理不了的直接panic。而...

2020-03-14 14:44:08 12444 1

原创 NULL指针的奇妙之旅

今天带大家了解下NULL指针是如何形成的? 当然了我们要深入到操作系统中去看看为何访问一个NULL指令会报Segment Fault的错误。想必大家在接触计算机时都写过NULL指针的程序,尤其是玩C语言的小伙伴们。比如刚初始化的一个int类型指针,还没有赋值的时候就往这个指针赋值,然后运行就会出现Segment Fault的错误。#include <stdio.h>int...

2020-03-11 16:55:56 1202

原创 CFS调度主要代码分析二

在上一篇文章中我们分析CFS的主要代码,设计的内容有:进程创建时调度器是如何初始化一个进程的 进程是如何添加到CFS运行队列中 当进程添加到CFS运行队列中,是如何选择下一个进程运行的本节在围绕一个进程的生命周期,继续分析一个进程是如何被抢占? 如果睡眠? 如何被调度出去的?Schedule_tick(周期性调度)周期性调度就是Linux内核会在每一个tick的时候会去更新当前进...

2020-03-07 19:39:16 654

原创 CFS调度主要代码分析一

在前面学习了CFS调度的原理和主要的数据结构,今天我们就来进入代码分析环节。当然了代码分析只看主要主干不看毛细,同时我们也是根据一个进程是如何被调度的思路来分析一些重要的代码。在分析代码之前,有一些小函数需要先分析下,俗话说万丈高楼平地起,这些小函数还是很重要的。calc_delta_faircalc_delta_fair函数是用来计算进程的vruntime的函数。在之前CFS原理篇了...

2020-03-01 14:49:04 1611

ARMGIC手册详解.zip

Support for: — The ARMv8 architecture. — Locality-specific Peripheral Interrupts (LPIs). — Private Peripheral Interrupts (PPIs). — Software Generated Interrupts (SGIs). — Shared Peripheral Interrupts (SPIs). — Interrupt masking and prioritization. — Uniprocessor and multiprocessor systems. — Wakeup events in power management environments.

2020-03-21

ARM_v8_architecture参考手册.zip

对ARm各个子系统都有一个简单的描述,很适合初学者。 This book provides a single guide for programmers who want to use the Cortex-A series processors that implement the ARMv8 architecture. The guide brings together information from a wide variety of sources that is useful to both ARM assembly language and C programmers. It is meant to complement rather than replace other ARM documentation available for ARMv8 processors. The other documents for specific information includes the ARM Technical Reference Manuals (TRMs) for the processors themselves, documentation for individual devices or boards or, most importantly, the ARM Architecture Reference Manual - ARMv8, for ARMv8-A architecture profile - the ARM ARM.

2020-03-21

ARMv8-A_Architecture.zip

ARMv8, for ARMv8-A architecture profile ARM Architecture Reference Manual ARMv8, for ARMv8-A architecture profile

2020-03-21

Dowland.zip

本文档是从网络上下载文件,并且支持断点续传,可以在界面上有进度条显示,同时还有进度比例

2015-08-11

介绍了汇编的第一个程序

介绍汇编下 如何用汇编语言写个程序! 以及masm 的如何使用. 以及一些问题

2012-11-04

led驱动程序

本资源是关于ok6410下的led驱动程序!

2012-09-22

空空如也

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

TA关注的人

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