Portál AbcLinuxu, 29. října 2025 18:11
Svoje hľadanie programátora som začal na e-bayi. Po zadaní "mkII clone" do vyhľadávača som skočil rovno po najlacnejšej ponuke. V popise bola malá poznámka o tom, že zariadenie nefunguje v AVR studiu, ale koho to zaujíma pri tak nízkej cene?
V pomerne luxusnom balení (kartónová krabička oblepená piatimi vrstvami lepiacej pásky) nájdeme samotný programátor, ISP kábel a pomerne kvalitný USB kábel. Žiadne ďalšie príslušenstvo sa v balení nenachádzalo.
Prekvapila ma prítomnosť 10-pinového konektoru zatiaľ čo mkII obsahuje 6-pinový konektor. Redukcia z 10-pinového na 6-pinový konektor je veľmi jednoduchá a pri jej tvorbe nám postačí pár vodičov. Schéma zapojenia a mapovanie pinov vyzerá nasledovne:
| Signál | 6-pinový konektor | 10-pinový konektor | Účel |
|---|---|---|---|
| MISO | 1 | 9 | Dáta z AVR do programtora |
| VCC | 2 | 2 | Napájanie mikrokontroléra (+5V) |
| SCK | 3 | 7 | Sériové hodiny ovládané programátorom |
| MOSI | 4 | 1 | Príkazy a dáta z programátora do AVR |
| RESET | 5 | 5 | Reset signál |
| GND | 6 | 4, 6, 8, 10 | Uzemnenie |
Po pripojení sa programátor hlási ako USBasp, čo prirodzene nie je u mkII bežné. Ak si to teda zhrnieme tento klon nevyzerá ako originál, nemá rovnaký konektor ako originál, nehlási sa ako originál a ani nefunguje ako originál. Ak má byť toto klon tak rozhodne nie je práve vydarený
. Aspoň, že má rovnakú krabičku ako iné klony mkII.
Ako už bolo spomenuté programátor sa hlási ako USBasp. Výpis príkazu dmesg vyzerá u mňa takto:
usb 4-1: new low-speed USB device number 7 using uhci_hcd usb 4-1: New USB device found, idVendor=16c0, idProduct=05dc usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 4-1: Product: USBasp usb 4-1: Manufacturer: www.fischl.de
Zariadenie je možné v Linuxe nájsť zvyčajne na adrese /dev/bus/usb/číslo_portu/číslo_zariadenia, v mojom prípade je to /dev/bus/usb/004/007. Aby sme mohli pomocou tohto zariadenia programovať musíme mať práva na zápis.
$ ls -lh 007 crw-rw-r-- 1 root usb 189, 390 okt 6 17:55 007
Práva zariadení sa nastavujú pomocou udev pravidiel. V mojom prípade majú všetky zariadenia skupinu usb a užívateľ pod ktorým sa prihlasujem je v skupine usb. Zmeniť skupinu, ktorú udev nastavuje zariadeniu je veľmi jednoduché, stačí vytvoriť súbor v adresári /etc/udev/rules.d/, napr. /etc/udev/rules.d/41-atmega.rules s nasledujúcim obsahom:
ATTR{idVendor}=="16c0", ATTR{idProduct}=="05dc", GROUP="skupina", MODE="0664"
Po pripojení mikrokontroléra môžme používať programátor pomocou avrdude. Typ programátora nastavíme pomocou parametra -c ako usbasp. Pri používaní avrdude musí byť špecifikovaný typ mokrokontroléra (v tomto prípade AT MEGA 8515). Parametre -v -v nám prezradia podrobnosti o pripojenom hardvéri.
avrdude -c usbasp -p m8515 -v -v
avrdude: Version 5.11.1, compiled on Aug 7 2012 at 17:19:55
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/etc/avrdude.conf"
User configuration file is "/home/mirec/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/parport0
Using Programmer : usbasp
avrdude: seen device from vendor ->www.fischl.de<-
avrdude: seen product ->USBasp<-
AVR Part : ATMEGA8515
Chip Erase delay : 9000 us
PAGEL : P00
BS2 : P00
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 4 20 128 0 no 512 0 0 9000 9000 0xff 0xff
flash 33 6 64 0 yes 8192 64 128 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9306
avrdude: safemode: lfuse reads as EF
avrdude: safemode: hfuse reads as D9
avrdude: safemode: lfuse reads as EF
avrdude: safemode: hfuse reads as D9
avrdude: safemode: Fuses OK
avrdude done. Thank you.
Pre vytvorenie flash obrazov boli boli použité nasledujúce príkazy:
dd if=/dev/zero of=flash2k.bin bs=1024 count=2 dd if=/dev/zero of=flash.bin bs=1024 count=8
| Operácia | Parametre avrdude | Čas |
|---|---|---|
| Vymazanie EEPROM | -e |
0,381s |
| Prečítanie FLASH (8K) | -U flash:r:flash-read.bin:r |
1,563s |
| Zápis a kontrola FLASH (2K) | -U flash:w:flash2k.bin:r |
1,466s (1.36 kB/s) |
| Zápis a kontrola FLASH (8K) | -U flash:w:flash.bin:r |
4,667s (1.71 kB/s) |
Tento programátor rozhodne nie je klon mkII, ale to ani výrobca momentálne netvrdí. V skutočnosti ide zariadenie komunikujúce protokolom USBasp. Pri používaní som nenarazil na žiadnu závadu. Rýchlosť komunikácie s AVR je približne rovnaká ako s originálnym USBasp (pri hodnotách v tabuľke treba brať do úvahy, že ide o zápis a následné čítanie).
V nasledujúcom hardvérovom blogu si ukážeme ako sa dá pomocou AVR bricknúť televízor LG LD32 (prípadne iné TV značky LG).
Tiskni
Sdílej:
cinaci :D to uz nemohli tam dat ten 6 pinovy ISP konektor :D ale inac fajna cena
. Jak sis proboha odpálil LPT? :-O
Rozsah je síce u spínaných zdrojov veľký, ale mierne vyššie napätie môže spôsobiť vyššie zahrievanie a rýchlejšie vysychanie elektrolytických kondenzátorov.
Ešte mám jedno vysvetlenie - zdroje ma nemajú radi
Tento rok som v práci na desktope 2x menil zdroj a to je tiež pripojený cez prepäťovú ochranu.
).
.
Jinak si kup z aukra LPT/RS232 PCI kartu (sice relativně drahá 200-300 Kč) a budeš mít nezávislou na motherboardu.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.