FormatCft 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Всем здравствуйте. === Я смотрю в основном люди пользуют иар. Даже ветка выделена специальная. Особо интересно мнение тех, кто пользовался другими компиляторами. В чем его основные достоинства и недостатки? === Всем заранее спасибо за ответы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Плюсы в том, что ИАР - это один из лидеров в своей области. Поэтому: - его компиляторы, во-первых, работают, - а во-вторых, работают достаточно хорошо ;) Ну, а если серьезно, то компилятор многоплатформенный, поддерживает множество семейств МК. Денег у фирмы много, что позволяет быстро выпускать новые версии, достаточно активно реагировать на новые веяния и т.д. И что немаловажно, не жлобиться на хорошие демо-версии. Но, если взглянуть шире (ширее :) ), то можно обнаружить достаточно много семейств МК, для которых самыми популярными (и лучшими) компиляторами являются отнюдь не продукты от ИАР... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FormatCft 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Плюсы в том, что ИАР - это один из лидеров в своей области. Поэтому: - его компиляторы, во-первых, работают, - а во-вторых, работают достаточно хорошо ;) Ну, а если серьезно, то компилятор многоплатформенный, поддерживает множество семейств МК. Денег у фирмы много, что позволяет быстро выпускать новые версии, достаточно активно реагировать на новые веяния и т.д. И что немаловажно, не жлобиться на хорошие демо-версии. Но, если взглянуть шире (ширее :) ), то можно обнаружить достаточно много семейств МК, для которых самыми популярными (и лучшими) компиляторами являются отнюдь не продукты от ИАР... === Мне много не нужно. АРМы от NXP и всё пожалуй на данный момент моей жизни. === Для армов, я так понял, лучшим является кейл (код получается более компактным и быстрым + некоторые удобные фишки для работы). [С моей точки зрения Кейл слегка неудобен в использовании (может непривычней). Поэтому решил с него вернуться обратно на CW (который собственно не без глюков, хотя и незначительных. Но спать спокойно не дают)] ----- Но эта быстрота в пару процентов никуда не упирается как правило. Да и флеши всегда остается с большим запасом. === Так что главным является удобство работы в среде: -удобство интерфейса; -удобный поиск; -удобный мониторинг состояние процессора; -возможность смотреть что с переферией; -что с памятью и как и что в ней лежит; -удобная отладка с возможностью налету просматривать состояние переменных; === Еще плюсом ИАРа является то, что на нем сидит основная толпа разработчиков, поэтому есть у кого спросить. === В CW есть полезная функция Symbol Browser, в котором: 1) показываются все сегменты; 2) показываются константы в флешке с адресами и размером; 3) статические переменные в озу с адресами и размером; 4) ... Есть ли такая в ИАР? === Плюс к тому некоторые изменения CW крайне редки, ИМХО. Чувствуется некоторая запущенность в свободное плавание. === Вопросы к тем кто имеет опыть пользования и того и другого: 1) Может на счет кейла сильно ошибся? 2) Что лучше: кейл или иар? === Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба Для армов, я так понял, лучшим является кейл (код получается более компактным и быстрым + некоторые удобные фишки для работы). тут еще спорный вопрос написал я небольшой тестовый код посммотреть какой IAR и Keil делают код для Cortex volatile int z = 1000; volatile int i; int testA(int za) { if (za>= 500) { z = z /13; return(-10); } else return(za+10); } int main(void) { int tz; tz = 1000; while(tz--) { i = testA(tz+z); if (i) z = 1; else z = 0; }; } Код полный боред. Код использует переменные volatile в коде и в функции. Рузультат IAR ~18000 циклов Keil ~26000, это лучшие показатели при выборе параметров компиляции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 29 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба С кейлом не сравнивал, но по сравнению с GCC код у IARа получается более компактным. Но есть по-моему у ИАРа жирный минус - откровенно слабая ИДЕ, по нынешним временам и за такие бабки можно бы и поднавернуть немного. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба Но есть по-моему у ИАРа жирный минус - откровенно слабая ИДЕ, по нынешним временам и за такие бабки можно бы и поднавернуть немного. У гнуся IDE нет вообще, так что те, кому не нравится иаровская среда могут прикрутить IARBuild к любому понравившемуся редактору (их масса, на любой размер и глубину ;) ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба Но есть по-моему у ИАРа жирный минус - откровенно слабая ИДЕ... Не видел ее уже года полтора :), а компилятор пользую ежедневно.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Proton 1 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба Не видел ее уже года полтора :), а компилятор пользую ежедневно.... Можно поинтересоваться в какой среде Вы выполняете отладку программ? Для написания кода действительно лучше использовать специализированые редакторы типа SourceInsight, однако альтернатив отладчика IARа я не знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба однако альтернатив отладчика IARа я не знаю. Сложность программ начиная с некоторого уровня делает внутрисхемную отладку практически бесполезной. Более того, и достаточно простые программы начинающих отладчик провоцирует писать заплаточным методом - вот тут x + y получилось 3, хотели 4, так сейчас допишем + 1, потом ежели где вылезет там отнимем -1..... В результате макроме получаем. Самый мощный отладчик это голова - ее и надо использовать прежде всего. Набор отладочных внутрисхемных отладочных средств на все свои контроллеры имею, но не пользуюсь. Консоль много информативнее. Если речь идет об отладке куска сишного кода, так его можно и на кроссплатформе отлаживать. Ну а если припрет, то, как здесь уже неоднократно писалось - создать IAR проект содержащий только объектники с отладочной информацией и отлаживайтеcь... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FormatCft 0 18 декабря, 2008 Опубликовано 18 декабря, 2008 · Жалоба Сложность программ начиная с некоторого уровня делает внутрисхемную отладку практически бесполезной. Более того, и достаточно простые программы начинающих отладчик провоцирует писать заплаточным методом - вот тут x + y получилось 3, хотели 4, так сейчас допишем + 1, потом ежели где вылезет там отнимем -1..... Закон сохранения гвоздей называется )) Код не доска или можно сказать и доска, но только в 10ти мерном пространстве, поэтому не так просто иногда понять в чем дело. Поэтому и нужны дополнительные инструменты, которые преобразуют эту страну чудес в обычный почти объективный мир (чем больше таких инструментов, тем лучше). === К тому же программист это не столяр, который может 100 раз измерить своим трезвым глазом и один раз отрезать кому-нибудь (чего-нибудь). Поэтому чаще всего программа даже у людей с опытом, хочешь не хочешь, похожа на ежа из гвоздей если не видеть что происходит в области inside. === И не отрицаю, что у некоторых голова как глобус (с масштабом 1:1), который может предсказания давать для этого причудливого мира. С джидаями начального и среднего уровня всё иначе (к числу их собственно и относится основная толпа). === И прошу не счесть, что: одна таблетка помогает от бессоницы, но плохо. Две помагают хорошо. А три помагают навсегда... Просто хочется иметь очень широкий спектр инструментов: начиная от пилки для ногтей и кончая пилой "дружбой" для особо-запущенных случаев. === !ИМХО! === Дак всё же. Кейл или Иар? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
roman555 0 18 декабря, 2008 Опубликовано 18 декабря, 2008 (изменено) · Жалоба Сложность программ начиная с некоторого уровня делает внутрисхемную отладку практически бесполезной. Консоль много информативнее. zltigo, а можете пояснить свою мысль? Чем принципиально консоль от окна отладчика отличается? К тому же Uart-ы бывают все заняты... Изменено 18 декабря, 2008 пользователем scout Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 18 декабря, 2008 Опубликовано 18 декабря, 2008 · Жалоба Чем принципиально консоль от окна отладчика отличается? Тем что консоль работает в контексте программы и не влияет на работу остальных модулей программы, если конечно правильно написана и требования к скорости вывода отладочной информации соответствуют скорости вывода консоли. Консоли разные бывают необязательно для этого использовать уарт, но как правило используется он из за его простоты, но у него есть ограничения по скорости, хотя если применять USB переходник то скорость можно поднять и выше 115200. Если в устройстве есть изернет можно его как консоль использовать, если конечно не идет отладка самого стека :). Что косается отладчика внутрисхемного, так он сбивает работу устройства, отладчик останавливает процессор! а не время, по этому когда вы смотрите информацию время идет большая часть периферии продолжает работать, сеть шлет вам пакеты, и т.д. в общем реалтайм уже отсутствует, из за этого некоторые вещи невозможно отладить!. да и скорость у него низкая попробуйте посмотреть 2 -килобайта массив ? мало - того что среда тормозить начинает, так еще и с программой непонятно что творится будет, а через консоль это раз и файл записан и смотрите на него как хотите. Еще отладчик накладывает жесткие требования к выводу информации, в консоли выводите так как вам нужно или на сколько позволяют ресурсы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 18 декабря, 2008 Опубликовано 18 декабря, 2008 · Жалоба Добавлю одно из важных отличий - ведется лог событий той или иной заказанной степени детализации и видны причинно следственные связи. Причем все это и без подключенного отладчика в реальных объектовых условиях эксплуатации. Просто хочется иметь очень широкий спектр инструментов: начиная от пилки для ногтей и кончая пилой "дружбой" для особо-запущенных случаев. Так я, если внимательно читали, их и имею. Только ногти не запускаю так сильно, что-бы бензопила потребовалась :). Реально, мне пригодился-бы отладчик один раз - когда изучал, например, ARM, писал порт операционки. Вот тогда она у меня разок зациклилась намертво и пришлось искать проблему откатами и делением пустыни пополам. Но тогда в эту первую неделю отладчик мне еще не привезли. А когда уже системка поднялась, консольнормальная буферизированая, обработчик exceptions... отладчик и не нужен практически. Для AVR пользовался (кроме загрузки)тоже один раз для совсем мелюзги. PIC - только для загрузки. Больше всего пользовал BlackFin-овский. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
roman555 0 18 декабря, 2008 Опубликовано 18 декабря, 2008 · Жалоба MALLOY и zltigo спасибо за информацию. Сейчас как раз настало то время, когда надо отладить пару девайсов, а отладчика нет. Попробую написать универсальный модуль для вывода отладочной информации... Кстате, а в качестве терминальной программы что пользуете? Hyper Terminal? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FormatCft 0 18 декабря, 2008 Опубликовано 18 декабря, 2008 · Жалоба MALLOY и zltigo спасибо за информацию. Сейчас как раз настало то время, когда надо отладить пару девайсов, а отладчика нет. Попробую написать универсальный модуль для вывода отладочной информации... Кстате, а в качестве терминальной программы что пользуете? Hyper Terminal? GemorTerminal на самом деле это. Совершенно не удобен. Лучше использовать что-нибудь по лучше. Или лучше написать самому (лично сам своё использую). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться