检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
机构地区:[1]清华大学计算机科学与技术系,北京100084
出 处:《小型微型计算机系统》2005年第11期2046-2049,共4页Journal of Chinese Computer Systems
基 金:国家"八六三"项目(2003AA115110)资助;国际合作项目(CI-2003-02)资助
摘 要:在μC/OS-II移植过程中,时钟节拍中断内的任务切换因涉及CPU模式切换和函数调用所引起的堆栈偏移等诸多因素而成为导致移植失败的主要原因.介绍了一种简便的解决办法:在OSIntExit函数中检测到有高优先级任务就绪时不是立刻执行切换,而只是设一标志位,回到OSTickISR函数后再执行切换工作,从而避开了复杂的堆栈偏移问题.介绍了如何针对AT91M55800A芯片实现该方法,并在AT91EB55评估板上验证了移植的正确性.In the porting of μC/OS-Ⅱ, there are some challenging problems concerned with the clock tick interrupt service routine, because it involves CPU mode changes and stacks excursion. These problems often make the porting unsuccessful. A simplified porting method is described in this paper. When the function OSIntExit detects that a relatively higher priority task is ready to run, it only sets a flag to mark the incident, rather than switching context immediately. Only after OSIntExit has returned to OSTickISR, the context switch occurs. In this way, a complicated stack excursion process is no longer needed. The practical implementation based on AT91M55800A is described in detail. The result demonstrates that the proposed method is validated on the AT91EB55 evaluation board, and the ported μC/OS-Ⅱ runs steadily and reliably.
关 键 词:μC/OS-Ⅱ 堆栈偏移 移植 简化 AT91M55800A
分 类 号:TP316[自动化与计算机技术—计算机软件与理论]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:216.73.216.68