Как портировать Arduino-скетч в реальное устройство на аналогичном кристалле?

Купил Arduino с целью сделать вполне конкретное устройство. Так как всем хорошо известно, что это платформа для прототипирования, дополнительно купил отдельный микроконтроллер, ну и всю обвязку, намереваясь собрать всё компактнее, но воспользоваться готовой программой с Arduino.

После детального осмотра Arduino выяснилось, что перенос готового кода (который я пока не успел написать и это, похоже, к лучшему) — задача нетривиальная. Arduino'вские библиотеки дают много удобств, но даже пустой скетч имеет значительный размер на выходе.

Понятно, что использовать написанный для Arduino код "в бою" это как минимум не Unix-way. Может быть есть способ или хотя бы мануал по портированию кода с Arduino'вских библиотек в пригодный для использования на реальном железе?
  • Вопрос задан
  • 8257 просмотров
Решения вопроса 1
svd71
@svd71
Строится/покупается программатор (вероятно на еще одной ардурине), сливается дамп флэша и ерпрома из скетчевой ардуино и записывается на новый кристалл.

Хотя в среде ардуины есть опция меню - "сохранит в файл" или что то типа такого, для программирования настоящим программатором отдельных кристаллов.
Гугление по теме "программатор AVR" даст кучу вариантов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
noonv
@noonv
Unix-way - это программировать на чистом C.
Но прототип-то можно и на Arduino собрать ;)
Так же нет никаких проблем вытащить hex-файл для прошивки контроллера через SPI (при помощи той же Arduino).
Ответ написан
Neuroware
@Neuroware
Программист в свободное от работы время
Можно пойти другим путем, IDE ардуино при построении (компиляции) проекта преобразует скетч в обычный cpp файл, который уже компилируется, можно взять этот самый cpp и его использовать в другой среде (winavr и прочее) , естественно часть кода не портируется, т.к. как раз те самые "много мусора" придется удалить и написать с нуля еще раз (ибо в ардуино это просто уже сделано за вас), в итоге вы получите тоже самое что и было, но с кучей глюков ибо написали кучу своих велосипедов. На практике если вы не выжимаете из кристала 102% производительности и прекрасно умещаетесь в отведенную память (что вероятней всего так и есть) нет смысла отказываться от ардуино. В проме естественно плату типа uno вешать я бы не советовал (хотя и страшного в этом ничего нет), при желании можно залить все тоже самое в отдельный кристал на вашей плате.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы