LINUX.ORG.RU

Хочу в linux программировать микроконтроллеры

 


1

3

В сети довольно много разрозненной информации, но я не нашел хороших (это потому что блогспот и ЖЖ заблокированы, а прокси и иже - неудобно) пошаговых инструкций как с нуля сделать что-то полезное на микроконтроллерах от атмель... Наверняка многие увлекаются здесь подобными вещами и я очень бы вас попросил хотя бы в десять шагов описать как это делается. Мои знания пока ограничены следующим:
умею паять, знаю принцип работы многих электронных схем, запросто разбираюсь в работе полупроводников и иных электронных элементов, знаю как понизить/повысить ток, напряжение в схеме, примерно знаю как работают микроконтроллеры, катушки индуктивности, оптопары и трансформаторы

Так вот, буквально сегодня я все-таки нашел магазин, в котором можно найти необходимые детали для сборки практически любой схемы и возникло желание собрать свою первую рабочую плату с каким-то функционалом. И для того, чтобы правильно спрашивать у поисковиков, мне нужно хотя бы знать порядок действий. Например:
даташит на МК, распайка, включение в LPT, assembler, avrdude, тесты

Хочу сделать следующее: ЖК дисплей от siemensA70(даташит есть), показывающий четыре зоны огорода и четыре датчика присутствия, замыкающие контакты МК, которые показывают на дисплее алерт по зонам...
Как вообще начинать это все дело?

★★★★★

Ответ на: комментарий от slapin

Ты таки про восьмибитки или про армы?

Не надо меня агитировать :)) (всяких кристаллов у меня уже больше чем я смогу когда либо использовать).
Я человеку ответил на вопрос так как считаю нужным. Позицию свою могу долго и подробно аргументировать, но смысла в этом не вижу. Я понял ТС-а, а он меня.

И еще раз. Mega8 со всей стартовой инфраструктурой в разы дешевле и проще в освоении под линуксом, чем любой другой МК, именно на данном развитии ТС-а.
Когда он спаяет десяток «погремушек», уже сам выберет, что и куда (а может вообще все это забросит).

yax123 ★★★★★
()
Ответ на: комментарий от KRoN73

Я все таки придерживаюсь мнения, что человек должен понимать, что происходит внутри МК. Как строка кода на С превращается компилятором в ассемблер, как потом все это прошивается в конкретные адреса флеша и как это все потом выглядит в виде сигналов на выходах. Именно для МК это важно.
Когда быдлокодишь на PHP на все эти тонкости конечно можно забить.

Мне вот кроме проганья еще нравится руками паять (строгать, лудить, пилить, сверлить и т.д.). Создавать законченное изделие, а не просто раз за разом отлаживать разные проги на одной и той же ардуино-«макетке».

Поэтому как раз и не надо спешить. Надо медленно спустится с горы и ... и т.д.

yax123 ★★★★★
()

//тред не читал

Ардуино Советовали?

havelite
()

На текущий момент:
Куплены atmega8l-8pu (по глупости)
atmega8a-pu (когда увидел схему «собери сам прог-тор» с этим МК)
attiny12l-4si (дешевый, подумал что пригодится для испытаний)
набор сопротивлений, керам. конденсаторы и так далее. Собрал прошиватор Громова, но он на моем относительно новом десктопе (а может другая причина) не завелся ну никак (подключал к COM, много раз перепроверял схему, все в порядке, виндовый uniprof не увидел схему вообще, avrdude не проверял - мануал описывал виндовс в качестве инструмента, а у меня и так все на соплях собрано).
Вердикт: 1 блин комом (не хватает деталей для сборки этого USBasp, точнее того же номинала), но за это время научился хлоридом железа травить платы, испытал лак для ногтей и маркер в качестве протектора дорожек - маркер лучше: tiny легко и непринужденно впаялась в схемку. А также получил еще больше загадок, чем ответов... Но хоть примерно (мельком-то даташиты читать приходится) понимаю как работают эти МК

minakov ★★★★★
() автор топика

И да. Arduino не только макетка, но и готовый isp-программатор.

PolarFox ★★★★★
()
Ответ на: комментарий от curufinwe

Дак он же хотя бы определиться должен - схема простая. Пока подвал разбираю на предмет недостающих компонентов, USBasp все-таки точно должен работать на новых машинах

minakov ★★★★★
() автор топика
Ответ на: комментарий от minakov

Если нативно, тогда да. Через usb надо пробовать.

curufinwe ★★★★★
()

Гугли eclipse avr plugin.

Ставь eclipse, cdt, плагин, avr gnu toolchain (в руководстве к плагину про всё это написано). Рабочая и удобная схема, проверено.

Читай доки к avr-glibc и руководства по аврам, тот же easyelectronics.ru.

prischeyadro ★★★☆☆
()
Ответ на: комментарий от prischeyadro

Спасибо за добрый совет

minakov ★★★★★
() автор топика
Ответ на: комментарий от yax123

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

Планирую в точности повторить схему на офсайте USBasp - стабилитроны есть, МК есть, половина резисторов и емкостей тоже. Осталось разводку платы чем-то прочитать и стравить, ну и докупить недостающие детали. А потом каким-то образом прошивку загнать в него. Сначала думаю по немецкой технологии сделать, а если не выйдет - по мануалу выше, точнее по очень полезному совету.

minakov ★★★★★
() автор топика
Ответ на: комментарий от minakov

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

Вот как раз для единичного успеха, достаточно минимальных усилий и usbasp для этого нафиг не нужен.
Оптимальный вариант на первых 10 прошивок это LPT-порт - «5 проводов». Гарантированно работает.

yax123 ★★★★★
()
Ответ на: комментарий от minakov

Осваивай технологию лазерного утюга! В постах ранее давал ссылку на архив с easyelectronics, по ней сам собирал USBasp - 100% работает.

lnx
()
Ответ на: комментарий от minakov

В архиве плата в SprintLayout (.lay) - под wine работает без нареканий и сама программа и вьювер. Найдешь в сети.

lnx
()
Ответ на: комментарий от yax123

Подтверждаю.
Только, 5 проводков и питание подпаять к кроватке и шить МК так. Еще лучше не просто 5 проводков, а через резюки (150-200 Ом), а то LPT-порт нежный довольно - говорят, убить легко. И нагугленный «5 проводков» чего-то у меня не хотел работать. Прошилось только по этой статье.

lnx
()
Ответ на: комментарий от lnx

Сделал по «этой статье». Идеально все avrdude определилось, и даже прошилось по статье для t13 - http://cxem.net/mc/mc104.php (оттуда .hex файл забрал и прошил им, так как даже простенький моргатель на C через avr-gcc не прошел, стал ругаться на модель МК). Так вот, прошить-то удалось, а вот работать зараза не хочет по той схеме... А avr-gcc ассемблер кушает?

minakov ★★★★★
() автор топика
Ответ на: комментарий от lnx

Так в том то и дело, что указал.
MCU=attiny12
AVRDUDEMCU=t12
...
В выхлопе была ошибка cc1 вроде, а когда я напрямую без makefile'а запустил сборку - как раз сказал что для этого МК только ассемблер

minakov ★★★★★
() автор топика
Ответ на: комментарий от minakov

Гугль говорит, что можно и под твой МК использовать avr-gcc, но не всё так просто.
еще есть avra - Assembler for Atmel AVR microcontrollers.

lnx
()
Ответ на: комментарий от lnx

Тестовый скриптик для этого МК avra с удовольствием проглотила

anonymous
()

Конечно оффтоп, но посоветую для начала попробовать поработать с AVR под windows. Поставь AVR Studio и изучи ядро используя симулятор. Потом этот же проект на железе.

Не стоит стесняться ассемблера и LPT.

exst ★★★★
()
Ответ на: комментарий от exst

Насчет эмулятора - это хорошо, но мне кажется лучше руками все потыкать, попаять, чтобы «набить» руки. Собственно, по этому пути, благодаря вам, уже кое-что получается

minakov ★★★★★
() автор топика
Ответ на: комментарий от minakov

Не отрицаю. Всегда хочется опробовать разработку на железе, но не всегда все получается сразу. Тем более без отладчика.

exst ★★★★
()

report:

за эти пару дней узнал много интересного, начинаю собирать USBasp. Заодно разобрался в маркировке конденсаторов. Знал только про советские пико- и микрофарады, а с 100n возникла заминка.

minakov ★★★★★
() автор топика
Ответ на: комментарий от lnx

Да, уже нашел подобную... Жаль, конечно, что не два дня назад, но вчерась она мне открыла глаза. Спасибо! :)

minakov ★★★★★
() автор топика

Хм, USBasp успешно собралось, хотя арчик ругался (в отличие от десктопа, где, видать, напряжение другое на портах) на непонятное устройство пока не впаял стабилитроны... Делал по схеме с офсайта - все заработало, аттини успешно шьется пустыми .hex'ами, лампы мигают как положено, хотя я ступил и схему набросал на текстолите плохим фломастером - он частично смылся в 50градусном растворе FeCl и некоторые дорожки пришлось прокладывать проводками поверх тоненькой меди. Но теперь все в ажуре и я счастлив. Спасибо вам, товарищи, осталась программная часть для изучения - железяки методом тыка стали понятны. И да, если кто решит повторить - не слушайте мануал, я по нему делал, а он при make фьюзы прописал сначала, а потом отключил МК потому что там переключалка на внешний кварц стоит... Пришлось все-таки ISP использовать, хотя и не хотелось до последнего.

minakov ★★★★★
() автор топика
Ответ на: комментарий от minakov

Блин, как же приятно держать эту штуку в руках. А когда подумаешь, что она работает - вдвойне приятно

minakov ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.