ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
20 мая
92766 Топик полностью
Сергей Борщ (28.06.2007 13:11, просмотров: 1) ответил Argon на Сорри. ARM7 (LPC21xx)
В .xcl было указано, что CSTACK после старта ОС отдается для прерываний (все равно больше не нужен), т.е. используется вместо IRQ STACK. Под стеки процессов память выделяется статически, т.е. на этапе линковки и, следовательно, стеки процессов попадают в сегмент DATA_Z. По этой причине при старте программы cstartup заполняет нулями содержимое стека. Если смотрите дебагером - не ноль в верхней ячейке должен наводить на размышления. IDLE требует минимально 17*4 байт и это количество учтено в OS_Target_cpp.cpp. Обратите внимание на строки .xcl: -D_CSTACK_SIZE=400 -D_SVC_STACK_SIZE=0 //not used -D_IRQ_STACK_SIZE=0 // scmRTOS uses CSTACK for irq