Spara 81 sekunder: snabb Arduino Bootload/Program för produktion (4 / 6 steg)
Steg 4: Skapa en makefile
Förutsatt att du redan har en Arduino skiss som du vill programmera in i enheten, gå till mappen skiss. I mitt fall heter projektet RGBShades:
CD ~/sketchbook/RGBShades
Skapa en makefile:
gedit Makefile
Innehållet i makefile beror på de exakta specifikationerna för din processor, vilken starthanterare du vill installera, etc. Om maskinvaran är funktionellt identisk med en befintlig Arduino-kompatibla ombord, kan det dock vara enkel:
BOARD_TAG = pro5v328
ARDUINO_PORT = / dev/ttyUSB *
ISP_PROG = avrispmkII
ISP_PORT = usb
inkludera /usr/share/arduino/Arduino.mk
I ovanstående fall är den BOARD_TAG som valts från standard boards.txt definitionen i programvaran Arduino. Det motsvarar den Arduino Pro mini med ATmega328 på 5V och 16MHz. ARDUINO_PORT vanligen är/dev/ttyUSB0 om enheten är den enda USB-seriell enhet ansluten för tillfället, men jokertecknet asterisk tillåter andra port nummer sedan ibland det visas som ett annat nummer. Om du har andra USB-seriella enheter måste du titta på vad portar används redan och välj det som visas när din enhet-till-vara-programmerad är inkopplad.
Makefile nedan är vad vi faktiskt använder för RGBShades-projektet:
ARDUINO_QUIET = 1
BOARDS_TXT = ~/sketchbook/hardware/RGBShades/boards.txt
BOARD_TAG = RGBShades
ARDUINO_PORT = / dev/ttyUSB *
AVRDUDE_OPTS = - q
ISP_PROG = avrispmkii
ISP_PORT = usb
inkludera /usr/share/arduino/Arduino.mk
BOARDS_TXT pekar på en anpassad styrelsen fil som väljer några alternativa parametrar och bootloader alternativ. Alternativa boards.txt filen innehåller BOARD_TAG RGBShades. Ett par andra alternativ läggs till minska mängden text rullning av medan programmering enheter. Ganska viktigt: standard AVRDUDE_OPTS inaktiverar kontroll (med alternativet -V), så det är en bra idé att ställa in AVRDUDE_OPTS själv. Detta kommer att se till att läsa tillbaka den uppladdade programmet och se till att enheten var programmerad framgångsrikt. I praktiken såg vi ett misslyckade program en gång varje 50-100 försök, så kontroll är alltid ett bra skydd.
RGBShades board.txt fil ingår nedan är komplett:
##############################################################
RGBShades.name=RGB nyanser
RGBShades.upload.protocol=arduino
RGBShades.upload.maximum_size=32256
RGBShades.upload.speed=115200
RGBShades.bootloader.low_fuses=0xFF
RGBShades.bootloader.high_fuses=0xDE
RGBShades.bootloader.extended_fuses=0x05
RGBShades.bootloader.unlock_bits=0x3F
RGBShades.bootloader.lock_bits=0x0F
RGBShades.bootloader.path=optiboot
RGBShades.bootloader.file=optiboot_atmega328.hex
RGBShades.build.mcu=atmega328p
RGBShades.build.f_cpu=16000000L
RGBShades.build.core=arduino
RGBShades.build.variant=eightanaloginputs
##############################################################
Eftersom RGBShades koden krävs också ett externt bibliotek (FastLED) installerades detta som vanligt i mappen ~/sketchbook/libraries/.
Nästa, vi kommer att skapa ett skript för att automatisera programplaneringsprocessen.