码迷,mamicode.com
首页 >  
搜索关键字:中断向量表    ( 107个结果
智能车学习(二十三)——K60单片机注册中断函数
一、头文件: #ifndef __ISR_H #define __ISR_H 1 #include "include.h" /* 重新定义中断向量表 * 先取消默认的中断向量元素宏定义 #undef VECTOR_xxx * 在重新定义到自己编写的中断函数 #define VECTOR_xxx xx...
分类:其他好文   时间:2015-11-25 22:07:56    阅读次数:336
linux内核之系统启动(二)
在上一节提到由BIOS构建实模式下的内存中断向量表和中断服务程序,那么接下来就是利用这些中断加载操作系统内核,这一步又有三个步骤:1、引导程序bootsect加载;2、setup程序加载;3、system内核加载。在中断向量表和中断服务程序构建完成以后,BIOS会产生int0x19中断,该中断..
分类:系统相关   时间:2015-11-05 16:54:06    阅读次数:246
中断与异常详解(三)
再次梳理会用到的一些数据结构和名词中断向量表(中断描述符表)idt_table全局,8字节64位,从低到高位16位段选择符,32位偏移量,16位状态信息256项起始地址在内核数据节的idt中用于寻找各种门,门的作用是防止用户程序访问陷阱门、中断门等特殊资源,出于安全考虑,linux为用户留有3,4,...
分类:其他好文   时间:2015-10-23 16:02:19    阅读次数:482
《Linux内核设计的艺术》学习笔记(一)从开机加电到执行main函数
实验内核版本:0.11 ◆ 从开机到main函数的三步: ① 启动BIOS,准备实模式下的中断向量表和中断服务程序; ② 从启动盘加载OS程序到内存中,加载OS程序的工作就是利用第一步中的中断服务程序实现的; ③ 为执行保护模式下32位的main函数做过渡工作。 ? Intel将...
分类:系统相关   时间:2015-09-17 00:53:21    阅读次数:261
Linux内核源代码情景分析-中断半
一、中断初始化 1、中断向量表IDT初始化void __init init_IRQ(void){ int i;#ifndef CONFIG_X86_VISWS_APIC init_ISA_irqs();#else init_VISWS_APIC_irqs();#endif /* * Cove...
分类:系统相关   时间:2015-09-13 21:21:36    阅读次数:258
Keil调试STM32中解析main开始前的工作
Cortex M3的内核有三种启动方式,其分别是: A.通过boot引脚设置可以将中断向量表定位于SRAM区,即起始地址为0x2000000,同时复位后PC指针位于0x2000000处; B.通过boot引脚设置可以将中断向量表定位于FLASH区,即起始地址为0x8000000,同时复位后PC指针位于0x8000000处; C.通过boot引脚设置可以将中断向量表定位于内置Bootloade...
分类:其他好文   时间:2015-08-20 19:10:11    阅读次数:1858
测试STM32F4中断向量表移到内部RAM对中断响应速度的影响
测试环境:STM32F407168MHz,IAR7.4,优化级别low测试方法:第一个信号是TIM比较器的输出,同时产生比较器中断。中断服务程序里第一句就立即拉高一个GPIO,示波器查两个信号的延迟大致了解中断响应速度。中断向量表在Flash,中断服务程序在Flash,延迟约155ns:中断向量表在内..
分类:其他好文   时间:2015-07-28 06:50:32    阅读次数:367
可重入函数reentrant function
可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。可重入函数可以被中断,意味着它除了使用自己栈上的变量以外不依赖于任何环境(包括...
分类:其他好文   时间:2015-07-01 17:29:23    阅读次数:99
可重入函数与不可重入函数概念以及编写规范
不可重入怎么改改成可重入函数。一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。在实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果这个函数不幸被设计成为不可重入的函数的话,那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预...
分类:其他好文   时间:2015-06-13 09:56:09    阅读次数:137
Linux启动过程
BIOS启动1.加电时由硬件将BIOS加载到内存末尾.这时是实模式,寻址空间为1M. 2.由硬件将CS段寄存器强制设置为0xFFFF,IP指令寄存器设置为0x0000.这样CS:IP指向了OxFFFF0的地址位置.这个位置就是BIOS程序的入口地址. 3.执行BIOS程序.在内存起始地址0x00000设置1K大小的中断向量表.每个中断向量大小为4字节.中断向量保存的是中断服务的入口地址. 4....
分类:系统相关   时间:2015-06-08 13:29:02    阅读次数:167
107条   上一页 1 ... 6 7 8 9 10 11 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!