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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> проблема - uCos и USART IRQ handler, не могу нормально запустить свой обработчик прерывания в uCos-e
_dem
сообщение Apr 5 2007, 18:23
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970



Цитата(Tahoe @ Apr 3 2007, 14:27) *
2 _dem
А с чем связан прыжок обратно, с FreeRTOS на uCOS? Если не секрет? wink.gif


Не секрет smile.gif

Под FreeRTOS для IAR не удалось в разумный срок портировать LwIP, а uIP дал скорость потока TCP/UDP порядка 3-5 кбайт в секунду, что не достаточно.

Порт LwIP + FreeRTOS для Rowley устроил всем, кроме одного - под нашим J-Link он (Rowley) зашивает MCU порядка минуты. Опять таки, ни скудные мануалы Rowley, ни форумы не помогли решить проблему (в т.ч. пробовались разные версии драйвера J-Link).

Огорчились, выпили чего-то там... Пересоздали с нуля проект uCOS для IAR, прерывания USART запустились и в данный момент работает все отлично (тьфу-тьфу-тьфу).

Разобраться, в чем именно был затык, попытаюсь, как только будет время - а пока работаем дальше.

TCP/IP стек uC/OS-ii дал с ходу в простейшем тесте поток порядка 3.5 мбайта в секунду (только одна задача - отправка данных в цикле).

smile.gif
Go to the top of the page
 
+Quote Post
Tahoe
сообщение Apr 6 2007, 05:59
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600



dem
Понятно. Я пока тоже до конца не разобрался с прерываниями. На данный момент вроде работает. Но некоторые траблы остались. Например сейчас из ddf выкинул AIC_IVR, вроде как работает. Но вылезла другая бяка. Если включен в IAR-е uCOS-плугин, то всё работает до первой остановки дебага. Потом уже не запускается. Но теперь я хоть регистры AIC вижу, так что разберусь попозже. smile.gif


Кстати, интересно, это только у меня такая бяка: если дебаг остановлен в хендлере прерывания, то при попытке посмотреть в "хинте" значение локальной переменной IAR 4.41a просто падает. Попробовал, снёс папку settings в проекте, но не помогло. Сама пременная static int16u.
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Apr 6 2007, 09:43
Сообщение #18


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Цитата(_dem @ Apr 5 2007, 19:23) *
Порт LwIP + FreeRTOS для Rowley устроил всем, кроме одного - под нашим J-Link он (Rowley) зашивает MCU порядка минуты. Опять таки, ни скудные мануалы Rowley, ни форумы не помогли решить проблему (в т.ч. пробовались разные версии драйвера J-Link).

Надо было виглер пользовать, кроссворкс с ним на порядок быстрее работает.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
_dem
сообщение Apr 6 2007, 10:09
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970



Цитата
при попытке посмотреть в "хинте" значение локальной переменной IAR 4.41a просто падает


именно в "хинте", не в Watch/Quick Watch ?


Цитата
Надо было виглер пользовать, кроссворкс с ним на порядок быстрее работает.


С вигглером мучались ранее - так и не смогли заставить его работать под IAR... хотя, может, плохо старались smile.gif т.к. к тому времени уже приехала eval board и 2 J-link-а

А съезжать с привычного всем IAR-а на CrossWorkx из-за TCP/IP стека было не совсем хорошо. Хотя лично мне Rowley понравился больше, чем иар...
Go to the top of the page
 
+Quote Post
Tahoe
сообщение Apr 6 2007, 17:15
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600



Цитата(_dem @ Apr 6 2007, 11:09) *
именно в "хинте", не в Watch/Quick Watch ?

Да, именно в "хинте". Что неприятно, можно случайно остановить мышь "не в том месте" и вуаля. ИАР закроется. Причём без всяких GPF, просто тихо вываливается в винду и всё.
Пока думаю, что эта проблемка моя, локальная, а не глюк ИАРа. Просто на всякий случай решил спросить, может кто откликнется, это же недолго проверить. smile.gif

Цитата(_dem @ Apr 6 2007, 11:09) *
С вигглером мучались ранее - так и не смогли заставить его работать под IAR... хотя, может, плохо старались smile.gif

Именно плохо старались. wink.gif IAR нормально работает с Wiggler через RDI->HJTAG. И имхо гораздо стабильнее, чем напрямую. Причём у меня прямо сейчас висит на плате цепочка из SAM7S и MAX-II. Видится и шьётся без проблем, что проц, что ПЛИС.

Цитата(_dem @ Apr 6 2007, 11:09) *
Хотя лично мне Rowley понравился больше, чем иар...

Да ну... Ёлочка новогодняя, а не среда разработки.
Go to the top of the page
 
+Quote Post
Velund
сообщение Apr 8 2007, 18:41
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



Цитата(Tahoe @ Apr 6 2007, 06:59) *
Если включен в IAR-е uCOS-плугин, то всё работает до первой остановки дебага. Потом уже не запускается. Но теперь я хоть регистры AIC вижу, так что разберусь попозже. smile.gif


Я наступал на подобные грабли (на LPC2129) - вылечилось небольшой модификацией тикера (переходом с free-running timer на сброс при досчете). Не самое лучшее что можно придумать, таймер для другого не попользуешь, но по крайней мере он быстро "подхватывает" инты после останова.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 11:56
Рейтинг@Mail.ru


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