Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
20.06.2006, 00:52
|
|
Гражданин KAZUS.RU
Регистрация: 16.12.2004
Сообщений: 587
Сказал спасибо: 13
Сказали Спасибо 23 раз(а) в 9 сообщении(ях)
|
Насчёт уровня вложений 20 не скажу - ограничил буфер 16ю, но можно попробовать до 40! Кто круче!? И это занимало не более 8K с минимум дров и обработчиками событий, а вот полный проект с логикой, драйверами и т.д. еле умещался в 120K (MEGA12 ![Горд собой](images/smilies/icon_dovl.gif) .
Пишу на C и C++ и проблем не испытываю, если бы то-же самое писал на ASMе сдох бы давно, не сделав и половины. Для мелких программ ассемблер выигрывает по размеру кода, начиная от 4K (для того же AVR) сравнивается, а с 16K начинает проигрывать C. Потом добавьте время написания и отладки + портируемость кода + совместную работу нескольких людей, а при работте с операционками только "укуренный штык" соберётся писать на асме серьёзный проект. Биты подёргать, байты переслать это ещё куда не шло.
А объектно ориентированная модель C++, куда ж без неё.
Так что ребята спорить бестолку - крутыми бывают только яйца, а вот как уже говорили эмбеддер со знанием Си, но не умеющий писать на асме и не знающий "железа" - это нонсенс.
Скажу, что и сам вставляю иногда ассемблерные куски в сишный код, но стараюсь этого не делать без крайней необходимости - нарушается структура программы и оптимизация может потом дурить (иногда проще переписать библиотеку, но только в случае крайней ситуации и когда знаешь что делаешь).
Я не претендую на "особое мнение", но мой совет: преходите на языки высокого уровня - получится не всё сразу, но "игра стоит свеч".
З.Ы. Тут не давно переписал старый ассемблерный проект на Сях, какогож было моё удивление, когда даже после добавления новых функций размер кода при максимальной оптимизации в IAR C оказался меньше, чем старый ассемблерный проект. А по поводу отладки добавлю: вот как-раз когда пишешь большой проект на Си, с кучей событий в реальном времени JTAG и незаменим - при отладке со встроенным монитором (а именно так называется способ описанный DeCoder-ом), не возможности ставить точки останова по коду или событиям (по крайней мере оперативно), нет возможности или крайне затруднительная управлять работой процессора, вдобавок иногда и "монитор" может глючить, не говоря о занимаемом месте в памяти. При работе с ОС например монитор не поможет, а только навредит, т.к. его придётся встраивать в ядро системы.
|
|
|
|
20.06.2006, 02:04
|
|
Прописка
Регистрация: 27.08.2004
Сообщений: 107
Сказал спасибо: 0
Сказали Спасибо 21 раз(а) в 20 сообщении(ях)
|
полностью согласен с Nemo, языки высокого уровня стяновятся необходимым инструментом, когда стоит вопрос времени/объема.
насчет операционок - такая же фишка, для мелких проектов нет смысла их пользовать, а для крупных - иногда экономия времени. Nemo, какие ОС пользуешь? Linux, FreeRTOS пользовал?
|
|
|
|
20.06.2006, 02:52
|
|
Прописка
Регистрация: 27.05.2005
Сообщений: 127
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Сообщение от Unichorn
|
deCoder вопрос. А ты сможеш написать на Си меню
с уровнем вложения 20 ,это как в виндах папка в папке, да ещё чтобы в каждой папке было по 20 папок.
+ графический интерфейс и запихай всё это в 30килобайт кода.
|
Ни с кем ничем я меряться не буду )) Возможно у кого то сложилось впечатление что я строю из себя гуру. Вовсе нет.
Цитата:
|
насчет того, чтобы самому писать компилятор - это уже из области, чтобы быть профи в каком-то мк, это значит, уметь написать его ядро на VHDL
|
Я и не призывал писать свой компилятор. Я хотел сказать что программист за сишным кодом должен четко видеть ассемблер или даже машинные коды.
Может я чего то не понимаю… Но, при написании компилятора ассемблера нужна ли VHDL модель процессора? Мне кажется нет. Также и компилятор Си можно написать без неё. VHDL модель пригодится при написании эмулятора или виртуальной среды типа протеуса.
Цитата:
|
Для меня было бы здорово сделать что-то типа AVR + Ethernet на одном кристалле. Ethernet конечно не 10/100 Мбит, гораздо ниже, со скоростью 57600 бит/сек.
Пока довольствуюсь AVR и UART. Пытаюсь дома создать сеть "умных устройств
|
Я немного «варился» в этом. Когда в «умном доме» 2-3 таких медленных устройства это туда-сюда. Но больше... задержка выполнения не выдерживает никакой критики. Сам наблюдал как при срабатывании охранного датчика сигнал приходил черз 2-3 минуты. Это сеть из нескольких десятков промышленных контроллеров на rs485 интерфейсе на скорости 9600 бод. Вообщем идею твою не поддерживаю. Умные дома, мне кажется, нужно делать на «электропроводке» (интересный чип был у Филипса, гораздо лучше чем у Ангстрема) или на основе Ethernet. В последнем случае можно также довольно дешево сделать связь с подвижными объектами по WiFi, в отличии от rs485 где банальный ПИГР стоит баксов 60.
И использование плис мне кажется нецелесообразным
Цитата:
|
Я и перебираюсь в последнее время на GCC.
Эти компиляторы под многие платформы существуют
|
У меня был только один опыт общения с AvrGcc, см мою ссылку выше. (Сборка чужих исходников в Линухе не в счет). Впечатления – отвратительно. )) В страшном сне снится визард для генерирования make-файлов )) Хотя я люблю консоль и мне очень понравился «блокнот программиста» я его теперь постоянно использую при работе с x51. Кстати последние версии поддерживают подсветку синтаксиса ассемблера. Запомнился хелп. В котором аж 2 примера! Сумбурный хелп одним файлом. Хочется поскорее вернуться в объятия коммерческих компиляторов )) Первым делом я скачал последний релиз AvrGCC и че за фигня? Чужой проект не собирается! Нашел даже причину. Пришлось бы много править. А времени то нет. Как говориться за е##ю не платят. Скачал релиз полугодовой давности и все заработало. Но это все мелочи. Я бы использовал бы прелести свободного кода если бы не худшие параметры GCC. На «натахаусе» валяется книжка по ARM7 и там приведена таблица и GCC для ARM генерит код в 10 раз больше и выполняется в 10 раз медленнее всех коммерческих компиляторов.
Цитата:
|
Забыл. Это под 51 Keil6.20
|
x51 и PIC не проектировались под использование Си. Там проигрыш относительно ассемблера до половины кода.
Цитата:
|
А по поводу отладки добавлю: вот как-раз когда пишешь большой проект на Си, с кучей событий в реальном времени JTAG и незаменим - при отладке со встроенным монитором (а именно так называется способ описанный DeCoder-ом), не возможности ставить точки останова по коду или событиям (по крайней мере оперативно), нет возможности или крайне затруднительная управлять работой процессора, вдобавок иногда и "монитор" может глючить, не говоря о занимаемом месте в памяти. При работе с ОС например монитор не поможет, а только навредит, т.к. его придётся встраивать в ядро системы
|
Я еще не дорос до использования ОС, или мой работодатель не дорос, что впрочем одно и то же ) Чувствую мой текущий проект может выиграть от применения ОС. (Сейчас читаю про uOS.) Спасибо. В этом, наверное, jtag-отладчик окажется мне полезным.
|
|
|
|
20.06.2006, 11:46
|
|
Временная регистрация
Регистрация: 29.05.2005
Адрес: где-то в 300км от Красноярска
Сообщений: 76
Сказал спасибо: 4
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Полностью согласен с NemoCut32.
А насчёт встроенного отладчика, таков проект заказали,
хотя мне лично, пофиг.
ЗЫ
Извеняюсь за мат.
|
|
|
|
20.06.2006, 12:41
|
|
Гражданин KAZUS.RU
Регистрация: 21.02.2005
Сообщений: 685
Сказал спасибо: 14
Сказали Спасибо 84 раз(а) в 44 сообщении(ях)
|
Пока можно писатьи на асме. Ну а через лет 10. МК постигнет таже учесть что и процы общего назначения. 2^n мегобайт флеш, оптически порты, и т.д и т.п. Так что перход на С это только вопрос времени.
|
|
|
|
22.06.2006, 12:21
|
|
Прописка
Регистрация: 08.06.2006
Сообщений: 215
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Сообщение от Luzkov
|
Пока можно писатьи на асме. Ну а через лет 10. МК постигнет таже учесть что и процы общего назначения. 2^n мегобайт флеш, оптически порты, и т.д и т.п. Так что перход на С это только вопрос времени.
|
Ну да, обьектно-ориентированное программирование под МК. Пишешь не код, а рисуешь схему.
К примеру
http://www.tecomat.cz/sw/QuickII/Setup.exe
Размер 5 мб.
Кто желает может поиграться. Для начинающих будет хорошо понять работу логических элементов.
Симуляция прекрасно работает.
Может кто видел нечто подобное для обычных МК?
Пусть не пугает чешский язык, логически понятен.
|
|
|
|
22.06.2006, 12:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Простой и на АСМе это Тульский "Алгоритм Билдер" AB
Офигенно крутой это "Вижуал стэйт" от IAR.com для любых МК
и там и там есть демы, но вторая дема наверняка без ограничений на 30 дней.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
24.06.2006, 01:41
|
|
Гражданин KAZUS.RU
Регистрация: 16.12.2004
Сообщений: 587
Сказал спасибо: 13
Сказали Спасибо 23 раз(а) в 9 сообщении(ях)
|
Полностью согласен. Кто пишет чисто на асме в Винде? А? То-то же.
По поводу операционок отвечаю - к сожалению не пользовался никакими: баловался с embedOS, uCOS, даже свою начал писать, но в своих рабочих проектах не применял. На работе пытался продвинуть что нибудь, может даже Linux, но руководство (впрочем как и коллеги) не поддержвло, а зря. А на свой страх и риск использовать не могу - за обучение денег не платят, возможны только некоторые дивиденты от знаний, но только в будущем, а им подавай всё и сразу. Зато есть новая "фишка" - многоуровневый обмен между программными модулями: "ядром" - содержащим драйвера устройств, "программой" - образующей логику работы, "монитором" - содержащим служебные функции. Вообщем "клёво", особенно если учесть, что эти куски будут писать разные люди - а "операционка это дорого и вносит свои ощибки в программу".
Уф, вот такой у нас "УровенЪ". Если кто подскажет с каких бесплатных систем лучше начинать (с портами под AVR, ARM и MCS51) и поможет какими ссылками, буду премного благодарен. А то заниматься практически нет времени.
|
|
|
|
24.06.2006, 08:36
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от NemoCut32
|
Если кто подскажет с каких бесплатных систем лучше начинать (с портами под AVR, ARM и MCS51) и поможет какими ссылками, буду премного благодарен.
|
что значит "систем" ? Среды разработки ? Честно бесплатны или по-нашенски ?
Бесплатный компилятор для AVR по моему только WinAVR http://www.avrfreaks.net
Более подробно в курсе есть
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
27.06.2006, 01:29
|
|
Гражданин KAZUS.RU
Регистрация: 16.12.2004
Сообщений: 587
Сказал спасибо: 13
Сказали Спасибо 23 раз(а) в 9 сообщении(ях)
|
НЕТ Речь идёт об операционных системах для AVR, ARM и т.д. Тут баловался с Segger's embOS для ARM вроде ничего себе, но она платная.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:58.
|
|