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

 
 
> eCos 3.0 for Microblaze
KOLOBOK123124356
сообщение Aug 24 2011, 15:47
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 27-02-09
Пользователь №: 45 433



Доброго всем времени суток. Работаю над портированием eCos 3.0 для Microblaze 8.2 в EDK 13.2. В качестве примера использовал mONeCos (http://www.monstr.eu/wiki/doku.php?id=ecos:ecos) - это порт eCos 2.0 на Microblaze 7.0. Много чего почерпнул оттуда, подправил код в соответствие со своей конфигурацией. Успешно запустил на своей плате eCos 2.0 из дистрибутива. Для сборки своего образа eCos 3.0 использовал GNU тулзы из дистрибутива mONeCos - microblaze-uclinux. Но при линковке получал ошибку : ../microblaze-uclinux/bin/ld.real: --relax and -r may not be used together. Потому линковал библиотеку extras.o из консоли командой. Затем собрал тесты eCos, но что насторожило, что размер всех тестов от 300 до 500 kb а вот тест, который собственно и нужен а именно tm_basic получился размером 50,5 Mb)) причем основную часть занимает .bss секция. Пробовал залить tm_basic тест и попрыгать по коду через GDB но в итоге Microblaze загибался с ошибкой “Microblaze pipeline stalled on a blocking instruction or invalid bus access”
Какие нибудь идеи по этому поводу?? в частности причины ошибки линовки и какой то чересчур большой размер tm_basic.elf

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KOLOBOK123124356
сообщение Oct 18 2011, 10:30
Сообщение #2





Группа: Новичок
Сообщений: 8
Регистрация: 27-02-09
Пользователь №: 45 433



Здравствуйте! Возникла новая проблема при портировании eCos на Microblaze - сейчас работает UART, пытаюсь запустить тест tm_basic но при этом в системе не определяются системные тики. На сколько я понял тики генерятся от прерываний таймера, я настроил таймер чтобы давал прерывания каждые 10 мс. Что мне нужно допилить для определения в системе тиков??? Уже неделю бьюсь, помогите люди((
Go to the top of the page
 
+Quote Post
gosha
сообщение Oct 20 2011, 09:58
Сообщение #3


Местный
***

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



QUOTE (KOLOBOK123124356 @ Oct 18 2011, 14:30) *
Здравствуйте! Возникла новая проблема при портировании eCos на Microblaze - сейчас работает UART, пытаюсь запустить тест tm_basic но при этом в системе не определяются системные тики. На сколько я понял тики генерятся от прерываний таймера, я настроил таймер чтобы давал прерывания каждые 10 мс. Что мне нужно допилить для определения в системе тиков??? Уже неделю бьюсь, помогите люди((


Обработчик прерывания по таймеру работает?
Должен вызываться.hal_clock_initialize(CYGNUM_HAL_RTC_PERIOD);
Там должен обработчик прерывания по таймеру завеситься на нужное irq при помощи HAL_INTERRUPT_ATTACH()
После прерывания должны размаскироваться HAL_INTERRUPT_UNMASK()

Должны глобально разрешаться прерывания и они позже не должны случайно за- маскироваться.

Это работает?


Я бы еще поставил печать отладочных сообщений в ф-ии (вызываются они или нет):
void hal_clock_initialize(cyg_uint32 period)
void hal_clock_read(cyg_uint32 *pvalue)
void hal_clock_reset(cyg_uint32 vector, cyg_uint32 period)
Go to the top of the page
 
+Quote Post
KOLOBOK123124356
сообщение Oct 26 2011, 10:41
Сообщение #4





Группа: Новичок
Сообщений: 8
Регистрация: 27-02-09
Пользователь №: 45 433



Цитата(gosha @ Oct 20 2011, 12:58) *
Обработчик прерывания по таймеру работает?
Должен вызываться.hal_clock_initialize(CYGNUM_HAL_RTC_PERIOD);
Там должен обработчик прерывания по таймеру завеситься на нужное irq при помощи HAL_INTERRUPT_ATTACH()
После прерывания должны размаскироваться HAL_INTERRUPT_UNMASK()

Должны глобально разрешаться прерывания и они позже не должны случайно за- маскироваться.

Это работает?


Я бы еще поставил печать отладочных сообщений в ф-ии (вызываются они или нет):
void hal_clock_initialize(cyg_uint32 period)
void hal_clock_read(cyg_uint32 *pvalue)
void hal_clock_reset(cyg_uint32 vector, cyg_uint32 period)

Спасибо большое - все заработало
Go to the top of the page
 
+Quote Post
KOLOBOK123124356
сообщение Oct 26 2011, 13:33
Сообщение #5





Группа: Новичок
Сообщений: 8
Регистрация: 27-02-09
Пользователь №: 45 433



Доброго всем времени суток! Настройка таймера прошла успешно, теперь запускается таймер, соответственно планировщик, появились наконец то системные тики, успешно запускаются тесты ядра, а именно tm_basic, вывод у них осуществляется через diag_printf(). Сейчас стоит задача запустить UART. С этим возникла проблема, а именно с обработчиком прерывания UART. При появлении прерывания от UART проц переходит на выполнение default_interrupt_isr, то есть затычки которая делает только return. Вообще судя по коду должен выполняться cyg_hal_plf_serial_isr, но этого не происходит. При запуске тестов из каталога io процессор просто крутит idle process. Помогите пожалуйста в чем может быть проблема?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- KOLOBOK123124356   eCos 3.0 for Microblaze   Aug 24 2011, 15:47
- - KOLOBOK123124356   Доброго всем времени суток! Теперь такая пробл...   Aug 26 2011, 18:26
|- - gosha   QUOTE (KOLOBOK123124356 @ Aug 26 2011, 22...   Sep 14 2011, 14:21
- - asket   Доброе время суток! Поскольку тема про ecos, ч...   Oct 18 2011, 04:18
|- - gosha   тим всё выкачивается с помощью утилиты cvs http:/...   Oct 18 2011, 07:32
|- - gosha   QUOTE (KOLOBOK123124356 @ Oct 26 2011, 17...   Nov 1 2011, 05:02
|- - KOLOBOK123124356   Цитата(gosha @ Nov 1 2011, 08:02) На треб...   Nov 1 2011, 08:50
|- - gosha   QUOTE (KOLOBOK123124356 @ Nov 1 2011, 11...   Nov 1 2011, 17:10
|- - KOLOBOK123124356   Здравствуйте! Спасибо за Ваши ответы. Как оказ...   Nov 2 2011, 10:43
|- - gosha   QUOTE (KOLOBOK123124356 @ Nov 2 2011, 13...   Nov 3 2011, 05:58
- - asket   Вопрос новичка, у нас проблема с сетью, контроль т...   Oct 24 2011, 12:30
- - asket   Может кто посоветует, где взять порты под ecos на ...   Oct 27 2011, 06:35
- - KOLOBOK123124356   Нужна помощь в запуске UART под eCos. На данный мо...   Oct 28 2011, 08:53


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

 


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


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