Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Портирование uCOS под LPC1758
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > uC/OS-II
Lemist
Попробовал я соорудить тестовую задачу под управлением uC-OS II. Сварганил такой небольшой проект под LPC1758, прицепил к нему программатор J-Link и все это в среде EWARM 5.5 откомпилил. ВСе откомплилось, слинковалось и даже залилось в микроконтроллер. Все хорошо, но после отработки OSStart() все это уходит в подполье и задача TaskKBD никак себя не проявляет. Похоже, ОС в нее не входит и вообще контекст не переключает.
Может я что-то не учел? Что-то очень важное...
Посмотрите проект плиз. Нажмите для просмотра прикрепленного файла
andrewlekar
Стеки IDLE и STAT не маловаты?
Lemist
Цитата(andrewlekar @ May 21 2010, 09:02) *
Стеки IDLE и STAT не маловаты?


Кто знает, может, конечно, и 128 байтов мало, но это ведь сам автор Jean J. Labrosse такие размеры установил, вряд ли всем, кто работает с uC/OS-II, пришлось эти размеры менять - по крайней мере, где-нибудь сведения о таком бы сохранились. Думаю, что не может быть дело в этом.
andrewlekar
Вроде бы в коде указано по 40 OS_STK размер стеков.
Lemist
Все оказалось гораздо проще. В исходниках (файл os_cpu_a.asm) в обработчике системного прерывания OS_CPU_PendSVHandler оказалась закомментированной строка
CBZ R0, OS_CPU_PendSVHandler_nosave ; Skip register save the first time
и программа, естественно, по первому разу улетала далеко-далеко, потому что в первый раз PSP - нуль. wacko.gif
Убрал комментарий, и все заработало...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.