Jeffrey Cross
Jeffrey Cross

Граючи з Arduino-сумісним тренером Beagle Board Trainer

Beagle Board Trainer з Tin Can Tools - відмінна дочірня дошка для борту Beagle, що пропонує перемикачі рівня для вбудованих виходів, таких як GPIO, I2C і SPI. Це дозволяє розмовляти з пристроями 3.3v і 5v (рада Beagle працює з сигналізацією 1.8v). Tin Can Tools послав мені тренерську дошку, щоб витягнути на спину.

Моєю улюбленою частиною тренера «Beagle Board Trainer» є вбудована в Arduino сумісна підсистема. У нього є завантажена ATMega328 з завантажувачем Arduino, всі стандартні штифти Arduino виставлені, і ви можете поговорити з ним через другий послідовний UART Beagle Board (/ dev / ttyS1).

Налаштування тренера та борту Beagle Я припаяв певні жіночі заголовки до тренера, щоб я міг наповнювати дроти та компоненти і грати з ними, після чого я зібрав тренера, як було вказано у вікні Embedded Linux. Після підключення тренера та борту Beagle я був готовий встановити ядро ​​та кореневу файлову систему.

Хоча я використовую Mac для щоденної роботи, я підтримую віртуальну машину Linux зручною для проектів, чиї інструкції передбачають (або вимагають) доступу до системи Linux. Я використовую VMware Fusion, але це повинно працювати однаково добре з Parallels або вільним VirtualBox на Mac або Windows. Можливо, це можна зробити без віртуальної машини, але для цього потрібно відформатувати карту SD з ext2, що є непростою в не-Linux системі.

Я дотримувався інструкцій для створення завантажувальної SD-карти. Щоб підключити мою SD-карту до моєї віртуальної машини Linux, я її вимкнув у Mac OS X і повернувся до VMware, де я вибрав Віртуальну машину → USB → Підключіть Apple Internal Reader картки пам'яті. Після того, як я зробив це, я зміг отримати доступ до моєї SD-карти від Linux, як ніби він був підключений до реальної машини.

Мій Бігл Борд не буде завантажуватися належним чином, доки я не виконую кроки з іншого набору інструкцій з налаштування аргументів завантаження. Як тільки я це зробив, все працювало нормально.

Відправлення ескізів Arduino на борт Бігл Тепер, коли у мене була робоча дошка Бігл, пов'язана з тренером, мені довелося з'ясувати, як на неї завантажувати ескіз Arduino. Складна частина з'ясувала, як генерувати файл .hex з Arduino. Ідентифікатор Arduino IDE зазвичай генерує це під час завантаження його на плату Arduino, але він не залишає файл .hex.

Я використовував інструкції Мартина Олдфілда і Makefile для використання Arduino з командного рядка. Я відкрив приклад Arduino Fade в IDE Arduino (Файл → Приклади → 1. Основи → Fade) і зберег його до мого каталогу Arduino. Оскільки PIN-код GND на тренажері так далекий від Arduino-сумісних шпильок, я додав пару рядків до програми налаштування Fade (), яка робить контактний штифт 10:

pinMode (10, OUTPUT); digitalWrite (10, LOW);

Далі, я створив Makefile, який виглядав так, і помістив його в каталог ескізів (/ Users / bjepson / Documents / Arduino / Fade на моєму комп'ютері). Можливо, вам доведеться змінити налаштування ARDUINO_DIR, і вам потрібно буде змінити останній рядок, який починається з включати:

ARDUINO_DIR = /Applications/Arduino.app/Contents/Resources/Java TARGET = Fade MCU = atmega328p F_CPU = 16000000 ARDUINO_PORT = /dev/cu.usb* ARDUINO_LIBS = LiquidCrystal включають /Users/bjepson/src/arduino-mk-0.4/Arduino .mk

Потім я пішов у термінал, використовував компакт-диск, щоб перейти до каталогу ескізу, і набрав зробити. Коли я закінчив, у підкаталозі build-cli з'явився файл з назвою Fade.hex. Я вимкнув борт Beagle, повернув SD-карту в комп'ютер і скопіював Fade.hex в кореневу кореневу файлову систему. Я також скопіював avrgal, який є легкою альтернативою avrdude. Я розмотував карту SD, підключив її назад до борту Beagle, і знову зарядив борт Beagle. Після запуску, я увійшов в систему як root, використовував cd для перемикання в каталог, де я скопіював avrgal і Fade.hex, потім виконав цю команду, коли натиснув кнопку скидання поруч з ATMega328 (не кнопкою скидання Beagle Board): ./avrgal Fade.hex. Ось результат, який я побачив:

Використовується порт Uart: / dev / ttyS1 Автовизначення для Fade.hex: Intel Hex Набуває SYNC з AVR: передано та завантажено на flash: Passed

Коли я був зроблений, я підключив світлодіод до контакту 9 (позитивне, довше свинцеве) і до висновку 10 (негативний свинець). Світлодіодний індикатор зник, як і слід. Тепер у мене з'явилася система з низькою потужністю Linux з Arduino-сумісною периферією, підключеною до неї. Є багато можливостей з цим комбо.

Поділитися

Залишити Коментар