Загрузка .hex в ATTiny13 с помощью Arduino

Я хотел бы загрузить .hex в ATTiny13V (или '13A) с помощью Arduino Uno R3. Я думаю, что я знаю все, что нужно сделать, но поддержка ISP для ATTiny13 и IDE Arduino - это немного поиск и поиск, и у меня есть некоторые серые области в моем понимании того, как все это работает.

Я получил здесь:

-Инструкция, способная делать что-то, что мне понравилось, и использовать ATTiny13V, .hex для загрузки и источник C, если я хочу изменить источник. Прямо сейчас мне не нужно изменять источник, доступный .hex в порядке.

-Я тогда искал способ программирования AVR из OS X. Это кажется небольшой проблемой, многие аппаратные средства AVR отлично работают под Windows, но, похоже, имеют смешанные результаты в OS X. Я видел, что Arduino можно было использовать для этого под OS X.

-Я посмотрел на местный Craigslist для Arduino, кто-то продавал Uno R3 с некоторыми дополнительными услугами за отличную цену, и вот мы. И теперь у меня есть еще много проектов, которые я хочу завершить!

Я использую Arduino 1.6.10 (из .cc не .org).

Я читал о stackexchange и других местах, которые ядро ​​smeezekitty13 работает для ATTiny13. elabz.com/arduino-shrunk-how-to-use-attiny13-with-arduino-ide /

Это здорово, но: Если я не использую какие-либо команды, специфичные для Arduino, я не думаю, что мне нужен загрузчик, правильно? Я думаю, что это не действительно загрузочный загрузчик, но строит поддержку некоторых команд более высокого уровня Arduino, используемых файлами эскиза.

Мне даже нужны файлы ядра ATTiny13, если я правильно зацепил контакты между '13 на макете и Arduino (как описано здесь: https://create.arduino.cc/projecthub/arjun/programming-attiny85-with-arduino-uno-afb829 ) ,

Я действительно не понимаю, что делает Arduino IDE /bootloader для меня как уровень абстракции. Нужен ли мне загрузчик, если я не использую какие-либо команды Arduino для более высокого уровня на чипе? HOw о файлах ядра для ATTinyanything против специально ATTiny13?

Здесь будут использоваться шестнадцатеричный файл и источник C, которые я буду использовать: http://www.instructables.com/id/Programmable-LED/ Следующим шагом будет изменение источника. Источник C выглядит так, как будто он ссылается на некоторые файлы заголовков AVR. Я вижу, что ArduinoIDE использует avrdude, поэтому, возможно, все будет компилироваться?

Мне кажется, что я близок, но не 100% в своем понимании того, что мне нужно делать, с инструментами, которые у меня есть.

Спасибо за вашу помощь. Я не выше пошагового.

Основной вопрос 1: У меня есть .hex-файл, Arduino и IDE 1.6.10, OS X и макет и полезные компоненты. Что мне нужно сделать, чтобы поместить шестнадцатеричный код на этот ATTiny13?

Основной вопрос 2: Прыжки с места для подключения источника C, который я связал, немного подстроил его, построил шестнадцатеричный код и загрузил его. Я не против переноса его на эскиз, если это необходимо, но мне было бы полезно узнать, как это работает до режима I в среде IDE.

У меня есть небольшой программный фон, я удобно беру этот источник C и вношу изменения и компиляцию (предполагая, что могу найти нужные файлы .h), но это мой первый опыт работы с любыми мультипроцессорами.

2 голоса | спросил TooManyHandles 25 PM000000100000005431 2016, 22:38:54

1 ответ


2

Ваш компьютер не может напрямую разговаривать с ATtiny. Вам понадобится часть взаимодействуя между ними. Это называется ICSP (или ISP) программист. Вам также необходимо программное обеспечение для вождения программиста, как правило AVRDUDE.

Если у вас нет программиста, вы можете купить его (у меня был успех с некоторые очень дешевые USBASP), или вы можете запрограммировать Arduino Uno на поведение как программист ISP. Вы делаете это, загружая в Arduino a программа под названием ArduinoISP, как описано в учебнике Использование Arduino как AVR ISP (In-System Программист) . Ты будешь обычно используют Arduino IDE и ядро ​​Arduino для Uno, чтобы скомпилируйте и загрузите ArduinoISP в свой Uno. Как только это будет сделано, вы можете используйте Arduino в качестве программиста и сжечь ваш .hex в свой ATtiny.

Если вы хотите скомпилировать свои собственные программы для ATtiny, вам понадобится компилятор avr-gcc и avr-libc. Они связаны с Arduino IDE, так что вы уже имеете их. Вам понадобится ядро ​​Arduino для ATtiny only , если вы хотите использовать API и библиотеки Arduino. В противном случае вы можете писать простые программы на C, не считая avr-libc и avr-gcc.

Изменить . Чтобы скомпилировать простую программу на языке C, вы можете ввести что-то вроде это:

avr-gcc -mmcu=attiny13a -DF_CPU=1200000 -Os -Wall -Wextra flickled.c -o flickled.elf
avr-objcopy -O ihex flickled.elf flickled.hex

Предполагается, что ваш исходный файл называется flickled.c и ваш ATtiny работает на частоте 1,2 МГц.

ответил Edgar Bonet 25 PM000000110000000131 2016, 23:14:01

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132