在本章,我们看看ARM处理器如何响应异常。异常是任何需要挂起正常执行转而运行与每个异常类型相关联软件(称为异常处理程序)的条件。
12.1 异常的类型
如我们在第四章看到,A系列和R系列架构支持七种处理器模式,六种特权模式(称为快速中断模式、外部中断模式、管理模式、中止模式、未定义模式和系统模式),一种非特权模式(用户模式)。如果虚拟化扩展和安全扩展被实现,Hyp和Monito...
分类:
其他好文 时间:
2014-05-26 05:55:48
阅读次数:
388
之前使用过cocos2d-x获取系统时间,毫秒级的
[cpp] view
plaincopy
long getCurrentTime()
{
struct timeval tv;
gettimeofday(&tv,NULL);
return tv.tv_sec * 10...
分类:
其他好文 时间:
2014-05-26 05:37:49
阅读次数:
358
/*
使用keil4
可运行8个任务
任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回来。
*/
#include "STC12C5A...
分类:
编程语言 时间:
2014-05-26 05:05:42
阅读次数:
419
CRTOS 实时可剥夺型内核
1.任务不用预加载,不用预定义。任务调用时加载,可删除(退出死循环即可)
2.单位轮转查询时间由晶振和定时器初始化决定。在这里为10ms
3.定时时间为【 time*单位轮转查询时间 】 ,其中time为 rtos_wait(time)中time.
4.可运行多个任务【自定义】
5.任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回来,任务执行后,回到中断,再从中断回到主程序。...
分类:
编程语言 时间:
2014-05-26 03:59:52
阅读次数:
323
4个任务
/*
使用keil4
可运行8个任务
任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回来。
*/
#include "STC12C5A.H"
#define TIMER_RELOAD() {TL0=0x00;TH0=0xC4;}//使能T/C 初始10ms
#define MAX_TASKS 8 //任务槽最大个数.
unsig...
分类:
编程语言 时间:
2014-05-25 02:03:17
阅读次数:
293
使用keil4 ,代码Code Optimization:0 运行OK
可运行8个任务
Program Size: data=21.0 xdata=0 code=401 (包括2个示例变量,未优化)
任务从中断处切换,在定时时间到后从定时中断中切换回来。
待改进地方
1.手动优化汇编程序
2. 重入问题
3.参数进函数和时中断的保护问题...
分类:
编程语言 时间:
2014-05-24 22:13:10
阅读次数:
318
短短续续,经过了大约大半年的开发, 我的第一个软件作品:AlphaDict 终于 release 了1.0, 这是一段很困难的时间,需要从写文档开始,做所有的事情。为了保持代码的简洁, 可控,减少对系统平台的依赖性。我尽量使用 标准 c/c++ 库的 API, 不得不自己去封装打包一些东西。 有时候,碰到一些平时没有深入的问题,不得不中断手头的工作,来深入学习新的东西, UTF-8/16/32,...
分类:
其他好文 时间:
2014-05-24 20:32:24
阅读次数:
272
CRTOS 实时可剥夺型内核
1.任务不用预加载,不用预定义。任务调用时加载,可删除(退出死循环即可)
2.单位轮转查询时间由晶振和定时器初始化决定。在这里为10ms
3.定时时间为【 time*单位轮转查询时间 】 ,其中time为 rtos_wait(time)中time.
4.可运行多个任务【自定义】
5.任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回来,任务执行后,回到中断,再从中断回到主程序。...
分类:
编程语言 时间:
2014-05-24 19:51:06
阅读次数:
324
终于有时间再来学习STM32了~ 这几天都在忙着该死的考试.直接进入正题
开发板:奋斗V5
这个按键中断测试的要求是:按键2(K2)按下,LED2(V7)亮, 再一次按下就灭,循环..
好,先看看按键和LED的原理图
好吧~ 虽然图截得不是很好看,但是能看到K2接的是PC2, LED2接的是PD6
ok,剩下的就是配置工作了.. 先来理一理思路:
(1)初始化系统时钟
...
分类:
其他好文 时间:
2014-05-24 17:52:55
阅读次数:
359
/*
CRTOS 实时可剥夺型内核
1.任务不用预加载,不用预定义。任务调用时加载,可删除(退出死循环即可)
2.单位轮转查询时间由晶振和定时器初始化决定。在这里为10ms
3.定时时间为【 time*单位轮转查询时间 】 ,其中time为 rtos_wait(time)中time.
4.可运行多个任务【自定义】
5.任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回...
分类:
编程语言 时间:
2014-05-24 14:22:34
阅读次数:
372