Написание прошивок для AVR под Linux

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Iron_Snake
Родился
Сообщения: 3
Зарегистрирован: Ср июн 09, 2010 10:11:48

Написание прошивок для AVR под Linux

Сообщение Iron_Snake »

Господа, у меня такой вопрос: где взять инклюдники для Атмеловских микрух? Сайт их вроде бы выкурил, но ничего не нашел по этому поводу.

Под винды они идут в составе софта, а вот под сабж архивчика с ними не нашел. Ткните носом, пожалуйста. Не дайте помереть идиотом.
P.S. Пользуюсь Debian Lenny.
Реклама
Аватара пользователя
Maxxon
Открыл глаза
Сообщения: 43
Зарегистрирован: Пт апр 09, 2010 12:54:00
Откуда: Санкт-Петербург

Re: Написание прошивок для AVR под Linux

Сообщение Maxxon »

Взять к примеру, WinAVR, развернуть под вайном, потом скопировать в PATH (или добавить новый путь в него). Аналогично можно поступить с любым пакетом в котором есть нужные inc и запакованным в exe.
Реклама
Iron_Snake
Родился
Сообщения: 3
Зарегистрирован: Ср июн 09, 2010 10:11:48

Re: Написание прошивок для AVR под Linux

Сообщение Iron_Snake »

Maxxon писал(а):Взять к примеру, WinAVR, развернуть под вайном, потом скопировать в PATH (или добавить новый путь в него). Аналогично можно поступить с любым пакетом в котором есть нужные inc и запакованным в exe.
Религия.
Хотя сейчас именно так и сделал. Единственный минус -- avra не понимает синтаксиса inc-ов из Assembler2, в которой все новые кристаллы... так что теперь еще добавился вопрос, какой компилятор ассемблера пользовать...
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Re: Написание прошивок для AVR под Linux

Сообщение smac »

Maxxon писал(а):Взять к примеру, WinAVR, развернуть под вайном, потом скопировать в PATH (или добавить новый путь в него). Аналогично можно поступить с любым пакетом в котором есть нужные inc и запакованным в exe.
Месье знает толк в извращениях :)
2 Iron_Snake не знаю как в дебиане, у меня на убунте просто пакеты gcc-avr и avr-libc можно через синаптик установить. Поисщите данные пакеты для своего дистрибутива - может быть есть. Если нету, то придется собирать из исходников - гуглить по словам gcc и avr-libc.
Добавлено: собственно нужно будет еще и binutils-avr, в котором кстати будет и гнушный ассемблер, хотя он тоже вряд-ли поймет инклуды от атмела, но зато либцешные понимает, те которые avr/io.h
Реклама
Эиком - электронные компоненты и радиодетали
Iron_Snake
Родился
Сообщения: 3
Зарегистрирован: Ср июн 09, 2010 10:11:48

Re: Написание прошивок для AVR под Linux

Сообщение Iron_Snake »

2smac Пакеты эти естественно есть и стоят. Но как-то я не понял, как ассемблер будет пережевывать сишные инклюдники? (Больно не пинать, с асмом, увы, не работал совершенно, только читать его умею и то только в виде вставок).
Кстати, родные Атмеловские инклюдники времен написания авры лежат тут.
Реклама
Аватара пользователя
Mamonth
Вымогатель припоя
Сообщения: 534
Зарегистрирован: Пн янв 16, 2006 08:00:17
Откуда: Иркутск

Re: Написание прошивок для AVR под Linux

Сообщение Mamonth »

А с каких пор в AVR-GCC нету ассемблера?
Today fine night...
Реклама
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Re: Написание прошивок для AVR под Linux

Сообщение smac »

Iron_Snake писал(а): Но как-то я не понял, как ассемблер будет пережевывать сишные инклюдники?...
Так, во превых определитесь хидеры (*.h), которые из avr-libc или инклюдники (.inc)? Я конечно могу ошибаться, но в основном хидеры пережевывает препроцессор (ассемблерный или сиш-ный), чтобы "включить" сишный препроцессор в ассемблерных исходниках нужно дать файлу с исходником расширение .S (обязательно с большой буквы).
Вот сейчас посмотрел исходник и вспомнил, что основная штука при обращении к SFR использовать макрос _SFR_IO_ADDR(). Вот посмотрите проект под кодеблокс (в нем есть спецплагин для АВР) смысла в проекте особого нет, но зато можно найти как работать с регистрами. Если что-то непонятно будет спрашивайте попробую помочь. Также посмотрите http://www.nongnu.org/avr-libc/user-man ... mbler.html, и вообще avr-libc manual дает ответы на многие вопросы
Вложения
boot_ldr.zip
(18.77 КБ) 166 скачиваний
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: Написание прошивок для AVR под Linux

Сообщение avreal »

smac писал(а):Вот сейчас посмотрел исходник и вспомнил, что основная штука при обращении к SFR использовать макрос _SFR_IO_ADDR().
В общем, не обзательно.
Для чисто ассемблерного кода, куски из которого не предполагается превращать в ассемблерные вставки в С, вполне проходит

Код: Выделить всё

.nolist
#define __SFR_OFFSET 0
#include <avr/io.h>
#include "avr_asm_diff.h"
.include "avr_macro.inc"
.list

#define CCD_ST	B,0,H
#define CCD_CLK	B,1,H /* OC1A output */
#define SYNC	B,2,H
#define DBG2	B,3,H

	.global main
main:
	.global main
main:
	outi	OSCCAL, 0x00
	outi	PORTB, 0xFF	; pull-ups on unused, 1 on used
	outi	DDRB, MASK(CCD_CLK) | MASK(CCD_ST) | MASK(SYNC) | MASK(DBG2)
	outi	ACSR, (1<<ACD)
	outi	OCR1B, CLK_CYCLES - 1
	outi	OCR1A, CLK_CYCLES/2 - 1
loop:
	sbi	PORT(SYNC)
	cbi	PORT(CCD_ST)
	; и так далее
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
enq
Открыл глаза
Сообщения: 59
Зарегистрирован: Чт фев 11, 2010 10:31:31
Откуда: Воронеж
Контактная информация:

Re: Написание прошивок для AVR под Linux

Сообщение enq »

Расскажу что у меня получилось, мож поможет. Можно установить AVRA

Код: Выделить всё

sudo apt-get install avra

скачать обычный файл 2313def.inc(или какая там у вас микруха), предоставляемый атмелом.
в исходнике написать

Код: Выделить всё

.include "/полный/путь/к/файлу/2313def.inc"
и после этой директивы любые исходники из обучалки компилятся на ура, avra сразу выдает файл .hex и .eep.hex (данные eeprom). и зачем С с асмой смешивать, не понимаю.. :)) .
UPD: Сейчас юзаю KontrollerLab + Avra + Avrdude + Proteus(Wine). KontrollerLab - Все в одном, редактор кода с подсветкой, GUI к Avrdude и Uisp, можно писать на сях и на асме, фьюзы итд - все под рукой. Очень гибкие настройки, можно поключить отдельно компилятор/ассемблер/линкер, подключить софт и железо для прошивки, короче, очень полезная прога.


зы. Раз уж влез, задам вопрос: какой программой прошивать AVRы в Linux по интерфейсу 5 проводков или через Fun-Card?
Последний раз редактировалось enq Пт окт 22, 2010 20:58:28, всего редактировалось 1 раз.
Добра вам
Изображение
Аватара пользователя
Телерадиокошак
Прорезались зубы
Сообщения: 200
Зарегистрирован: Пт ноя 17, 2006 21:57:43

Re: Написание прошивок для AVR под Linux

Сообщение Телерадиокошак »

enq писал(а):зы. Раз уж влез, задам вопрос: какой программой прошивать AVRы в Linux по интерфейсу 5 проводков или через Fun-Card?
avreal
enq
Открыл глаза
Сообщения: 59
Зарегистрирован: Чт фев 11, 2010 10:31:31
Откуда: Воронеж
Контактная информация:

Re: Написание прошивок для AVR под Linux

Сообщение enq »

почитал, нет там такой опции, тока byteblaster
Добра вам
Изображение
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: Написание прошивок для AVR под Linux

Сообщение Kavka »

enq писал(а):почитал, нет там такой опции, тока byteblaster
Плохо читали :)
http://real.kiev.ua/avreal/
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: Написание прошивок для AVR под Linux

Сообщение Foks »

Разве avrdude не шьет проводками?
Maxxon писал(а):Взять к примеру, WinAVR, развернуть под вайном, потом скопировать в PATH (или добавить новый путь в него). Аналогично можно поступить с любым пакетом в котором есть нужные inc и запакованным в exe.
Эта программа изначально для линукса. И называется avr-gcc. WinAVR это уже сборка и доработка для винды. Что за изврат с вайном :?

Лучше взять из АВР студии ассемблер 2.0 (сам асм, консольный) и инклюды для него, и ЭТО запускать под вайном.
Giggity giggity goo!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»