Программирование микроконтроллеров с нуля
Добрый день
Заинтересовался разработкой для микроконтроллеров (ARM, AVR, MSP430), хочу узнать побольше, а без практики понятное дело буду топаться на месте.
Не подскажете ли что нужно для того чтобы начать?
Добрый день
Заинтересовался разработкой для микроконтроллеров (ARM, AVR, MSP430), хочу узнать побольше, а без практики понятное дело буду топаться на месте.
Не подскажете ли что нужно для того чтобы начать?
Не менее перспективной является разработка под ПЛИС. Однако здесь программистом нужно быть меньше, чем в случае с микроконтроллерами, нужно знать совсем другое — больше знаний по «железу», схемотехнике, микроэлектронике и т.д..Язык разработки — один из линейки HDL — языки описания аппаратуры, например, VHDL (ни на что не похож) и Verilog (похож на Си). Несколько сред разработки, обычно каждая крупная компания-производитель ПЛИС разрабатывает свою среду. Мне известны Active-HDL от Atmel и очень мощный Xilinx IDE.
У нас? Если у нас, то нет, не является. Если за рубежом, то там это уже давно сформировавшиеся отрасль.
>>> VHDL (ни на что не похож)На паскаль похож
>>> Active-HDL от Atmelот Aldec?
>>> и очень мощный Xilinx IDEXilinx ISE?
да, правильные исправления. У нас конечно ничего , что касается железа, не развито, это только, если хотите работать за границей, ну и ПМЖ.
По схожести языка я говорил не столько про синтаксис, а скорее про морфологию. Всё-таки Verilog был ориентирован на СИшников, чтоб им было легче, в нём больше конструкций и функци, чтоб работать c железом «мягко», как будто это элементы программы. В VHDL сразу понятно, что речь идёт именно о железе, интегральных схемах, регистрах, сигналах, булевой логике и т.д.
На 3 курсе пришел на завод в КБ стажироваться «за еду», и стал писать под C51, на входе было знание C, и трех ассемблеров, нужный четвертый выучил на месте. Плюс схемотехника.
Но только после изучения AVR. Детальки покупаю на imrad.kiev.ua
Протеус — зло!
Всю отладку можно проводить
Дешевле купить 32ух битный cortex-m0 cortex-m3 с бортовым USB и ethernet’om
А теперь расскажите человеку, как ему распаивать ваш кортекс с USB и Ethernet, которые обычно идут в весьма мелких корпусах. А AVR-ки младших семейст, все в DIPах, тут все на breadboard (гуглим) собрать можно.
Протеус зло. А вот запаивать без проблем. При наличии не совсем кривых рук с шагом
Зато взяв микросхему в DIP корпусе и breadboard, за вечер можно собрать любительскую поделку с моргающим светодиодом. А там дальше уже человек сам решит чего он хочет.
Коментар порушує правила спільноти і видалений модераторами.
Коментар порушує правила спільноти і видалений модераторами.
Да протеус зло но научиться светодиодами моргать и изучить переферию можно... На деле, в продакшене то что в протеусе — слишком идеализировано. Особенно если нужно разрабатывать какие-то real-time плюшки для которых важна каждая фаза. (pi-регулятор тому пример)
*QFP корпуса более чем паябельны...
easyelectronics.ru DiHalt отжигает.
BGA паябельны... но только мелкие.
Максимум что мне удавалось так это PBGA208 плата 3ёх слойная на фоторезисте за 2 дня.
Фоторезист? это — в домашних условиях? А какие способы для домашних условий есть, кроме как рисовать дорожки тушью, и травить плату в хлорном железе (и печатать на лазерном принтере, а потом утюгом переводить)
Ну додумались же печатать на лазернике плату на пленке, а потом положить на фольгированный слой платы, и проутюжить
Не на пленке, а на бумаге. Если пленку утюжить, то она вместе с тонером на плате останется. А на пленке печатают для экспонирования фоторезиста.
Так а мы на пленке делали, на которой делают в типографии оригинал-макет. наверное, просто не было бумаги
Ну вот прям так только АВР :) У нас одного джуна сразу за LPC2148 посадили... и ничего — справился.
Ну дык, если ему дали уже готовый инструментарий, попросили дописать небольшой функционал, то тут что ARM, что AVR, пофиг. А вот если ему принесли новую плату и сказали — «оживляй!», и он таки оживил, то таки да, крутой у вас джун))
Да нет, почти весь проект сам сделал. Правда на основе готового порта FreeRTOS. Инструментарий в смысле j-link + iar был. На счет крутой... не сказал бы... ну может "выдающийся да и только"©. :)
С конкретного проекта. По другому никак. Ну можете какую-нибудь evilution board взять, поморгать на ней светодиодами, но это больше так — для уверенности в себе. С какого именно МК начнете совершенно не принципиально. А по конкретным вопросам лучше обращайтесь на electronix.ru, раньше еще на телесистемах неплохой форум был, но сейчас там помойка.
Программатор + какой-нибудь starter kit.
Чтобы изучить основы, «поморгать светодиодами» можно что-нибудь на основе AVR — контроллеры дешевые, есть USART, I2C — можно поиграться с датчиками, LCD. Во многих моделях есть встроенный АЦП, во всех — компаратор. Много информации в сети, даже на русском языке. Также есть куча библиотек для работы с различными устройствами.
Для того, чтобы работать с embedded linux будет нужен ARM.
Перед покупкой starter kit обязательно ознакомьтесь со способом прошивки МК ( некоторые программаторы подключаются через LPT и COM ) и комплектацией (я из-за своей невнимательности после заказа starter kit еще неделю смотрел на демо-прошивку, пока по почте ко мне шел недостающий программатор).
Не подскажете ли что нужно для того чтобы начать?
Как это ни странно, но нужно желание.
Для быстрого старта можно взять arduino, правда стоят они дурных денег (нужно брать б/у), но для «попробовать», самое оно.www.evodbg.com — тут можно взять неплохие киты на arm.
Вы бы сначала цель какую-то поставили, а то «попробовать» это понятие растяжимое, может вам светодиодом поморгать хватит, а может захотите свой веб сервер написать. Когда определитесь с целью, то уже дальше можно будет советовать средства ее достижения.
Найти дилера на Украине, купить у него стартер кит, процессор,разработанный специально для отладки (с EEPROM — с электрическим стиранием, а то можно нечаянно взять с ультрафиолетовым стиранием — они дешевле, если есть еще такие, и однократно программируемые — они еще дешевле), обычные процесоры десяток, и мануалы (все как обычно)
играйся-нехочу за 250 грн
причем здесь стартер киты?
или Вы полагаете, что роутер работает на паровом двигателе?
причем здесь стартер киты?
Производители МК выпускают стартер киты к своим изделиям. Если хочешь научиться работать с МК, то единственный вариант это обзавестись «железом». Следовательно, нужно купить стартер кит (или сделать плату самому).
или Вы полагаете, что роутер работает на паровом двигателе?
Если брать конкретно роутер, то там будет линукс и еще куча софта. Да, оно будет собрано под целевую платформу, но это будет обычный десктопный линукс. С таким же успехом, можно собрать openwrt под x86 и развернуть его под qemu, тогда по деньгам еще дешевле получится.
не троллинга ради, а чем отличается обычный десктопный линукс, от необычного недесктопного линкуса?
смысл на поиграться — прицепить датчик какой, как устроен загрузчик, асм под платформу и прочее, разве это не цель вопрошающего?
Ничем не отличается.. В том то и проблема. Если человек хотел поиграться с линуксом то он бы написал «Я хочу пособирать линуксы, посоветуйте что-то», вместо этого он написал то, что он написал. Программировать под линукс это еще не значит программировать под контроллеры.
Как вы прицепите, скажем, температурный датчик (тупо — обычный терморезистор) к роутеру? По Wi-FI, по TCP/IP, или будете перепаивать роутер? :)
Так а на картинке — цифровой датчик, а я вам говорил про аналоговый.
matt, микроконтроллер — это микросхема. Если дружить с паяльником — можно десятки. если не сотни элементов схемотехники заменить им одним. Стартер кит — это комплект от производителя, чтобы «стартануть»: программатор, ПО, иногда — мануалы и сами микроконтроллеры. Есть еще продакшн кит — это уже посерьезнее и подороже: набор для серийной штамповки прошивок.
где собственно уже выведено несколько интересных портов ввода/вывода (за 300 грн будет еще и УСБ порт)?
и чем плох вариант роутера для старта? где уже написаны самые подробные инструкции по отладке, прошивке, открыты мануалы по камню и прочее?
p.s. А наличие USB контроллера помнится, было еще в древних PIC18, и дешевле, чем 300 грн
кстати, иногда все таки интересуйтесь вопросом, прежде чем что то утверждатьРоутером вообще-то если по башке стукнуть, то и убить можно, так что он отнють не микро. Да и на плату его не припаять (не тот форм-фактор :)
Ну согласитесь, что изучать программирование микроконтроллеров, используя хакнутый роутер — это извращение!
Это все-таки скорей для желающих разобраться embedded linux.
47 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів