接着昨天,继续解决操作系统管理中断问题,经过调试,达到以下要求:
1.FreeRTOS可以管理中断,前提是本中断先要处理一下(操作系统的上下文保护和恢复),这样中断内就可以调用操作系统服务函数了;
2.做了一个timer2驱动,1s中断一次,时间到给start任务发送信号量,start打印本次运行信息,同时闪LED灯一次;
总结:
1.在调试timer2驱动时,再一次证明,寄存器的{读-修改-回写}方式非常重要,由于S3C2440的timer0和timer2的寄存器控制位有几个都是在同一个寄存器,初始化timer2的控制位时,不小心将timer0(系统tick占用)误修改了,导致timer0停止工作,操作系统在timer2初始化和任务不再调度,只有timer2中断在工作;
2.中断目前不支持嵌套,如果有需求再考吧,暂时不做了,够用就好;
用户377235 2013-4-22 11:41
用户1442744 2012-12-28 16:37
用户1628221 2012-8-25 12:00
用户388652 2010-8-20 11:13