コード例 #1
0
ファイル: Main.c プロジェクト: rtboss/rt-boss_old_naver
/*===========================================================================
    M A I N
---------------------------------------------------------------------------*/
int main(void)
{
  Boss_device_init();
  
  Boss_init(idle_main, &idle_tcb, (boss_stk_t *)idle_stack, sizeof(idle_stack));
  
  Boss_task_create( aa_main,              /* Task Entry Point       */
                    _BOSS_NULL,           /* Task Argument          */
                    &aa_tcb,              /* TCB(Task Control Block)*/
                    AA_PRIO_1,            /* Priority               */
                    (boss_stk_t *)aa_stk, /* Stack Point (Base)     */
                    sizeof(aa_stk),       /* Stack Size (Bytes)     */
                    "AA"
                    );
  
  Boss_task_create( bb_main,
                    _BOSS_NULL,
                    &bb_tcb,
                    BB_PRIO_2,
                    (boss_stk_t *)bb_stk,
                    sizeof(bb_stk),
                    "BB"
                    );
  
  Boss_start();                /* Boss Scheduling Start */
  
  BOSS_ASSERT(_BOSS_FALSE);   /* Invalid */
  return 0;
}
コード例 #2
0
ファイル: Main.c プロジェクト: bluelife85/rt-boss
/*===========================================================================
    M A I N
---------------------------------------------------------------------------*/
int main(void)
{
  (void)Boss_init(idle_task, _BOSS_NULL, idle_stack, sizeof(idle_stack));
  
  (void)Boss_task_create( aa_task,              /* Task Entry Point       */
                          _BOSS_NULL,           /* Task Argument          */
                          aa_stk,               /* 스택 포인터(base)      */
                          sizeof(aa_stk),       /* 스택 크기(Bytes)       */
                          PRIO_1,               /* 우선순위               */
                          "AA"                  /* 테스크 이름            */
                        );
  
  (void)Boss_task_create(bb_task, _BOSS_NULL, bb_stk, sizeof(bb_stk),
                                                              PRIO_2, "BB");

  Boss_device_init();         /* 타이머 초기화 */
  Boss_start();               /* Boss Scheduling Start */
  
  BOSS_ASSERT(_BOSS_FALSE);   /* Invalid */
  return 0;
}
コード例 #3
0
/*===========================================================================
    M A I N
---------------------------------------------------------------------------*/
int main(void)
{
    (void)Boss_init(idle_task, _BOSS_NULL, idle_stack, sizeof(idle_stack));

    (void)Boss_task_create( aa_task,              /* Task Entry Point       */
                            _BOSS_NULL,           /* Task Argument          */
                            aa_stk,               /* 스택 포인터(base)      */
                            sizeof(aa_stk),       /* 스택 크기(Bytes)       */
                            PRIO_1,               /* 우선순위               */
                            "AA"                  /* 테스크 이름            */
                          );

    {
        int idx = 0;
        boss_prio_t prio = PRIO_3;

        for(idx=0; idx < CX_TASK_MAX; idx++)
        {
            char name[10];
            sprintf(name, "C%02d", idx + 1);

            //prio++;     /* 우선순위 및 타임아웃 테스트 */

            (void)Boss_task_create( cx_task,              /* Task Entry Point     */
                                    (void *)idx,          /* Task Argument        */
                                    cx_stk[idx],          /* Stack Point (Base)   */
                                    sizeof(cx_stk[idx]),  /* Stack Size (Bytes)   */
                                    prio,                 /* Priority             */
                                    name                  /* Task Name String     */
                                  );
        }
    }

    Boss_device_init();         /* 타이머 초기화 */
    Boss_start();               /* Boss Scheduling Start */

    BOSS_ASSERT(_BOSS_FALSE);   /* Invalid */
    return 0;
}