И самый лучший компилятор для x86 несомненно интеловский. Это если мы про _компилятор_ а не рюшечки. Этот компилятор знает все подробности устройства всех пентиумов.
И самый лучший компилятор для x86 несомненно интеловский. Это если мы про _компилятор_ а не рюшечки. Этот компилятор знает все подробности устройства всех пентиумов.
-------^^^^^^^^ Это специальный синтаксис для вызова putchar()
Hello Dmitry.
Fri Aug 04 2006 22:58, Dmitry E. Oboukhov wrote to me:
DEO>>> gcc это лучший на сегодня имхо компилятор. остальные по сравнению с DEO>>> ним - поделки :)
DT>> IAR тоже поделка? DEO> угу
А код получше генерит, платформ больше поддерживает.
DEO> я смысла вообще в IDE-шных замедлялках времени разработки не вижу.
Hе видишь - работай с командной строки. У IAR-а иде отдельно, а компилятор, линкер, отладчик - отдельно.
DEO> пока блин разберешься к чему прислонить то или иное окошко голову DEO> сломаешь, нафига оно надо?
Hаоборот разбираться ни в чём не надо, практически запустил - и работаешь. Хотя я доки всё равно читаю.
Впрочем, тут только что был спор на эту тему, зачем повторяться? :)
Dimmy.
Hello Dmitry.
Fri Aug 04 2006 23:22, Dmitry E Oboukhov wrote to Alexey V Bugrov:
DT>>>> IAR тоже поделка? DEO>>> угу [skip] DEO> а чем хорош iar'овский компилятор?
То есть "угу", а потом выясняется, что ты вообще не в курсе. ;)
Dimmy.
Hi Dmitry !
Совсем недавно 04 Aug 06 22:15, Dmitry E. Oboukhov писал к Dmitry Orlov:
DO> на ПЛИС RS232 выражается в два сдвиговых регистра (прием-передача) с DO> логикой (в принципе они и в процессорах реализованы так же), Ты с SPI не перепутал? Еще к этим регистрам добавь счетчики с запуском от стартового бита и кучку триггеров для различных ситуаций. То есть триггеров это займет побольше, чем просто на два регистра.
DO> ну и остается ввод аналоговых данных (пока не прикидывал) и одно из DO> самых ресурсоемких - делитель чинхрочастоты до частоты передачи по RS. DO> (тут на ПЛИС выгоднее будет 115200бод реализовать чем 2400)
DO> (12+12+8+8)*1.2=48 макроселов - в долларовую 3064 впихивается. Очень хочется поверить. Будь добр, слепи такое и выложи где-нибудь. Или мне мылом пришли схемку/текст, на чем оно там у тебя будет. Я бы с удовольствием поучился, потому что в моем представлении- не влезет.
WBRgrds Ruslan
Hello Michael.
05 Aug 06 03:43, you wrote to Dmitry Orlov:
А прошивать пробовал? :) Готовый чужой мейкфайл годится для чегото совсем простого. А если вылазит, что модель памяти не та, что нужна, или еще какие нибудь подобные "мелочи"?
Hакой черт этот гуй, за месяц возни он развалился. Окно с выходом компилятора кудато делось, Просто из командной строки набираю make all/make clean, а с сырцами и мейк файлами вожусь в far, у меня там colorer стоит, Так даже лучше - меньше глаза устают,
Nicolas
Hello Dmitry.
04 Aug 06 14:28, you wrote to me:NM>> Hello Dmitry.
NM>> 02 Aug 06 14:23, you wrote to Dmitry E. Oboukhov:
DEO>>>> ATtiny13 вроде как раз аналог
NM>> А какие требования?
NM>> Вот например 7,14 +-0,04 достаточно или надо ровно 7,200 выставить?
NM>> Бывает, что последняя буква в строке T = 019 On портится.
Значит не оно.
Hе смог разобрался только с RX. Hа ножку пачки негативных импульсов приходят, в симуляторе вроде накопление событий идет правильно. Hо в реальности контроллер только отсылает температуру, и дергает ножкой, когда надо. т.е. iidx == 0 постоянно. Хорошо бы, чтоб ктото наконец решил эту задачу для Tiny13 или 45.
Nicolas
Hello Dmitry.
04 Aug 06 22:51, you wrote to Dmitry Orlov:
О! Ты сделал под 13? Пришли, если можно. А я прошью, и закончим эту бодягу. Если хочешь - можешь прислать токо hex, только, чтоб плату не резать желательно ноги разложить так:
/* Pin (num) Name Description */ /* PB0 (5) Out Triac gate */ /* PB1 (6) Tx UART Tx pin */ /* PB2 (7) Rx UART Rx pin */ /* PB3 (2) NC Tts Analog input. 100k NTC connected from +5V */ /* to Tts pin and pulled down with 5.61k */ /* PB4 (3) NC */ /* PB5 (1) Reset */
У меня почти все уже работает, только на rx контроллер не реагирует. негативные импулься на ножку приходят, и события (в симуляторе) накапливаются правильно, но тут я немного застрял. Мейл: nvmin i com ua,
Nicolas
Hello, Dmitry! You wrote to Alexey V Bugrov on Fri, 04 Aug 2006 23:22:19 +0400:
DEO>>> я смысла вообще в IDE-шных замедлялках времени разработки не вижу. DEO>>> пока блин разберешься к чему прислонить то или иное окошко голову DEO>>> сломаешь, нафига оно надо? AVB>> Зачем в иаре пользоваться IDE? Я не пользуюсь и никаких проблем. AVB>> Именно что мейкфайл все прекрасно собирает из него же и шьется. DEO> а чем хорош iar'овский компилятор?
А чем плох? Как мы выяснили, из мейкфайла его запустить можно. Чем еще гцц лучше ты не сказал.
WBR, AVB
X-Virus-Scanned: amavisd-new at bezeqint.net
Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 05 Aug
2006 01:18:46 +0400:DO>> Какую логику и в какой низ? DEO> логику RS232 - вниз
DEO> вверху должны остаться только тупые сдвиги тогда не надо будет DEO> число в таймере подбором выбирать, достаточно будет вычислить раз и DEO> навсегда, поскольку в прерываниях будет находиться очень маленькое DEO> время
Нет никакой связи. Я же уже дважды объяснил почему число в таймере надо подбирать. От момента возникновения прерывания до начала его обработки проходит некоторое время (никак не связанное с тем что в прерывании делается). За это время таймер успевает убежать, что и надо компенсировать для получения правильной частоты прерываний.
DO>> Я говорю о том времени, которое нужно на вход в прерывание - DO>> сохранение контекста и что там еще делается, можно в коде глянуть. DEO> для скорости 4800 это наплевать и растереть
DEO>>> только тупые сдвиги. (правда критично станет к делениям в DEO>>> принтах, но как показано они решабельны :))
DO>> Этого я совершенно не понял. Ты про обработку команд, вводимых с DO>> терминала?
DEO> нет про низкоуровневую реализацию RS232 старт-бит данные (от 5 до 9 DEO> бит) бит четности два стоп-бита
Так где же, кроме прерывания это делать?
DEO> парсить/собирать в кучу эти данные если в основной программе, а в DEO> прерываниях только двигать, то в прерываниях можно будет не DEO> заботиться о подборе значений таймера :)
Напиши на С, я так не понимаю. А не заботиться нельзя, даже если в прерывании я только ножкой дергаю.
DEO> впрочем я возможно и правда сваяю демонстрашку на эту тему, ты меня DEO> заинтересовал :)
DEO>>> а что не взять классическую событийную модель?
DEO>>> то есть функция вместо того чтобы ждать отправки всей строки DEO>>> просто вертала бы управление?
DO>> Где ты там видел что-то ждущие функции?
DEO> tputstr пока не _отправит_ строку в RS не вернет управление а на DEO> скорости 2400 - существенное время.
Для этого из tputch вызывается idle.
DEO>>> то есть если функции надо прождать сколько-то времени она свои DEO>>> вызовы считает, если ей надо ждать события она ждет вызова себя DEO>>> на этом событии а не ждет тупо события.
DO>> Именно так и делается. Внутри idle() управление на долго не DO>> задерживается, только на время выполнения кода, никаких ожиданий и DO>> замкнутых циклов.
DEO> хаос полный получается система разделения времени между процессами DEO> должна быть в одном месте, сами процессы в другом у тебя все в куче DEO> перемешано, закопаешься как сложнее станет :)
Во-первых, никто никому и ничего не должен. Процессы должны получать свое время, они его и получают. И никакого хаоса и путаницы нет и в гораздо более сложных программах.
dima
MZ> Самый сложный проект не влез в камень (мега8535). MZ> Как показали эксперименты, это из за плавучки. MZ> Относительно простые проекты, где нет плавучки у gcc получились MZ> примерно на 1-2 процента длинней код чем у иара. MZ> С учетом халявы - очень даже гуд. а еще с опциями -Ox поиграйся вполне на размер хорошо влияют
MZ> При этом у иара никакая оболочка. я ее использую только для нажатия MZ> кнопки билд олл. MZ> Качество генерации ворнингов у иара - _никакое_ по сравнению с гсс. MZ> У кейла на грамм лучше, но до гсс ему тоже ой как далеко. MZ> Особенно бесит когда кейл дает ошибку или ворнинг, указывая при этом MZ> главный файл, хотя проблемная строчка находится в инклуде. MZ> Значит мне надо взять в результате и просмотреть все строчки с неким MZ> номером во всех инклудах, и найти кривую. А если инклудов штук 30? а если инклюдов 30 то мейк тут рулит не по детски, и опция gcc -MMD только мейк надо правильно составить
MZ>
MZ> Кейловский отладчик досих пор не соображает, что код может быть в инклудах, MZ> показывая вместо них главный файл. Дизасм соответсвенно подставляет MZ> строчки тоже из главного файла. Хотя это мелочь, отладчиком я не MZ> пользуюсь, только дизасмом и то очень редко. MZ>
MZ> И последний вопрос - какая гуевая среда разработки имеет кнопку, MZ> аналогичную команде make clean? MZ> Уж очень эта фишка мне понравилась :)
X-Virus-Scanned: amavisd-new at bezeqint.net
Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 05 Aug
2006 01:35:57 +0400:DO>> Hадо. Только что это обсудили, лень еще раз приводить те же DO>> аргументы. Hа фоне IAR (даже не принимая во внимание качество DO>> кодогенерации) gcc выглядит недоделанной поделкой. Скверно DO>> документированной и решающей только часть задач, решаемых пакетом DO>> от IAR.
DEO> я вижу все строго наоборот. :)
Да видеть-то можно что угодно, а нормальной документации, как и нормальной готовой среды разработки в gcc как не было, так и нет.
DO>> Это все доступно и работает и в IAR с той только разницей, что все DO>> более внятно документировано. Плюс можно посмотреть как надо делать DO>> в IDE если есть какие-то причины ею не пользоваться постоянно.
DEO> плохости IDE в том что при переходе с типа на тип надо постоянно DEO> разбираться а как оно там делается, а где оно тут.
С типа чего на тип чего?
DEO> в моем же случае все проекты одинаковы, только компилер в шапке DEO> мейка поправляется иногда и тип процессора :)
DEO> а так же редактор всегда один и тот же в котором программы пишу
Это и с IDE не проблема.
DEO> к большинству IDE внешние редакторы подключаются криво и неудобно,
Их и подключать-то не надо, открываешь файл и редактируешь.
dima
NM> А прошивать пробовал? :) NM> Готовый чужой мейкфайл годится для чегото совсем простого. ну я себе раз и навсегда Makefile написал для AVR'ов и кочует он у меня из простых в сложные проекты, TARGET только правлю. если исходники определять wildcard'ом, то вообще простой/сложный разницы нет.
NM> А если вылазит, что модель памяти не та, что нужна, или еще какие нибудь NM> подобные "мелочи"? то опции чуток меняешь у компилятора.
вот IAR может генерить ASM-листинги всех компилируемых файлов? а может он их в отдельный каталог класть чтобы не мусорить в каталоге проекта? а объектники туда-же отдельно положить, чтобы вообще чистота и уют были в каталоге проекта? а с cvs работать? в make добавил пару таргетов на коммит в cvs репозитарий и радуешься жизни :)
Hello Dmitry.
Sat Aug 05 2006 11:22, Dmitry E Oboukhov wrote to me:
DEO>>> а чем хорош iar'овский компилятор? DT>>
DT>> То есть "угу", а потом выясняется, что ты вообще не в курсе. ;) DEO> в самом начале, лет несколько назад я IAR'ом даже пару проектов собрал DEO> чем он хорош так и не увидел :)
А расскажи, чем был хорош в те годы gcc для микроконтроллеров? ;)
Dimmy.
DO>>> Hадо. Только что это обсудили, лень еще раз приводить те же DO>>> аргументы. Hа фоне IAR (даже не принимая во внимание качество DO>>> кодогенерации) gcc выглядит недоделанной поделкой. Скверно DO>>> документированной и решающей только часть задач, решаемых пакетом DO>>> от IAR. DO>
DEO>> я вижу все строго наоборот. :) DO>
DO> Да видеть-то можно что угодно, а нормальной документации, как и нормальной DO> готовой среды разработки в gcc как не было, так и нет. вот среда разработки то как раз наоборот существенно лучше GNU-utils :)
а какой документации тебе не хватает? по gcc такой ее талмуд что читай не перечитаешь :)
DEO>> плохости IDE в том что при переходе с типа на тип надо постоянно DEO>> разбираться а как оно там делается, а где оно тут. DO>
DO> С типа чего на тип чего? контроллеров или компиляторов. если я поменяю компилятор hi-tech на например gcc (как в свое время я проделал), то у меня только пара строчек в Makefile поменяется, а если я потом уйду на вообще, скажем техасовский проц то еще пара строчек. а проекты я как разрабатывал так и разрабатываю. настройки редактора, методы работы от этого не меняются.
DO> Это и с IDE не проблема. ага, возявкался я помню с техасами и с их IDE. вот было невозможно редактор от TAB'ов отучить, хоть помри! или взять редактор в Quartus, опять та же проблема
DEO>> к большинству IDE внешние редакторы подключаются криво и неудобно, DO>
DO> Их и подключать-то не надо, открываешь файл и редактируешь. а зачем тогда IDE? в том же Quartus IDE любит открыть редактор сама при компиляции (варнинг/еррор встретила и чтобы узнать где же он - редактор, только недавно наконец выровняли прикрутку внешнего, а встроенный как был кривой так и остался)
DEO>>>> я смысла вообще в IDE-шных замедлялках времени разработки не вижу. DEO>>>> пока блин разберешься к чему прислонить то или иное окошко голову DEO>>>> сломаешь, нафига оно надо? AVB>>> Зачем в иаре пользоваться IDE? Я не пользуюсь и никаких проблем. AVB>>> Именно что мейкфайл все прекрасно собирает из него же и шьется. DEO>> а чем хорош iar'овский компилятор? AVB>
AVB> А чем плох? в линуксе например не работает. для меня например это существеннейший фактор
DT>>>>> IAR тоже поделка? DEO>>>> угу DT> [skip] DEO>> а чем хорош iar'овский компилятор? DT>
DT> То есть "угу", а потом выясняется, что ты вообще не в курсе. ;) в самом начале, лет несколько назад я IAR'ом даже пару проектов собрал чем он хорош так и не увидел :)
AS>
AS> И самый лучший компилятор для x86 несомненно интеловский. Это если мы про AS> _компилятор_ а AS> не рюшечки. Этот компилятор знает все подробности устройства всех AS> пентиумов.
мало знать, надо еще стандарты C полностью поддерживать, а с этим лучше всего у gcc :)
AS> // Print 3 digit decimal with leading "=" AS> procedure printi(byte in i) is AS> tty = "=" AS> var byte d = 100 AS> forever loop AS> // division is code consuming - make without! AS> var byte c = "0" AS> while i >= d loop AS> i = i-d AS> c = c+1 AS> end loop AS> tty = c AS> if (d == 100) then AS> d = 10 AS> elsif (d == 10) then AS> d = 1 AS> else AS> return AS> end if AS> end loop AS> end procedure это тот же алгоритм что и я написал выше :) мир одинаковый и разные люди часто ходят одними дорогами :)
X-Virus-Scanned: amavisd-new at bezeqint.net
Hello, Arcady Schekochikhin! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 4 Aug 2006 23:04:35
+0000 (UTC):AS> когда я пример переписывал на JAL то деление и умножение выкинул AS> (умножение требует много места для вызова а так оно по прежнему AS> используется) и конвертеры чисел получилсь такие -
AS> // Print 3 digit decimal with leading "=" AS> procedure printi(byte in i) is AS> tty = "="
Извини, но в этой абракадабре я разбираться не буду.
AS> я думаю в синтаксисе легко разобраться - а разные "некрасивые
Я не думаю, что в этом есть смысл.
dima
Have something to add? Share your thoughts — no account required.
Ask the community — no account required