Добавление пользовательской платы в среду разработки Arduino

arduino-ide samd21g custom

Я хотел бы знать, какова процедура добавления пользовательской платы в 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, но они не дают удовлетворительного ответа на этот вопрос.

, 👍10

Обсуждение

Я думаю.файл json предназначен только для публикации, чтобы менеджер плат мог его найти; вы можете отредактировать boards.txt чтобы добавить свой собственный на основе нуля, если это только для вас., @esoterik

вы хотите опубликовать его или только для вашего использования? для вашего использования проще добавить его в подпапку "Оборудование" папки "скетчи"., @Juraj

@Juraj Это было бы только для моего собственного использования, но мне нужно было бы воспроизвести его на нескольких машинах. Я был бы признателен, если бы люди могли добавить ответы для обоих сценариев., @sa_leinad

@Juraj Спасибо. Я скоро посмотрю ссылку., @sa_leinad


1 ответ


10

Самый простой и понятный способ добавить плату с использованием существующего ядра-это добавить вариант в подпапку "Оборудование" папки "скетчи". Только 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