内核启动分析之start_kernel初始化函数(init/main.c) stext函数启动内核后,就开始进入start_kernel初始化各个函数, 下面只是浅尝辄止的描述一下函数的功能,很多函数真正理解需要对linux相关体系有很深的了解后才能明白 代码如下: asmlinkage void ...
分类:
其他好文 时间:
2017-08-15 19:56:20
阅读次数:
293
1.启动BIOS,准备实模式下中断向量表和中断服务程序 在按下电源按钮的瞬间,CPU硬件逻辑强制将CS:IP设置为0xFFFF:0x0000,指向内存地址的0xFFFF0位置,此位置属于BIOS的地址范围。关于硬件如何指向BIOS区,这是一个纯硬件动作,在RAM实地址空间中,属于BIOS地址空间部分 ...
分类:
其他好文 时间:
2017-07-31 18:57:37
阅读次数:
536
内存地址(十六进制) 对应向量号(十六进制) 中断用途 BASIC中断向量 0x3C4 - 0x3FF F1-FF 未使用 0x218 - 0x3C3 86-F0 BASIC程序运行时提供给BASIC解释程序作用 0x200 - 0x217 80-85 为BASIC保留 0x1E0 - 0x1FF ...
分类:
其他好文 时间:
2017-07-31 17:52:57
阅读次数:
217
STM32有43个channel的settable的中断源;AIRC(Application Interrupt and Reset Register)寄存器中有用于指定优先级的4 bits。这4个bits用于分配preemption优先级和sub优先级,在STM32的固件库中定义如下/* Pree ...
分类:
其他好文 时间:
2017-07-01 13:46:03
阅读次数:
235
一、原理 1、在正常情况下,程序运行路流程: 和STM32类似,STM8内部闪存(FLASH)地址起始于 0x8000(STM32是0x08000000),一般情况下,程序文件就从此地 址开始写入,通过一张“中断向量表” 来响应中断,程序启动后,将首先从“中断向量表”取出复位中断向量,执行复位中断程 ...
分类:
其他好文 时间:
2017-06-29 19:24:11
阅读次数:
125
SylixOS中断系统分析中断向量表在SylixOS中,系统默认存在一张大小为256(可以手动配置)的中断向量表,用于管理SylixOS中的每一个中断向量。该向量表存在于k_globalvar.h文件中,其定义格式如程序清单1-1所示。程序清单1-1系统中断向量表定义/*******************************..
分类:
其他好文 时间:
2017-06-16 15:14:11
阅读次数:
243
;******************** (C) COPYRIGHT 2010 STMicroelectronics ******************** ;* File Name : startup_stm32f10x_hd.s ;* Author : MCD Application Tea... ...
分类:
其他好文 时间:
2017-06-11 21:09:53
阅读次数:
230
1: 通过调用 request_irq api来注册指定中断号上的 irq_handler,flags可选是否是共享或者其他static inline int __must_checkrequest_irq(unsigned int irq, irq_handler_t handler, unsig ...
分类:
系统相关 时间:
2017-06-10 19:31:44
阅读次数:
959
计算机究竟是如何执行起来的呢,在我学习计算机的时候一直不是非常明确,可是近期借了本《linux内核设计的艺术》算是知道了计算机从按开机到启动操作系统之间究竟做了些什么。 这本书刚開始介绍的并非linux的启动,而是linux启动之前的一步,也就是在你按下了开机button之后进入系统引导之前计算机做 ...
分类:
系统相关 时间:
2017-06-01 21:39:43
阅读次数:
310
3 下列关于中断和异常的叙述中,哪一个是错误的? x86系列处理器提供的4个处理器特权级别中R0的特权级别最高 中断向量(中断描述符)保存了程序状态字和中断入口程序地址 Page Fault属于I/O中断 启动I/O指令只能在内核态下运行 解析: 1. “中断向量(中断描述符)保存了程序状态字和中断 ...
分类:
其他好文 时间:
2017-05-14 22:20:17
阅读次数:
1291