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

 
 
> Непонятки со средой Green Hills for MIPS
andk
сообщение Jan 20 2006, 05:29
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 199
Регистрация: 17-12-04
Из: Миасс
Пользователь №: 1 519



Попробовал писать для MIPS на Green Hills MULTI v4.0.5 и наткнулся на такой прикол:
Пишу процедуру прерывания по примеру из их документации:
Процессор - IDT 79RC32355

__interrupt void foo(void);

int main(int argc, char *argv[])
{
bla-bla-bla
}

#pragma intvect foo 0x80000200
__interrupt void foo()
{
bla-bla-bla
}
Компилируется, линкуется на ура.
Не работает.
Смотрю под отладчиком - в 0x80000200 лежит АДРЕС функции foo!!!!
А должен быть либо переход на нее либо сама функция должна там расположиться.

Еще один прикол связан с генерацией ELF файла:
В линкерном скрипте для секции ставлю атрибуты "NOLOAD"
В ELF вижу - ВСЕ программные секции с атрибутом "LOAD"

Кто нибудь сталкивался ?
Может что-то не так делаю?
Искал на сайте у зеленых - не нашел ни патчей, ни еррат - Ну не верю что софт у них безглючный!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jojo
сообщение Jan 20 2006, 13:38
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Может быть, так и надо. Вопрос в том, как устроен startup для Мипсов. И как работают в них прерывания.

Я когда-то делал проект в GreenHills ARM. Прагмой

#pragma ghs interrupt
void handler(void){

}

делается обработчик прерывания.

А в стартапе делается переход по адресу handler.
.import handler
...
ldr pc, [pc, #&18] ; IRQHandler
...
DCD handler

Вообще то, что у вас получилось, скорее всего годится для вызова функции обработчика прерывания.
Про секции вообще не знаю.

Вы через Wiggler отладку не пробовали? Работает она вообще для МИПСов?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- andk   Непонятки со средой Green Hills for MIPS   Jan 20 2006, 05:29
- - andk   Да нет, сильно похоже на глюк компилятора. У мипсо...   Jan 23 2006, 05:41
- - jojo   Все же эту проблему можно решить через стартап. Та...   Jan 23 2006, 08:34
- - andk   Да я так и сделал, когда увидел что мне нагенерил ...   Jan 23 2006, 12:49
|- - Evgeny_CD   Цитата(andk @ Jan 23 2006, 15:49) Вообще ...   Jan 23 2006, 15:02
|- - andk   Цитата(Evgeny_CD @ Jan 23 2006, 20:02) Ст...   Jan 23 2006, 16:40
|- - Evgeny_CD   Цитата(andk @ Jan 23 2006, 19:40) Скомпил...   Jan 23 2006, 17:24
|- - palito   Цитата(Evgeny_CD @ Jan 23 2006, 20:24) С ...   Jan 24 2006, 12:08
|- - Evgeny_CD   Цитата(palito @ Jan 24 2006, 15:08) ...по...   Jan 24 2006, 12:52
- - andk   Спасибо за ответы. Поплакался в жилетку, блин, лег...   Jan 24 2006, 04:19
|- - Evgeny_CD   Цитата(andk @ Jan 24 2006, 07:19) ...Грин...   Jan 24 2006, 08:25
- - andk   Угу, оно. MIPS.com, вы правы. Спасибо за ссылки, ...   Jan 24 2006, 10:27
- - palito   Да, то самое. Сейчас запаял Wiggler, используя OC...   Jan 24 2006, 14:21
- - andk   Ух ты! А что уже есть Multi 4.07? А где бы его...   Jan 25 2006, 04:41
- - palito   Да качнуть его можно прямо с mips.com ftp://ftp.mi...   Jan 27 2006, 09:13


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:00
Рейтинг@Mail.ru


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