【8】从0到1教你写uC/OS-III————>系统启动

本文深入探讨了实时操作系统(RTOS)的启动过程,重点讲解了在系统启动前至少创建一个任务的必要性,以及如何通过调用OSStrart()函数启动多任务管理,包括手动配置任务优先级和启动任务切换的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 系统启动的前提:至少创建一个任务
  2. 应用程序是通过调用OSStrart()开始进入多任务管理的
  3. 例程:
      /*********************************************************
     * 函数名: void    OSStrart(OS_ERR *p_err)      
     * 描述  :系列启动 
     * 输入  :无
     * 输出  :无
     * 返回  :无 
     * 调用  :内部调用 
     **********************************************************/
     void    OSStrart(OS_ERR *p_err)
     {
         if(OSRunning == OS_STATE_OS_STOPPED)
         {
             //手动配置任务1先运行
             OSTCBHighRdyPtr = OSRdyList[0].HeadPtr;
             
             //启动任务切换,不会返回
             OSStrartHighRdy();
             
             //不会运行到这里,如果运行到这里表示发生了致命错误
             *p_err = OS_ERR_FATAL_RETURN;
         }
         else
         {
            *p_err = OS_STATE_OS_RUNNING;
         }
        
     }
     

     

  4. 总结: 系统就绪,开始启动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值