打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
uCOS移植验证测试代码

 http://blog.163.com/zhaojun_xf/blog/static/3005058020101139215367/

 2010

     当用户为自己的处理器做完uCOS-II的移植后,下面就应该的验证移植的OS是否可以正常工作。首先,不加任何应用代码来测试移植好的OS,也就是说,应该首先测试内核自身的运行状况。这样代码即不复杂,又可以知道是否则OS移植问题。

      下面是需要移植的步骤:

      ①. 确保C编译器、汇编编译器及链接器正常工作;

      ②. 验证OSTaskStkInit()和OSStartHighRdy()函数;

      ③. 验证OSCtxSw()函数;

      ④. 验证OSIntCtxSw()和OSTickISR()函数。

1. 最小的TEST代码:

int main(void)

     OSInit();      
     OSStart();
}

如果编译没有问题,说明基本移植通过,下面就可以进行真正的测试工作了。

2.  验证OSTaskStkInit()和OSStartHighRdy()函数:

    修改OS_CFG.H文件,设置OS_TASK_STAT_EN 为0,以禁止统计任务。因为没有添加应用任何,所以唯一的任务是OS的空闲任务:OS_TaskIdle()。如果能在OS_TaskIdle()任务的循环中运行,且在无限循环中已经执行几次,那么说明这一步验证成功。

3. 验证OSCtxSw()函数:

    这一步比较容易,只要添加一个应用程序,并不断切换到空闲任务。并在应用程序中添加OSTimeDly(1),如下:

void TestTask(void *pdata)

{

    pdata = pdata;

    while(1)

    {

        OSTimeDly(1);

    }

}

如果OSCtxSw()并没有将用户带入OSTimeDly(),则应当查明原因,纠正OSCtxSw()函数的错误。

4.  验证OSIntCtxSw()和OSTickISR()函数:

    建议单独运行ISR程序,而不调用OSIntExit()。

总结:

    如果以上几步均也通过,在说明OS移植通过,可以编写应用程序代码了。以上测试是需要硬件平台的,并不是利用软件模拟的,所以要先保证硬件没有问题。为了方便观察测试的结果,可以在代码中加入个LED的开关代码,通过观察LED的状态获知OS是运行状态;当然如果你用的软件平台和硬件支持单步调试的话,完全可以不用添加LED,也很方便的知道运行结果。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
μCOSII在Cortex-M3核ARM处理器上的移植
PC下简单任务之uCOSII启动脉络
ucos-II延时函数
移植时的一些概念
ucos 统计任务 OS
μC/OS-Ⅱ的移植问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服