Portál AbcLinuxu, 2. května 2025 20:23
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
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.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.