码迷,mamicode.com
首页 >  
搜索关键字:中断向量表    ( 107个结果
嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记)
嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记) 邱毅凌著 1、一般函数调用与中断ISR的区别 一般程序都是循序执行的,CPU一定要执行到main()的第20行,才有可能去调用sub_fun()函数,而中断可以发生在任何的时间地点。例如,使用者可以在任何时候按下键盘的某个键,此时不论CPU下个要执行的指令是什么,CPU都会先记录目前的状态,然后参考中断向量表,接着去执行键盘中断的处理...
分类:其他好文   时间:2015-05-17 21:53:43    阅读次数:225
可重入函数与不可重入函数
主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能...
分类:其他好文   时间:2015-05-06 15:04:03    阅读次数:108
bootsect及setup
BIOS和bootsectCPU加电即进入16位实模式硬件逻辑设计为加电瞬间强行设置:CS=0xF000,IP=0xFFF0,CS:IP=0xFFFF0而BIOS程序的入口地址即0xFFFF0,是计算机上电后CPU执行的第一条指令的地址BIOS程序在内存中加载中断向量表和中断服务程序调用INT 0x...
分类:其他好文   时间:2015-05-01 11:53:35    阅读次数:182
可重入函数与不可重入函数
主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能...
分类:其他好文   时间:2015-04-23 23:15:32    阅读次数:191
systick优先级的理解
sysTick系统嘀嗒定时器并非STM32独有的,它是Cortex内核的部分,CM3为它专门开出一个异常类型,并且在中断向量表中占有一席之地(异常号15)。这样它可以很方便的移植到不同厂商出CM3内核的芯片上,尤其对于有实时操作系统的软件,它一般会作为整个系统的时基,所以这个对操作系统非常重要1 s...
分类:其他好文   时间:2015-04-21 17:41:07    阅读次数:178
0.11之路(四):从实模式到保护模式
关中断并将system移动到内存地址起始位置 0x00000 将CPU的标志寄存器(EFLAGS)中的中断允许标志(IF)置0。这样系统不会再响应中断,直到main函数中能够适应保护模式的中断服务体系重建完毕才会打开,那时候响应中断的服务程序将不再是BIOS提供的中断服务程序,而是系统自身提供的。 就是要完成实模式下的中断向量表和保护模式下的中断描述符表(IDT)的交接工作。借助关中断(cli...
分类:其他好文   时间:2015-04-16 23:50:32    阅读次数:390
[学习笔记]信号基本概念(中断和信号)/名称及常用信号/信号处理/signal函数实践
1基本概念中断q 中断是系统对于异步事件的响应q 中断信号q 中断源q 现场信息q 中断处理程序q 中断向量表异步事件的响应:进程执行代码的过程中可以随时被打断,然后去执行异常处理程序生活中的中断和计算机系统中的中断1) 无中断生活场景张三看书,厨房烧水2)有中断的生活场景张三看书,设置闹钟,厨房烧...
分类:其他好文   时间:2015-04-16 19:44:42    阅读次数:137
0.11之路(一):BIOS引导过程
BIOS在内存最开始的位置构建中断向量表,紧接着是BIOS数据区,此外还要有与中断向量表相应的中断服务程序。我们正是利用这些中断服务程序把内核加载到内存中。 中断是操作系统里的一个意义重大的概念,是一个技术手段。加载内核程序并为保护模式做准备对于Linux 0.11来说,计算机将分三批次逐次加载操作系统的内核代码,第一批由BIOS中断 int 0x19 把第一扇区 bootsect 的内容加载到内...
分类:移动开发   时间:2015-04-09 17:36:30    阅读次数:149
Linux内核源代码情景分析-异常
一、异常初始化    中断向量表的IDT的初始化void __init trap_init(void) { #ifdef CONFIG_EISA if (isa_readl(0x0FFFD9) == 'E'+('I'<<8)+('S'<<16)+('A'<<24)) EISA_bus = 1; #endif set_trap_gate(0,÷_error); set_trap_gate...
分类:系统相关   时间:2015-03-13 10:57:26    阅读次数:300
Linux内核源代码情景分析-中断上半部
一、中断初始化    1、中断向量表IDT的初始化void __init init_IRQ(void) { int i; #ifndef CONFIG_X86_VISWS_APIC init_ISA_irqs(); #else init_VISWS_APIC_irqs(); #endif /* * Cover the whole vector space, no vector can...
分类:系统相关   时间:2015-03-13 09:24:36    阅读次数:291
107条   上一页 1 ... 7 8 9 10 11 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!