реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Портирование uCOS под LPC1758, Не могу определить, работает ли мой проект
Lemist
сообщение May 20 2010, 13:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 28-04-10
Из: город Харьков
Пользователь №: 56 948



Попробовал я соорудить тестовую задачу под управлением uC-OS II. Сварганил такой небольшой проект под LPC1758, прицепил к нему программатор J-Link и все это в среде EWARM 5.5 откомпилил. ВСе откомплилось, слинковалось и даже залилось в микроконтроллер. Все хорошо, но после отработки OSStart() все это уходит в подполье и задача TaskKBD никак себя не проявляет. Похоже, ОС в нее не входит и вообще контекст не переключает.
Может я что-то не учел? Что-то очень важное...
Посмотрите проект плиз. Прикрепленный файл  Test_OS.zip ( 932.11 килобайт ) Кол-во скачиваний: 198
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение May 21 2010, 06:02
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Стеки IDLE и STAT не маловаты?
Go to the top of the page
 
+Quote Post
Lemist
сообщение May 21 2010, 06:39
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 28-04-10
Из: город Харьков
Пользователь №: 56 948



Цитата(andrewlekar @ May 21 2010, 09:02) *
Стеки IDLE и STAT не маловаты?


Кто знает, может, конечно, и 128 байтов мало, но это ведь сам автор Jean J. Labrosse такие размеры установил, вряд ли всем, кто работает с uC/OS-II, пришлось эти размеры менять - по крайней мере, где-нибудь сведения о таком бы сохранились. Думаю, что не может быть дело в этом.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение May 21 2010, 11:21
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Вроде бы в коде указано по 40 OS_STK размер стеков.
Go to the top of the page
 
+Quote Post
Lemist
сообщение May 25 2010, 08:08
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 28-04-10
Из: город Харьков
Пользователь №: 56 948



Все оказалось гораздо проще. В исходниках (файл os_cpu_a.asm) в обработчике системного прерывания OS_CPU_PendSVHandler оказалась закомментированной строка
CBZ R0, OS_CPU_PendSVHandler_nosave ; Skip register save the first time
и программа, естественно, по первому разу улетала далеко-далеко, потому что в первый раз PSP - нуль. wacko.gif
Убрал комментарий, и все заработало...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 06:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016