воскресенье, 10 февраля 2013 г.

декомпиляция elf arm9

14. Неонил, 25.03.2004 10:17 AlexOrДавал бы редактировать проект да выдавал бы hex и cofКстати, а cof куда дальше?И что значит повисла?Да как только дошло до прерываний, прога провисает гдето в недрях библиотеки, а IAR-овский дибугер даже с JTAGICE не может в ассемблер зайти. Г короче ваш IAR, всю душу мне выел.

13. AlexOr, 25.03.2004 09:43 НеонилВ IARе без покупного ($$$) саппорта ИМХО делать нечего. Как только прога провисла - ищи новый компилер...Какого саппорта? Давал бы редактировать проект да выдавал бы hex и cof, но чтоб с нормальной оптимизацией, а остальное ерунда.И что значит повисла?DrAG0nа зачем писать было unsigned long? там же unsigned char... может за счет этого такая гора команд и была?А компилер что не тупо поступает, когда делает полный AND когда используется один байт результата из четырех? Кстати, не только мы здесь ICCAVR ругаем. Разница в размере конечного кода в 2.7 раза - впечатляет.

12. Неонил, 25.03.2004 09:07 DrAG0nа VMWare не совсем подходит - машина слабовата...Не совсем. Если мозгу 256, вынь98 будет работать ок. Вот только инсталяция будет тормозить - но это нужно сделать только один раз.

11. DrAG0n, 25.03.2004 08:15 ДВМа зачем писать было unsigned long? там же unsigned char... может за счет этого такая гора команд и была?Добавление от 25.03.2004 08:17:Неонила VMWare не совсем подходит - машина слабовата... У меня и так то vmlab тормозит, а тут, наверное, вообще по шагам будет (проц VIA C3-733 - как celeron400 примерно). Хотя, видимо, буду пробовать скоро.

10. Неонил, 25.03.2004 07:15 AlexOrДВМdimonicheSquirrelcageDiamantЯ вообще не понимаю, как можно любить IAR Я убил на него три недели, но так нормально работать и не заставил. Для сравнения на CV прога заработала за час, на GCC-AVR два часа.В IARе без покупного ($$$) саппорта ИМХО делать нечего. Как только прога провисла - ищи новый компилер...

9. AlexOr, 25.03.2004 01:43 dimonicheIAR по моему лучший для AVR, если проект большой (>10000 строк)Почему >10К строк ? А если 5К ?ДВМvoid main { unsigned long ul = PORTA; ul &= PORTB; PORTA = ul; }Это конечно экстремальный случай, но показательно - оптимизации нет совсем.Добавление от 25.03.2004 02:02:Если качать это -Download 30-day evaluation version (52632 KB) какова его функциональность в отличии от нормальной версии?Например, ICCAVR evaluation version фактически полнофункциональна только с ограничением по времени.

8. ДВМ, 24.03.2004 17:59 Кстати, насчет ImageCraft - когда я рассматривал возможность его использования, перелопатил листинги кучи фрагметнов кода для проверки оптимизации. До сих пор помню кусок, от листинга которого я выпал в осадок void main { unsigned long ul = PORTA; ul &= PORTB; PORTA = ul; }AFAIR, получилось что-то около 35 команд IAR (сейчас стоит 3.10C) это дело компилит в ЧЕТЫРЕ команды, что совершенно логично (IN, IN, AND, OUT).

7. dimoniche, 24.03.2004 17:11 IAR по моему лучший для AVR, если проект большой (>10000 строк кода)Добавление от 24.03.2004 17:12:И код ассемблерный выдает приличный. (можно даже иногда использовать, то что он там нагенерил)

6. Diamant, 24.03.2004 12:43 автоперевод с транслита:иццавр тины - хорош в случайе если надо бистро цделат для недоделанного АТ90С1200 что нибуд простенкоеto Chudik - так лучше? я же в Эстонии, здесь не все компьютеры кириллицу имеют, а тег RUS во все красе делает вышенаписанноеPS можешь ставить бан за обсуждение действий администрации

5. AlexOr, 24.03.2004 12:03 А как насчет стеков? Например, в ICCAVR (ImageCraft) два стека - аппаратный и Сишный. Иногда это минус.SquirrelcageImageCraft мне что-то не нравится - оптимизирует плохо, даже по сравнению с GCC. Для сравнения можно попробовать откомпилировать такой код:Мне особенно "понравился" этот момент: 0033 2F8C MOVR24,R28 0034 2F9D MOVR25,R29 0035 2F08 MOVR16,R24 0036 2F19 MOVR17,R25А вообще я пользовался только ICCAVR, но как посмотришь на lst так думаешь лучше б и не смотрел - ужас обычно. Была попытка перейти на GCC, но он ведь весь какой-то левый и не доделанный - называется, слепили из того что было - нет доверия.Так что? IAR ?

4. Squirrelcage, 24.03.2004 10:36 Не спец по AVR, но пять копеек добавлю:GCC-AVR неплох, но иногда тупит маленько. Например, попробуйте откомпилировать такой фрагмент кода (с включенной оптимизацией -O2, -O3 или -Os):код:unsigned short u;u = (PORTA << 8) | PORTB;PORTA = (unsigned char)(u >> 8);PORTB = (unsigned char)u;Версия 20030913 выдает какую-то туфту, хотя и работающую. Для сравнения - IAR пакует это в 4 команды.Симулятор из комплекта WinAVR поддерживает далеко не все АВРы.AVR-OBJDUMP, вроде бы, иногда генерирует глючный COFF (не загружается в AVRStudio 3.точно_не_помню_версию).CodeVision вообще не смотрел.IAR в основном и использую.ImageCraft мне что-то не нравится - оптимизирует плохо, даже по сравнению с GCC. Для сравнения можно попробовать откомпилировать такой код:код:unsigned char buffer[64];unsigned char* p = buffer;do { *p++ = PORTA; } while (p < buffer + sizeof(buffer));Хотя не факт, что это верно во всех случаях.

3. Diamant, 24.03.2004 10:33 CodeVision - крайне непонятный, сообщения об ошибках оставляют тебя настолько в затруднительном положении, что дальше некуда... Единственный плюс наличие проектного Визарда и встроенные SPI IIC RC5 и тпIAR - маленькая прелесть (щаз расцелую создателей) простой - хорошо документированный, ОТЛИЧНЫЙ дебаггер. В связке с AVR средой создания проектов (как называется непомню) вообще отлично

2. Неонил, 24.03.2004 10:02 DrAG0nПопробуй vmWare!!! ( ) "Виртуальная машина" называется. Позволяет из под линукса выполнять полнофункциональную винду в окошке.

1. DrAG0n, 24.03.2004 09:43 4) iccavr - я пользуюсь только им.Проблема еще возникла. Я работаю сейчас под Linux и очень доволен. Но под iccavr + VMlab приходится держать отдельный комп с W98, переключать мониторы и т.п. - не удобно очень...Посему, видимо, придется переходить под GCC - нативно я на ней программировал долго, как кросс не пользовал вообще. Пробовал запустить iccavr через wine - но то ли лыжи не едут... Лучше было бы конечно так... Если кто делал - поделитесь, плиз...?Еще - нужен программатор. Причем желательно, чтобы он был ч-з COM порт - пусть даже с доп железом на основе того же AVR.

Неонил, 24.03.2004 07:40 Мои личные впечатления вот какие:1) GCC-AVR, он же WinAVR. или Очень сильный компилятор, является частью проекта GCC, генерит удивительный код. Но вот документация... Если что-то не так, то найти концы очень нелегко... Разве что спросить у чуваков на Заставил его работать я за пол-дня, но когда у меня память где-то переполнилась, то угробил чуть ли не неделю на разборки...2) CodeVision Компилятор так себе, никакой, код грязный, неоптимальный... Но зато слепить на нём прогу можно за 5 минут. Регулярно им пользуюсь. И эмулятор терминала в нём полезный 3) IAR EWAVR Вроде бы жырный и сильный компилятор, но разобраться в нём, как на мой взгляд, нереально (если твоя контора проплатит обучение и тех поддержку, тогда другое дело). Лично я угробил 2-3 недели на возню с ним, как то заставил работать, но когда дошло дело до чего-то нетривиального, всё кончилось...

URL:  Время GMT +04. Даты в формате dd.mm.yyyy.

Конференция:  ( )

Версия для печати

Какой компилятор для AVR лучше? Делимся впечатлениями.

Какой компилятор для AVR лучше? Делимся впечатлениями. - Версия для печати - Конференция iXBT.com

Комментариев нет:

Отправить комментарий