компилятор С и среда разработки для AVR - Page 5

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Re: компилятор С и среда разработки для AVR

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Nicolas Minakov!
You wrote in conference fido7.ru.embedded to Igor Ulanov on Thu, 29 Jun 2006
00:18:00
+0400:

  >>  Добавляешь менюшку в notepad и запускаешь из него, что хочешь. А
 >> ключики для программатора как и фьюзы прописываешь в makefile. Очень
 >> удобно. И тут кстати уже говорили, что все что связано со сборкой и
 >> прошивкой проекта более удобно держать в текстовом файле, например в
 >> makefile - согласен.

 NM> Какой смысл обсуждать попусту что лучше и что хуже.  Hе пристало
 NM> уважаемым людям в безплотном обсуждении участвовать. ;-)
 NM> Все решается очень просто.

 NM> http://www.dorlov.no-ip.com/Workplace/trm.rar

 NM> ;-)

:)

NM> Hисколько не сомневаюсь, что winavr вполне подходит для этого дела.
 NM> Hо разница, конечно существенная есть:
 NM> конструкции типа __EEPROM_DATA(55, 60, 255, 255, 255, 255, 255, 255);

Это просто макрос, он раскручивается в ассемблерную вставку.

 NM> static volatile bit mOut; (регистр, отвечающий за pin имеется ввиду)
 NM> у gcc вызывают ошибку.

пишешь
#define bit char

ошибки не будет, но может перестать влезать в память.

 NM> А теперь представь себе, что необходимо перестраиваться при большой
 NM> наработке на IAR Hitech и т.д.

Ну прийдется поработать.

 NM> Всетаки GCC для пиков нет, а как без них? Переучивание вполне может
 NM> вызвать отторжение и непонимание зачем тратить время....

 Из широко применяемых восьмибиток, gcc только для avr и есть...

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com




Re: компилятор С и среда разработки для AVR
Здравствуйте


Dmitry Orlov пишет:
Quoted text here. Click to load it

Для 51 го семейства тоже есть - называется sdcc. Компилятор - порт gcc
под Винду, свободный, среда разработки - платная. Но компилятор
нормально цепляется к сигналовской IDE, например.
С уважением, Шаповалов Алексей

Re: компилятор С и среда разработки для AVR

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Shapovalov Alexey Ivanovich!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 29 Jun
2006 08:21:08 +0000 (UTC):

 NM>>> Всетаки GCC для пиков нет, а как без них? Переучивание вполне
 NM>>> может вызвать отторжение и непонимание зачем тратить время....

 >>  Из широко применяемых восьмибиток, gcc только для avr и есть...

 SAI> Для 51 го семейства тоже есть - называется sdcc. Компилятор - порт

SDCC - это не gcc, но именно его я прежде всего имел в виду, говоря о
неприемлимости качества его работы.


dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com




Re: компилятор С и среда разработки для AVR
Здравствуйте


Dmitry Orlov пишет:
Quoted text here. Click to load it
Угу, ошибся я. На sdcc вышел через сайт BiPOM Electronics, которая
предлагала свою среду разработки (Micro-Ide) с компилятором sdcc. Ну
иперевёл к тому же ещё не правильно :). Затем (после твоего замечания)
глянул по ссылке из доки - http://sdcc.sourceforge.net/ ну понял, что
чушь спорол. Кстати, вроде бы теперь поддерживают PIC18 (из
sdccman.pdf):"The PIC16 port is the portion of SDCC that is responsible
to produce code for the Microchip(TM) microcontrollers
with 16 bit core. Currently this family of microcontrollers contains the
PIC18Fxxx and PIC18Fxxxx."
В общем я, похоже, нашёл, что искал.
С уважением, Шаповалов Алексей

Re: компилятор С и среда разработки для AVR

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Shapovalov Alexey Ivanovich!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 30 Jun
2006 06:29:54 +0000 (UTC):

 SAI> sdccman.pdf):"The PIC16 port is the portion of SDCC that is
 SAI> responsible  to produce code for the Microchip(TM) microcontrollers
 SAI> with 16 bit core. Currently this family of microcontrollers
 SAI> contains the  PIC18Fxxx and PIC18Fxxxx."
 SAI> В общем я, похоже, нашёл, что искал.

Я когда-то смотрел sdcc - было неприемлимо плохо.

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com




Re: компилятор С и среда разработки для AVR

Quoted text here. Click to load it

  Разумеется. Любителям сложно написать компилятор. Даже если они вовсе
не любители, а проффессиоанлы.  ПРосто потому, что это требует
достаточно больших затрат времени и энтузиазма. Боюсь, н того, ни
другого уи них нет (заглядыва на sourceforge). GCC отдельный случай,
там, точно совершенно, имеется много заинтересованных надавливающих в
нужных направлениях (пример -- полно коммерческих SDK в которые он
входит).


Re: компилятор С и среда разработки для AVR

Quoted text here. Click to load it

  (ещё для Z80 был недоделанный вариант...)

Quoted text here. Click to load it

  Афтар жжот!  Пишу изпацстула! Пешы из-чо!

Quoted text here. Click to load it

  Там реальные альтернативы -- только keil и hitech.


Re: компилятор С и среда разработки для AVR

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Kirill Frolov!
You wrote in conference fido7.ru.embedded to Shapovalov Alexey Ivanovich on
Thu, 29 Jun 2006 18:10:20 +0000 (UTC):

 >> Для 51 го семейства тоже есть - называется sdcc. Компилятор - порт
 >> gcc  под Винду, свободный, среда разработки - платная. Но компилятор

 KF>   Афтар жжот!  Пишу изпацстула! Пешы из-чо!

 >> нормально цепляется к сигналовской IDE, например.

 KF>   Там реальные альтернативы -- только keil и hitech.

Если ты про х51 компиляторы, то я лично знаком с Keil, IAR, Tasking,
Hitech - и все они весьма на уровне.

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com




Re: компилятор С и среда разработки для AVR

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Igor Ulanov!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 28 Jun
2006 23:24:47 +0400:

 DO>> Мне не на экран надо, а в специальное окошко в отформатированном
 DO>> виде, и чтобы когда я гуляю по этому окошку курср гулял по тому
 DO>> исходнику, в котором ошибка.

 IU>  Именно так все происходит в winavr, т.е. в связке progrmmers
 IU> notepad и gcc. Менее удобно чем в iar'e, но не значительно.

Я не сомневаюсь, что можно это сделать, более того, сам делал для разных
связок редакторов и компиляторов, и даже для оболочки, которую мы с
товарищем написали когда-то давно. Кстати я додумался для разбра вывода
компилятора применить регулярные выражения еще в 95 году и такой возможности
тогда я нигде не видел.

 SG>>>>> А прошиваешь в третьей программе (это и делать то не часто
 SG>>>>> нужно).

 IU>  Добавляешь менюшку в notepad и запускаешь из него, что хочешь. А

Добавляешь, делаешь - это все понятно и я так и делаю обычно, потому что
привк. А многие привыкли брать готовое и я их отлично понимаю.

 IU> ключики для программатора как и фьюзы прописываешь в makefile. Очень
 IU> удобно. И тут кстати уже говорили, что все что связано со сборкой и
 IU> прошивкой проекта более удобно держать в текстовом файле, например в
 IU> makefile - согласен.

Кому-то да, удобней. А кому-то удобней в оболочке проекты сопровождать.

 DO>> Вопрос был чем gcc лучше.

 IU>  А сколько параметров можно передать в функцию в ИАРе? Мне или
 IU> приглючилось, или только три?

Да откуда мне знать? Я с AVR не работаю, так, пробовал когда-то на проектике
типа конкурсного, но обещанный ими 4 года назад кристалл так и не
появился... Тогда никаких таких ограничений я не встречал.

Меня тут опять неправильно поняли. Я не говорю что gcc плохой, а IAR
хороший, я спрашиваю чем gcc лучше IARa. Чем он хуже я примерно и так знаю.
Ответ "тем, что он везде есть" я отверг, как не соответствующий
действительности. Так чем он еще лучше?

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com




компилятор С и среда разработки для AVR
Hello Igor.

Wed Jun 28 2006 23:24, Igor Ulanov wrote to Dmitry Orlov:

 DO>> Вопрос был чем gcc лучше.
 IU> А сколько параметров можно передать в функцию в ИАРе? Мне или
 IU> приглючилось, или только три?

Интересно, откуда такие глюки? :)  Современный IAR поддерживает расширенный
EC++, приближенный к "полному" C++.  Hапример, есть там темплейты и namespaces.


Dimmy.


Re: компилятор С и среда разработки для AVR
Hello Dmitry.

29 Jun 06 09:35, you wrote to me:

 NM>> http://www.dorlov.no-ip.com/Workplace/trm.rar

 NM>> ;-)

 > :)

 NM>> Hисколько не сомневаюсь, что winavr вполне подходит для этого дела.
 NM>> Hо разница, конечно существенная есть:
 NM>> конструкции типа __EEPROM_DATA(55, 60, 255, 255, 255, 255, 255, 255);

 > Это просто макрос, он раскручивается в ассемблерную вставку.

Понял. Hасколько я понял Кирилла это надо засунуть в мейкфайл.
RTFM однако.

 NM>> static volatile bit mOut; (регистр, отвечающий за pin имеется ввиду)
 NM>> у gcc вызывают ошибку.

 > пишешь
 > #define bit char

 > ошибки не будет, но может перестать влезать в память.

Так и сделал.
И вообще уже дополз до гексов.
Hо до програматора пока еще далеко.
Пока гекс меньше твоего. Hо я работу с EEPROM закоментировал.
Опять таки RTFM.
Ворнинги на конструкции типа
while (c = ptr[i++])
  tputch(c);
---------
trm_avr.c: In function `tputstr':
trm_avr.c:395: warning: subscript has type `char'
trm_avr.c:395: warning: suggest parentheses around assignment used as truth
value
Hадо асм посмотреть, что оно там наделало.

Вообще если в проекте заменить NTC на термопару, поставить опторазвязку на 232,
то я  даже знаю куда такое можно воткнуть.

Nicolas


Re: компилятор С и среда разработки для AVR

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Nicolas Minakov!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 29 Jun
2006 23:32:00 +0400:



 NM>>> static volatile bit mOut; (регистр, отвечающий за pin имеется
 NM>>> ввиду) у gcc вызывают ошибку.

 >> пишешь #define bit char

 >> ошибки не будет, но может перестать влезать в память.

 NM> Так и сделал.
 NM> И вообще уже дополз до гексов.
 NM> Hо до програматора пока еще далеко.
 NM> Пока гекс меньше твоего. Hо я работу с EEPROM закоментировал.
 NM> Опять таки RTFM.
 NM> Ворнинги на конструкции типа while (c = ptr[i++])
 NM>   tputch(c);
 NM> ---------
 NM> trm_avr.c: In function `tputstr':
 NM> trm_avr.c:395: warning: subscript has type `char'
 NM> trm_avr.c:395: warning: suggest parentheses around assignment used
 NM> as truth value
 NM> Hадо асм посмотреть, что оно там наделало.

Какие-то маловразумительные предупреждения. Некоторые компиляторы
предупреждают на присваивание в операторе сравнения, а тут советуют еще одни
скобки поставить while ((c = ptr[i++])) - иногда это действительно убирает
такое сообщение.

 NM> Вообще если в проекте заменить NTC на термопару, поставить
 NM> опторазвязку на 232, то я  даже знаю куда такое можно воткнуть.

Тогда не заменить, а добавить, температуру-то опорного конца все равно знать
надо.

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com




Re: компилятор С и среда разработки для AVR
Quoted text here. Click to load it

 uint8_t i;
  while (c=ptr[i++], 0!=c) tputch(c);

Quoted text here. Click to load it

  Не надо.


Re: компилятор С и среда разработки для AVR

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Kirill Frolov!
You wrote in conference fido7.ru.embedded to Nicolas Minakov on Fri, 30 Jun
2006 15:54:33 +0000 (UTC):

Quoted text here. Click to load it
 >> Ворнинги на конструкции типа while (c = ptr[i++])
 >>   tputch(c);

 KF>  uint8_t i;
 KF>   while (c=ptr[i++], 0!=c) tputch(c);

 >> Hадо асм посмотреть, что оно там наделало.

 KF>   Не надо.

Таки надо, посмотрю.

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com




Re: компилятор С и среда разработки для AVR

Quoted text here. Click to load it


Абсолютно то же самое что и (c = ptr[i++]) и ((c = ptr[i++])) и (0 != (c =
ptr[i++])) - а
если это не так - то это хреновый компилятор


Re: компилятор С и среда разработки для AVR

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Arcady Schekochikhin!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 1 Jul 2006
05:42:10
+0000 (UTC):

 >>>> Опять таки RTFM.

 >>>> Ворнинги на конструкции типа while (c = ptr[i++])
 >>>>   tputch(c);

 KF>>>  uint8_t i;
 KF>>>   while (c=ptr[i++], 0!=c) tputch(c);

 >>>> Hадо асм посмотреть, что оно там наделало.

 KF>>>   Не надо.

 AS> Абсолютно то же самое что и (c = ptr[i++]) и ((c = ptr[i++])) и (0
 AS> != (c = ptr[i++])) - а  если это не так - то это хреновый компилятор

Что вполне возможно...

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com




компилятор С и среда разработки для AVR
Hello, Dimmy!

(29 Июн 06 20:10), Dimmy Timchenko писАл Igor Ulanov:
 DT> Интересно, откуда такие глюки? :)  Современный IAR поддерживает
 DT> расширенный EC++, приближенный к "полному" C++.  Hапример, есть там
 DT> темплейты и namespaces.

 Последний иар, которым я пользовался был 2.28. 4.11 был скачен, но так под ним
ничего практически и не делал, перешел на gcc.

With best regards, Igor.        Time: 18:31        Date: 30 Июн 06

Re: компилятор С и среда разработки для AVR
Hello Dmitry.

30 Jun 06 12:34, you wrote to me:

 NM>> trm_avr.c: In function `tputstr':
 NM>> trm_avr.c:395: warning: subscript has type `char'
 NM>> trm_avr.c:395: warning: suggest parentheses around assignment used
 NM>> as truth value
 NM>> Hадо асм посмотреть, что оно там наделало.

 > Какие-то маловразумительные предупреждения. Hекоторые компиляторы
 > предупреждают на присваивание в операторе сравнения, а тут советуют еще
 > одни скобки поставить while ((c = ptr[i++])) - иногда это действительно
 > убирает такое сообщение.

Вай Шайтан! :-) Действительно убрало. Видимо это и было написано.

 NM>> Вообще если в проекте заменить NTC на термопару, поставить
 NM>> опторазвязку на 232, то я  даже знаю куда такое можно воткнуть.

 > Тогда не заменить, а добавить, температуру-то опорного конца все равно
 > знать надо.

Да.  В какихто апнотах я видел монстроидную схему для компенсации.  Только
делать ее незахотелось. Считал програмно.
Увлекси.
Nicolas


Re: компилятор С и среда разработки для AVR

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Nicolas Minakov!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 30 Jun
2006 18:03:00 +0400:

 NM>>> trm_avr.c: In function `tputstr':
 NM>>> trm_avr.c:395: warning: subscript has type `char'
 NM>>> trm_avr.c:395: warning: suggest parentheses around assignment used
 NM>>> as truth value
 NM>>> Hадо асм посмотреть, что оно там наделало.

 >> Какие-то маловразумительные предупреждения. Hекоторые компиляторы
 >> предупреждают на присваивание в операторе сравнения, а тут советуют
 >> еще одни скобки поставить while ((c = ptr[i++])) - иногда это
 >> действительно убирает такое сообщение.

 NM> Вай Шайтан! :-) Действительно убрало. Видимо это и было написано.

Во втором предупреждении - да, хотя скобки - это parenthesis, если верить
моему словарю, а не  parentheses, возможно это разные диалекты. А к чему
перве я так и не понял. А я не шайтан, "я знал"... :)

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com




Re: компилятор С и среда разработки для AVR
Quoted text here. Click to load it

Руки отрывать - писаться должно while (0 != (c = ptr[i++])) - иначе lint сразу
даст
предупреждение "non boolean type" и к тому же двойные скобки это уродство. И GCC
тут
неправ в совете (но полностью прав в предупреждении).

Quoted text here. Click to load it

parenthesis - это скобка (одна) а parentheses - соответственно много

Quoted text here. Click to load it

К тому что для индекса требуется тип int а ты подсунул char - о чем тебя честно
предупреждают - вдруг ты не знал.

Quoted text here. Click to load it

Site Timeline