发一个跑UCOS内核的ATMEGA88做的时钟,中断栈和任务栈是分开的
以前曾经发过一个M16跑UCOS的测试项目,也是中断栈和任务栈分开的,但仅仅做过软件模拟,现在做了一个小的应用,用的是ATMEGA88,2个任务,每个任务为128字节堆栈,空闲任务堆栈为100字节,中断栈也是128字节,总共占用650字节内存,4381字节CODE。因为中断栈是分开的,所以任务栈就不需要太大,只要能保存下任务的上下文和任务自身需要分配的局部变量以及调用函数时的消耗,中断嵌套是在中断栈中保存每一次中断的上下文和分配局部变量的。中断完全用C来写,中断函数不使用编译器提供的方法,自己重新定义了一个中断入口文件。点击此处下载 ourdev_545752.rar(文件大小:168K) (原文件名:clock.rar)http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_545753.jpg
(原文件名:电路图.jpg) mark mark 顶楼主 mark mark~~ mark mark
中断栈和任务栈分开
页:
[1]