V tejto časti sa dozviete ako si nastaviť Microchip Studio, aby ste mohli začať programovať vývojovú dosku Angry Bear Board (ABB) cez konektor USB. Ak Microchip Studio ešte nemáte, môžete si ho stiahnuť tu. Microchip Studio sa pôvodne volalo Atmel Studio a k premenovaniu došlo po odkúpení spoločnosti Atmel spoločnosťou Microchip. Preto môžete používať aj Atmel Studio 7, ak nemáte k dispozícii Microchip Studio. Prístup k starším verziám Atmel Studia nájdete tu.

Tento návod Vás ďalej prevedie vytvorením jednoduchého programu, jeho nahratím do mikrokontroléra a overením správnosti nastavení.
Nastavenie programovania cez USB-C
- Microchip Studio resp. Atmel Studio 7 a program Avrdude (stačia súbory avrdude.exe a avrdude.conf, ktoré si môžete stiahnuť tu). V bode č. 3 tohto návodu prepokladáme, že súbory avrdude.exe a avrdude.conf umiestnite do C:\Avrdude\.
- Poznámka: Ak máte nainštalované Arduino IDE, tak program Avrdude už máte, pretože je súčasťou Arduino IDE a nemusíte sťahovať horeuvedené súbory.
- Pripojte vývojovú dosku ABB cez USB kábel k počítaču,
- Vo Windows spustite Správcu zariadení (Klávesa a začnite písať: Správca zariadení),
- v Správcovi zariadení nájdite Porty (COM a LPT) a USB Serial Port, v zátvorke je uvedený názov portu. Na obrázku nižšie je názov portu COM10.

2. Spustite Microchip (Atmel) Studio IDE.


3. Z menu programu vyberte Tools -> External Tools…

4. Do okna External Tools zadajte nasledovné:

- Title:
Angry Bear Board
- Command:
Zadajte cestu k avrdude.exe. Ak ste uložili avrdude.exe do C:\Avrdude\, použite nasledovný zápis:
C:\Avrdude\avrdude.exe
Ak máte nainštalované Arduino IDE, tak sa avrdude.exe nachádza v programových súboroch (Program Files):C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
Je uvedená štandardná cesta k avrdude.exe. Skontrolujte cestu a umiestenie súboru avrdude.exe.
- Arguments:
Ak ste uložili avrdude.conf do C:\Avrdude\, použite nasledovný zápis:-C"c:\Avrdude\avrdude.conf" -v -patmega328p -carduino -PCOM10 -b250000 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i
Ak máte nainštalované Arduino IDE, použite nasledovný zápis a skontrolujte, či zadaná cesta k avrdude.conf naozaj existuje:-C"c:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -v -patmega328p -carduino -PCOM10 -b250000 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i
Upozornenie: Môžete meniť iba časti textu vyznačené modrou, t.j. cestu k avrdude.conf a COM port, ku ktorému je pripojená doska ABB (pozri bod č. 1).
Význam argumentov (v angličtine):
-C<Path_to_avrdude.conf> – a path to avrdude.conf, you can find this file in Arduino IDE’s installation directory. Ensure you enter the path in quotes in case there are any spaces in your path.
-p<part number> – AVR processor model
-c<programmer type> – programmer type being used to program the board
-P<port> – COM port you should have noted in stage 2
-b<baud rate> – baud rate for the programmer.
-D – disables auto erase for flash memory (required for wiring programmer used with Arduino Mega 2560)
-U<memorytype>:<operation>:<path to HEX file>:<format> – this is where you should leverage Atmel Studio’s variables to always point to freshly complied and generated HEX file. List of variables and their descriptions can be found at Atmel’s help page.
- Zaškrtnite políčko Use Output Window a kliknite na OK.
Prvý program
Vytvoríme si jednoduchý program slúžiaci na overenie správnosti nastavení, ktoré boli uvedené vyššie. Program bude blikať LED diódou LED0 s frekvenciou 1 Hz, t.j. dióda bude svietiť 0,5s a rovnaký čas bude zhasnutá.
#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>
#define LED PORTB0
int main(void)
{
DDRB=(1<<LED);//LED na PB0 ako výstup
while (1)
{
PORTB|=(1<<LED);//rozsvietenie LED
_delay_ms(500);//pauza 0,5s
PORTB&=~(1<<LED);//zhasnutie LED
_delay_ms(500);//pauza 0,5s
}
}
Nahrávanie programu
Pred nahrávaním programu je potrebné program najprv skompilovať. Skompilujte program výberom z menu: Build -> Build Solution alebo stlačte tlačidlo F7. Skontrolujte výstup:
Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
Nahrajte program výberom z menu: Tools -> Angry Bear Board

Skontrolujte výstup:
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude.exe: Device signature = 0x1e950f (probably m328p)
avrdude.exe: safemode: lfuse reads as 0
avrdude.exe: safemode: hfuse reads as 0
avrdude.exe: safemode: efuse reads as 0
avrdude.exe: reading input file "C:\Users\...\LED_blink.hex"
avrdude.exe: writing flash (186 bytes):
Writing | ################################################## | 100% 0.06s
avrdude.exe: 186 bytes of flash written
avrdude.exe: verifying flash memory against C:\Users\...\LED_blink.hex:
avrdude.exe: load data flash data from input file C:\Users\...\LED_blink.hex:
avrdude.exe: input file C:\Users\...\LED_blink.hex contains 186 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################################## | 100% 0.07s
avrdude.exe: verifying ...
avrdude.exe: 186 bytes of flash verified
avrdude.exe: safemode: lfuse reads as 0
avrdude.exe: safemode: hfuse reads as 0
avrdude.exe: safemode: efuse reads as 0
avrdude.exe: safemode: Fuses OK (E:00, H:00, L:00)
avrdude.exe done. Thank you.