Добавление пользовательской платы в среду разработки Arduino
Я хотел бы знать, какова процедура добавления пользовательской платы в Arduino IDE?
Моя пользовательская плата похожа на Arduino Zero. Вместо использования ATSAMD21G18 моя плата основана на ATSAMC21G18. У меня также есть плата разработки Atmel/Microchip SAMC21 Xplained.
Я нашел некоторый открытый исходный код, в котором автор адаптировал/раздвоил код Arduino SAMD21 и заставил его работать для платы SAMC21 Xplained (здесь). Автор придерживался структуры папок аппаратного обеспечения Arduino и добавил SAMC21 Xplained в board.txt
файл.
В качестве теста, когда я устанавливал Arduino SAMD21 из диспетчера платы Arduino, я заметил, что он установил файлы оборудования в следующем каталоге:
%LOCALAPPDATA%\Arduino15\packages\arduino\hardware\samd\1.6.19\
Я читал, что для добавления файлов оборудования в диспетчер плат мне нужно создать файл .json с соответствующими деталями. Более подробная информация здесь. Однако, насколько я могу судить, это требует, чтобы я заархивировал аппаратные файлы SAMC21 в тарбол и предоставил URL-адрес для этого тарбола. Мне также нужно сгенерировать и вставить SHA в файл
.
json.
На правильном ли я пути с файлом .
json?
Или мне следует просто загрузить аппаратные файлы SAMC21 и поместить их в папку %LOCALAPPDATA%\Arduino15\пакеты\arduino\оборудование\samd
\ рядом с папкой
1.6.19?
Моим последним средством было бы просто скопировать файлы в существующую аппаратную папку SAMD21?
Я рассмотрел следующие вопросы Arduino SE, но они не дают удовлетворительного ответа на этот вопрос.
- загрузка.инструмент, не используемый в обычае boards.txt?
- Arduino Due пользовательская платформа для установки в школах и библиотеках (я бы предпочел не использовать Arduino IDE в портативном режиме).
@sa_leinad, 👍10
Обсуждение1 ответ
Самый простой и понятный способ добавить плату с использованием существующего ядра-это добавить вариант в подпапку "Оборудование" папки "скетчи". Только boards.txt и добавляются файлы для варианта платы.
В папке "скетчи" создайте папку "оборудование". В этой папке создайте папку с именем вашего пакета плат и подпапку с именем архитектуры и подпапкой для варианта и именем варианта. например, оборудование/my_boards/samd/варианты/samc21x
В папку вашего варианта (варианты/samc21x
) поместите файлы для вашего варианта на основе файлов вариантов варианта шкафа в указанном аппаратном пакете. В вашем случае, возможно, мкрзеро был бы хорошим примером.
В корневом каталоге вашего пакета (оборудование/my_boards/samd/
) добавьте boards.txt файл с записями для вашей платы.
Для boards.txt возьмите варианты аналогичной платы в указанном пакете. Измените имена и настройки, а также значение префикса build.core
с именем поставщика указанного пакета. Для arduino/samd это будет arduino:
. Например, samc21x.build.core=arduino:arduino
Мои пользовательские и индивидуальные определения плат https://github.com/jandrassy/my_boards
и " samc21x.build.extra_flags=-D__SAMC21G18A__ {build.usb_flags}` или аналогичный. ядро Arduino SAMD поддерживает компиляцию для SAMC, @Juraj
https://forum.arduino.cc/index.php?topic=602377.msg4089655#msg4089655, @Juraj
- Причина предупреждения «avr:build doesn't define a 'build.board' preference», когда build.board явно задан в boards.txt?
- Почему IDE не может найти плату, несмотря на то, что она четко видна и выбрана?
- C++ против языка Arduino?
- avrdude ser_open() can't set com-state
- Как читать и записывать EEPROM в ESP8266
- Float печатается только 2 десятичных знака после запятой
- устаревшее преобразование из строковой константы в 'char*'
- Запрограммировать ATMega328P и использовать его без платы Arduino.
Я думаю.файл json предназначен только для публикации, чтобы менеджер плат мог его найти; вы можете отредактировать boards.txt чтобы добавить свой собственный на основе нуля, если это только для вас., @esoterik
вы хотите опубликовать его или только для вашего использования? для вашего использования проще добавить его в подпапку "Оборудование" папки "скетчи"., @Juraj
@Juraj Это было бы только для моего собственного использования, но мне нужно было бы воспроизвести его на нескольких машинах. Я был бы признателен, если бы люди могли добавить ответы для обоих сценариев., @sa_leinad
@Juraj Спасибо. Я скоро посмотрю ссылку., @sa_leinad