*** task.c.bak 2007-03-12 20:26:01.000000000 +0900 --- task.c 2007-09-19 19:06:32.000000000 +0900 *************** *** 50,55 **** --- 50,165 ---- #endif /* USE_FUNC_TCB_TABLE */ #ifdef USE_FUNC_TASK_INITIALIZE + + EXPORT void piyopiyo(volatile W *p) + { + volatile INT *z = NULL; + WINFO wi; + + *z = 0x0000; + *p = sizeof(wi); + + #if CFN_MAX_SEMID > 0 + *z = 0x0100; + *p = sizeof(wi.sem); + #endif + #if CFN_MAX_FLGID > 0 + *z = 0x0200; + *p = sizeof(wi.flg); + #endif + #if CFN_MAX_MBXID > 0 + *z = 0x0300; + *p = sizeof(wi.mbx); + #endif + #if CFN_MAX_MBFID > 0 + *z = 0x0400; + *p = sizeof(wi.rmbf); + *z = 0x0401; + *p = sizeof(wi.smbf); + #endif + #if CFN_MAX_PORID > 0 + *z = 0x0500; + *p = sizeof(wi.cal); + *z = 0x0501; + *p = sizeof(wi.acp); + *z = 0x0502; + *p = sizeof(wi.rdv); + #endif + #if CFN_MAX_MPLID > 0 + *z = 0x600; + *p = sizeof(wi.mpl); + #endif + #if CFN_MAX_MPFID > 0 + *z = 0x700; + *p = sizeof(wi.mpf); + #endif + + return; + } + + EXPORT volatile TCB *hogefuga(volatile TCB *hoge) + { + hoge->tskque.next = (VP) 0x0a; + hoge->tskque.prev = (VP) 0x0b; + hoge->tskid = 0x0c; + hoge->exinf = (VP) 0x0d; + hoge->tskatr = 0x0e; + hoge->task = (VP) 0x0f; + + hoge->sstksz = 0x10; + + hoge->isysmode = 0x11; + hoge->sysmode = 0x12; + + hoge->ipriority = 0x13; + hoge->bpriority = 0x14; + hoge->priority = 0x15; + + hoge->state = 0x16; + + hoge->klockwait = TRUE; + hoge->klocked = TRUE; + + hoge->wspec = (VP) 0x17; + hoge->wid = 0x18; + hoge->wupcnt = 0x19; + hoge->suscnt = 0x1a; + hoge->wercd = (VP) 0x1b; + hoge->winfo.sem.cnt = 0x1c; + + hoge->wtmeb.queue.next = (VP) 0x1d; + hoge->wtmeb.queue.prev = (VP) 0x1e; + hoge->wtmeb.time = 0x1f; + hoge->wtmeb.callback = (VP) 0x20; + hoge->wtmeb.arg = (VP) 0x21; + + #if CFN_MAX_PORID > 0 + hoge->wrdvno = 0x22; + #endif + #if CFN_MAX_MTXID > 0 + hoge->mtxlist = (VP) 0x23; + #endif + + #if USE_DBGSPT && defined(USE_FUNC_TD_INF_TSK) + hoge->stime = 0x24; + hoge->utime = 0x25; + #endif + + hoge->isstack = (VP) 0x26; + + #if TA_GP + hoge->gp = (VP) 0x27; + #endif + + hoge->tskctxb.ssp = (VP) 0x28; // sysdepend + + #if USE_OBJECT_NAME + hoge->name[0] = 0x29; + #endif + + return ++hoge; + } + /* * TCB Initialization */