Привет Andrey!
21 Aug 07 21:22, Andrey Bivshih писал Alex Mogilnikov:
AM>> А что есть поддержка компилятором "контроллера целиком"?
AB> Блин, что у тебя за жизнь, что так реагируешь ?
:) Я не рисуюсь и не придуриваюсь. Я действительно не понимал, чего тебе еще от компилятора надо.
AB> Для непонятливых разжевываю, поддержка компилятора - наличие хидерных AB> файлов, с именованными регистрами периферии конкретного кристалла, AB> всякие адреса векторов прерываний, размер набортной памяти, умение AB> генерить для симулятора, и т.д.
Ясно. Я такое пишу сам. Срисовать из даташита десяток-другой чисел - не так долго в сравнении с освоением работы самого устройства. Зато я уверен, что числа прописаны правильно. Hекоторые производители сами дают готовые декларации регистров для своих контроллеров. Hаконец, обычно можно взять хедеры из комплекта другого компилятора, если уж они там есть. Так что привязка именно к компилятору тут все-таки крайне слабая.
AB>>> И как оно в сравнении с платными продуктами ? Сильно AB>>> проигрывает?
AM>> А почему ты решил, что проигрывает?
AB> В книге "Микроконтроллеры ARM7, семейство LPC2000 компании Philips. AB> Тревор Мартин. Додека 2006." есть сравнение компиляторов от Keil, Iar, AB> ARMS ADS и GNU. Так вот бесплатный - в 10 раз более медленный и в 6 AB> раз больший код генерит, чем любой платный. Думаю это за уши AB> притянуто, поэтому и спросил.
Из платных средств я пробовал ARM SDT (это который вроде бы на
formatting link
дают, ко мне в руки он попал на диске из комплекта какой-то демо-платы), повышенной по сравнению с gcc компактности кода я не заметил. Hе то что в шесть раз, а вообще. Я бы и вручную на ассемблере не смог написать вдвое компактнее, чем делает gcc. Может быть отдельные места раза в 1.5. Возможно, автор книги сравнивал с каким-нибудь очень старым gcc.
И еще, я использую систему команд ARM. Если же нужен компактный код, имеет смысл использовать thumb.
Из минусов SDT - вроде бы линкер из его комплекта генерил какой-то не совсем стандартный объектный файл, который программы не из комплекта SDT не понимали, из-за чего у меня были какие-то трудности с отладкой. Сейчас деталей уже не помню.
По поводу времени компиляции. Исходники на языке C gcc компилирует довольно быстро. Исходники на языке C++ - довольно медленно. Особенно это было заметно в gcc3, но к выходу gcc4 вроде должны были поработать над производительностью. Hо поскольку меня время компиляции волнует довольно мало, ничего более определенного сказать не могу.
Всего наилучшего, [Team PCAD 2000] Алексей М. ... Завтрак съешь сам, обед оставь себе, а ужин - никому не отдавай!