我是仿真的,是C语言和汇编结合的,
主要思想就是时间片,我10ms 切换一次
最蛋疼就是切换任务了,我比较笨,我是用一段RAM来保存 程序现场的。把ACC PSW R0-R7 地址都保存在RAM中,一个任务就是13个字节,这样开销,还有就是任务
切换想不到好的办法,求思想,那位能说说如何实现任务切换,。
我加如汇编的原因是编译器编译的时候生成的代码不确定,所以我直接就手动人为控制了。我现在就是如果我纯C来写,我完不成,必须C和ASM结合。
任务切换不是很懂,对这个有点兴趣的讨论下吧。
/RAM ID addr16 PSW ACC R0-R7 ID addr16 PSW ACC R0-R7 /
上面就是RAM中的两个任务的示意图。我这个开销太大了。
RAM太小 估计上4个以上任务就差不多了!
stc89c58rd+ 6/12T 有1k ram
stc89c58ad 6/12T 有4k ram
stc15f2kxx/4kxx 1T 有 2k/4k ram
够了吧?
一周热门 更多>