Цитата(WarNick @ May 24 2006, 17:19)

И снова здрасте )
Ещё вопросец. Есть eCos (default build) либы. Пробую пример из экзамплов - twothreads. Компилю это приложение и заливаю его с помощью редбута в борду. И наблюдаю следующее:
void cyg_user_start(void){
int t;
t=0;
printf("Entering twothreads' cyg_user_start() function\n"); это он показывает
это он скипает:
cyg_mutex_init(&cliblock);
cyg_thread_create(4, simple_program, (cyg_addrword_t) 0,
"Thread A", (void *) stack[0], 4096,
&simple_threadA, &thread_s[0]);
cyg_thread_create(4, simple_program, (cyg_addrword_t) 1,
"Thread B", (void *) stack[1], 4096,
&simple_threadB, &thread_s[1]);
cyg_thread_resume(simple_threadA);
cyg_thread_resume(simple_threadB);
и доходя до этого крутится в вайле вечно.
while (1){printf(".");}
}
Т.е. судя по всему он просто плюёт на функции создания трэдов, ибо они не пашут. Причём мат опреации и вывод в СОМ работают на ура. В чём может быть проблема?
в этом прримере вы в while(1) вызываете printf это же самое делают другие треды которые вы создали
посмотрите в исходник тех тредов что пытаетесь создать...
имхо причина в строке
while (1){printf(".");}
printf безо всяких mutex...некрасиво