Novinky: Pridal som novú sekciu na webe - Turistika
Sitepoint logo

TinySafeBoot – ako efektívne programovať ATTINY

Pri častých hrách s ATTINY85 ma prestalo baviť pripájať a odpájať ISP programátor, a VUSB ako Digispark tiež, tak som trochu pátral a našiel TSB. Je to bootloader, ktorý okrem ATTINY podporuje aj ATMEGA, zaberá 550 bajtov, umožňuje programovanie cez ľubovoľné 2 piny, plus ďalšie veci, ako zaheslovanie atď. Ako na to?

Stiahnite si aktuálne binárky z oficiálnej stránky, rozbaľte, vyberte si typ MCU a vybuildujte si vlastný bootloader. Ja som použil ATTINY85 a piny PB3/PB4.

tsb tn85 b3b4

Po spustení sa nám vytvorí súbor „tsb_tn85_b3b4_xxxxxxx.hex“, ktorý následne môžme nahrať do MCU pomocou ISP (ArduinoISP, usbasp…). Tú sú príkazy na nahratie bootloadera a nastavenie správnych fusebitov (MCU bude bežať na 8 MHz z interného oscilátora)

avrdude.exe -p t85 -P COM6 -b 19200 -c avrisp -e
avrdude.exe -p t85 -P COM6 -b 19200 -c avrisp -U hfuse:w:0xD4:m -U lfuse:w:0xE2:m -U efuse:w:0xFE:m
avrdude.exe -p t85 -P COM6 -b 19200 -c avrisp -U flash:w:tiny85_d3d4.hex -E noreset

COM port a názov súboru si upravte podľa seba… Následne si pripojte USB-serial adaptér, ja používam tie s CP2102, a pripojte PB3 (RX) na TX adaptéra, a PB4 (TX) na RX, no a samozrejme aj +5V na pin 8 a GND na pin 4. V termináli sa pripojte na COM6 (9600 baud), a resetnite ATTINY. Do dvoch sekúnd pošlite znak „@“ do sériovej konzoly a MCU by malo odoslať text „TSB“. Iná možnosť je po reštarte spustiť zase program TSB s nasledovnými parametrami a MCU odpovie…

tsb com6:9600 I

READ USER DATA   ... OK

TINY SAFE BOOTLOADER
VERSION   : 20161027
STATUS    : F0
SIGNATURE : 1E 93 0B
DEVICE    : ATtiny85
FLASH     : 8192
APPFLASH  : 7552
PAGESIZE  : 64
EEPROM    : 512
APPJUMP   : C048
TIMEOUT   : 255

Bootloader teda funguje a môžme smelo programovať a nahrávať. Ak by sme to ručne dodefinovali v boards.txt , tak by to možno išlo aj cez Arduino GUI, ale momentálne to riešim tak, že program skompilujem (Sketch—>Export compiled Binary) a nahrám zase cez TSB.

* MCU reset

tsb com6:9600 FW tiny_serial.ino.hex

Nabudúce niečo o využití PB5/RESET na ATTINY85 a bezdrôtových zariadeniach založených na nRF24L01+.


Categories:


Comments

Jedna odpoveď na na “TinySafeBoot – ako efektívne programovať ATTINY”

  1. […] pohybom aktivované decentné, ambientné, osvetlenie kuchyne. Zúžitkoval som tu dve veci – TSB bootloader pre ATTINY85 a PWM riadenie MOSFETu. Požiadavky boli jednoduché – pohybom aktivovať, […]

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *