读书人

请问 嵌入式开发

发布时间: 2012-03-17 19:06:28 作者: rapoo

请教 嵌入式开发
请问一下 一个嵌入式开发的系统 其主函数就下面一小段代码 ,它怎么就能撑的起一个系统的运行呢 谁能帮我讲一下 。也不知道该不该怎么这个版面提问,请高手指点迷津

INT16U writecnt=0;
INT16U readcnt =0;
OS_TID TASK_KEY;


void init_task (void) __task
{
// INT8U err;
// INT8U i;
// INT32U KEYTIME;
INT32U volatile start;
// POSINFO_REC PosInfo;
if(C_EPara> =1)
{
LANGUE = CHINESE;
}
else
{
LANGUE = ENGLISH;
}

init_tk = os_tsk_self ();
//sys init




Beep();
ADC_INIT();
//startx:

I2cInit(60000);
SysParaInit();

KeyInit();
GUI_Initialize();
GUI_SetColor(1, 0);
LCM_BK_ON();
//for (start = 0; start < 1000000; start++) { ; }

//os_dly_wait(5);

#if STAT > 15
PINSEL1 = PINSEL1&~(3 < < (2*(STAT-16)));
#else
PINSEL0 = PINSEL0&~(3 < <(2* (STAT)));
#endif
IO0DIR =IO0DIR&(~(1 < <STAT));
//BUZZ_ON();
//os_dly_wait(5);
//for (start = 0; start < 1000000; start++) { ; }
BUZZ_OFF();

SpiInit();
SST25VF_init();

UnWP();
EWSR();
WRSR(0);

WREN();
SysUnitIdInit();
SelectMenuIco();
}


int main (void)
{

//#ifdef MCB2100
INT32U volatile start;
// INT8U i;
/* Wait for debugger connection*/
for (start = 0; start < 10000; start++) { ; }
IO0SET = (1 < <SELF_ON);
#if SELF_ON > 15


PINSEL1 = PINSEL1&~(3 < < (2*(SELF_ON-16)));
#else
PINSEL0 = PINSEL0&~(3 < < (2*(SELF_ON)));
#endif
// IO0SET = (1 < <SELF_ON);
// IO0DIR = IO0DIR|(1 < <SELF_ON) ;
//
// IO0SET = (1 < <SELF_ON);

IO0DIR = IO0DIR&(~(1 < <SELF_ON)) ;

for (start = 0; start < 2000000; start++) { ; }
//#endif
OsEnterSum =0;
os_sys_init_prio (init_task,9);
}


[解决办法]
哪里的程序?看似UCOSii的?
[解决办法]
上面有一大堆初始化函数,每个初始化函数都不简单。
[解决办法]
呵呵,后面会有,一系列的,内存管理,任务管理,资源管理等等一堆堆的代码在项目工程里...

读书人网 >驱动开发

热点推荐