本帖最后由 kun9766 于 2010-4-15 18:31 编辑
最近看了周工的ucos移植版本和44b0的移植版本(基于ADS1.2),对其中的软中断使用有些不解,希望有明白其中缘由的能给予指点!先谢谢了
在调用OS_Ctx_Sw()时,周工是使用软中断的方法,先在头文件OS_CPU.h中用_SWI进行声明,然后调用这个函数的时候产生一个软中断,然后再回来调用OS_Ctx_Sw()函数。我从网上找的其他版本的移植,只是在头文件中声明了这个函数,然后是直接调用了,没有看到关于软中断的。我又看了UCOS的源文件代码,OS_Sched()在最后是直接调用了OS_Ctx_Sw(),我现在不明白的是周工的版本为什么还要加个软中断而不直接调用呢?还是因为不能直接调用?期待您的解答,谢谢 |