Hадежный контроллер нужен........

Jul 27, 2006 Last reply: 19 years ago 886 Replies

И самый лучший компилятор для 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

formatting link

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

formatting link

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

formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required