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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Непонятки со средой 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
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
сообщение Jan 23 2006, 05:41
Сообщение #3


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

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



Да нет, сильно похоже на глюк компилятора.
У мипсов в векторах прерываний должно быть или переход на функцию либо сама функция.
Wigglera у меня нет, отлаживаюсь через Com порт.
Хотя враги пишут, что поддержка есть.
Go to the top of the page
 
+Quote Post
jojo
сообщение Jan 23 2006, 08:34
Сообщение #4


Знающий
****

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



Все же эту проблему можно решить через стартап. Там, в векторе прерываний сделать переход по тому адресу, который был получен с помощью pragmы interrupt.
Go to the top of the page
 
+Quote Post
andk
сообщение Jan 23 2006, 12:49
Сообщение #5


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

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



Да я так и сделал, когда увидел что мне нагенерил компилятор.
Но "Абыдно, да?".
Вообще общее впечатление от софта для разработки мипсов - какое-то все кривое, убогое.
Уже пожалел, что связался с этими процами.
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Jan 23 2006, 15:02
Сообщение #6


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(andk @ Jan 23 2006, 15:49) *
Вообще общее впечатление от софта для разработки мипсов - какое-то все кривое, убогое.
Уже пожалел, что связался с этими процами.
Странно все это.
MIPS довольно уверенно лидирует на рынке embedded-настольно-consumer девайсов: мелкие и средние роутеры, Set Top Boxes, digital video & audio. Т.е. в тех областях, где ими занимаются серьезные фирмы. И что, куча девелоперов сидит на кривых средствах разработки во имя каких-то непонятных целей? blink.gif

Может, правильные средства разработки еще не ...и?

ARM уверенно лидирует на рынке портативных деайсов и простых контроллеров с FLASH.

MIPS FLASH контроллеры мне известны одни - от Тошибы
TX19 Family
http://www.semicon.toshiba.co.jp/eng/prd/m.../td/td_all.html
Go to the top of the page
 
+Quote Post
andk
сообщение Jan 23 2006, 16:40
Сообщение #7


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

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



Цитата(Evgeny_CD @ Jan 23 2006, 20:02) *
Странно все это.
И что, куча девелоперов сидит на кривых средствах разработки во имя каких-то непонятных целей?


Спасибо за ссылку, посмотрю.

Цитата(Evgeny_CD @ Jan 23 2006, 20:02) *
Может, правильные средства разработки еще не ...и?


Ну может и не с...и smile.gif

Кроме досады на каждом шагу у меня других положительных чуств не возникло.
То не поддерживают мой проц, то кривое как у выше описанного, то еще какая фигня.
Вроде и процы хорошие а время я убиваю на вылавливание плохо документированных фич, поиск ошибок в "примерах" и на борьбу с софтом. Про гнутый софт - отдельная песня.

Скомпилировал проект в грин хиле - не могу загрузить в проц!
Фантастика!
ELF не грузится, потому что как выяснилось, IDTSIM(монитор/отладчик живущий в пзу)
может грузить только 6 программных секций, а грин хил, который вобщем-то на бумаге поддерживает этот IDTSIM делает запросто 16 секций.
Ну ладно, не можешь ELF - грузи Srec. Фиг там!!!
Вчера дошел до очередного сладкого места - при превышении какого-то обьема кода при загрузке грин хил не дожидается от IDTSIMа промпта-готовности и говорит "тайм-аутнах". Настройка тайм-аута есть, но не работает.
Все.
Приплыл.
Сижу и думаю "Ну что, еще и загрузчик свой писать с отладчиком?"

С другой стороны я уже почти созрел купить нормальный софт, только куда смотреть?
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Jan 23 2006, 17:24
Сообщение #8


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(andk @ Jan 23 2006, 19:40) *
Скомпилировал проект в грин хиле - не могу загрузить в проц!
Фантастика!
ELF не грузится, потому что как выяснилось, IDTSIM(монитор/отладчик живущий в пзу)
может грузить только 6 программных секций, а грин хил, который вобщем-то на бумаге поддерживает этот IDTSIM делает запросто 16 секций.
Ну ладно, не можешь ELF - грузи Srec. Фиг там!!!
Вчера дошел до очередного сладкого места - при превышении какого-то обьема кода при загрузке грин хил не дожидается от IDTSIMа промпта-готовности и говорит "тайм-аутнах". Настройка тайм-аута есть, но не работает.
Все.
Приплыл.
Сижу и думаю "Ну что, еще и загрузчик свой писать с отладчиком?"

С другой стороны я уже почти созрел купить нормальный софт, только куда смотреть?
Ну а если http://www.macraigor.com/ через Wiggler & JTAG?

Еще есть стандартный MIPS лоадер YAMON.
Go to the top of the page
 
+Quote Post
andk
сообщение Jan 24 2006, 04:19
Сообщение #9


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

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



Спасибо за ответы.
Поплакался в жилетку, блин, легче стало smile.gif
Грин хил снес к черту, буду расковыривать SDE-MIPS от MIPS.org (бывший Algoritmics) - весь ГНУтый насквозь.
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Jan 24 2006, 08:25
Сообщение #10


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(andk @ Jan 24 2006, 07:19) *
...Грин хил снес к черту, буду расковыривать SDE-MIPS от MIPS.org (бывший Algoritmics) - весь ГНУтый насквозь....
это оно?
http://www.mips.com/content/Products/Softw...te/content_html
mips.org что-то у меня не открывается.

Еще сборка GNU тулзов. Хоть и первоначально ориентирована на PPC, но MIPS и ARM вполне нормально поддерживает.
http://www.denx.de/wiki/DULG/ELDK
http://www.denx.de/wiki/view/DULG/ELDKAvailability

Сообщение отредактировал Evgeny_CD - Jan 24 2006, 08:52
Go to the top of the page
 
+Quote Post
andk
сообщение Jan 24 2006, 10:27
Сообщение #11


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

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



Угу, оно. MIPS.com, вы правы.

Спасибо за ссылки, посмотрю
Go to the top of the page
 
+Quote Post
palito
сообщение Jan 24 2006, 12:08
Сообщение #12


Участник
*

Группа: Свой
Сообщений: 26
Регистрация: 27-02-05
Из: Волгоград
Пользователь №: 2 912



Цитата(Evgeny_CD @ Jan 23 2006, 20:24) *
С другой стороны я уже почти созрел купить нормальный софт, только куда смотреть?

Ну а если http://www.macraigor.com/ через Wiggler & JTAG?
Еще есть стандартный MIPS лоадер YAMON.


Извиняйте, что вклиниваюсь....

Опыта работы с GHS MULTI у меня нет, всё что делал под MIPS делал на GNU ELDK - особых проблем не заметил. Работал совсем немного (факультативно wink.gif) по этому грузил bin (loader ADAM2) путём отпаивания flash, её программирования в программаторе и обратного запаивания... потом, уже через ADAM2 грузил Linux. Вот сам буквально вчера озадачился "более современными" методами работы с процем... jtag.

Долго смотрел на jtag адаптеры от GHS - вроде описано всё красиво, да и с MULTI должно работать на ура. Правда вот цены кусаются... Самый простенький адаптер http://www.ghs.com/products/slingshot.html стоит $990... Но зато привлекает его универсальность.

MIPS® SDE - не пробовал, в linux перезагружаться некогда...

Скачал с MIPS.com Multi® 4.0.7 includes integration with MIPSsim™ Simulator - видимо демо, но пощупать хочется.

Сейчас паяю Wiggler - посмотрю, что с ним можно сделать по отношению к MIPS.
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Jan 24 2006, 12:52
Сообщение #13


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(palito @ Jan 24 2006, 15:08) *
...потом, уже через ADAM2 грузил Linux...
Это оно?
http://seattlewireless.net/?ADAM2
Go to the top of the page
 
+Quote Post
palito
сообщение Jan 24 2006, 14:21
Сообщение #14


Участник
*

Группа: Свой
Сообщений: 26
Регистрация: 27-02-05
Из: Волгоград
Пользователь №: 2 912



Да, то самое.

Сейчас запаял Wiggler, используя OCD Commander пытаюсь провести отладку... Шагает, показывает регистры ... как читать память ещё не понял. Ну и тормоза с этим Wiggler.... пока пустой цикл на 0хFFFF отработает можно и пообедать и поспать wink.gif
Go to the top of the page
 
+Quote Post
andk
сообщение Jan 25 2006, 04:41
Сообщение #15


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

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



Ух ты! А что уже есть Multi 4.07? А где бы его качнуть?
И про Адама я не знал. Смотрю на него усиленно smile.gif

>>MIPS® SDE - не пробовал, в linux перезагружаться некогда...
Да она виндовая, не нужно никуда перегружаться...

Сообщение отредактировал andk - Jan 25 2006, 04:44
Go to the top of the page
 
+Quote Post

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

 


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


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