Rpi->Gertboard->ATmega328P prg feltöltés

Avatar
szjenter
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2012. február 2. csütörtök, 7:00

Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: szjenter »

Kedves Kollégák!
Van egy Raspberry pi, Gertboard konfig.-em. Linux alatt fut egy módosított Arduino IDE.
A Gertboard (ez egy IO bővítő panel) tartalmaz egy ATmega328P -t. Az SCK, MISO, MOSI, RESET lábakon keresztül töltődik fel a prg., VCC = 3V3. Néha sikerül feltöltenem egy kis prg-t /BLINK/ és fut is, de többnyire az alábbi üzenettel fejeződik be a feltöltés:

avrdude:verifying....
avrdude: verification error, first mismatch at byte 0x0042
0x9a != 0x90
avrdude: verification error; content mismatch

avrdude done. Tahk you.


Kérdésem: hogy lehetne stabil up load-ot produkálni. Valami hardver gond van :?:
Üdvözlettel: Jenő
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: Robert »

Ez biza bootloaderen át töltődik fel, így tisztán HW alapú gondod lehet...
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: csabeszq »

Amikor feltöltésnél a chip erase-t kikapcsolod, akkor lehet az a probléma, hogy logikai OR képződik az előző és az új állapot között.

Én is eltoltam egy csomó időt azzal, hogy az ellenőrzés elhasalt. Utána láttam, hogy az avrdude-on a -D (disable auto erase) be volt kapcsolva.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: Robert »

Feltöltés programkódsora?
Avatar
szjenter
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2012. február 2. csütörtök, 7:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: szjenter »

Kedves Csabeszq!
Hól tudom ellenőrizni az avrdude-on a -D-t. ez valami konfig. file? Hól található?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: Robert »

A program amit használsz, az adja ki....
Nem config állomány, hanem az AVRDUDE paraméterezése....

pl. arduino feltöltősora:

Kód: Egész kijelölése

rem C:\Program Files\arduino-1.0.2\hardware/tools/avr/bin/avrdude -CC:\Program Files\arduino-1.0.2\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P\\.\COM3 -b57600 -D -Uflash:w:C:\Users\tavir\AppData\Local\Temp\build5548431651670543659.tmp\Blink.cpp.hex:i
Avatar
szjenter
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2012. február 2. csütörtök, 7:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: szjenter »

Ha jól értem: az ARDUINO IDE a programot lefordítja *.hex-re, majd meghívja "valamilyen paraméterekkel" az avrdude-t, hogy égesse be a uC-be?
Ezt a paramétersort hól lehet állítani, hogy törölje a epromot?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: Robert »

Win alatt az Arduinoban ez "be van drótozva". Azaz csak a teljes keretrendszerrel lehet újrafordítani...
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: Robert »

De lehet HW hiba is (pl. kontakthiba)...

Más fórumokon nem írnak hasonló hibáról?
Avatar
szjenter
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2012. február 2. csütörtök, 7:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: szjenter »

Köszönöm a segitséget, most neki esek a HW-nek.
Ha valamit találok megírom.
Üdv. mindenkinek!
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: csabeszq »

Ne haragudj, de a hardver hiba nekem nagyon gyanús.

Mármint, hogy az SPI felismeri az eszközt a 3 byte-os azonosítójáról, utána meg ellenőrzési hibára panaszkodik.
Van a MISO/MOSI/SCK vonal. Ha lehúzod valamelyik vonalat a földre 100 ohmmal, akkor garantáltan nem fog menni.

Még az eszköz felismeréséig sem fog eljutni és nem verify error-ral fog elszállni.

Nincs lockolva véletlenül az IC?
Avatar
szjenter
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2012. február 2. csütörtök, 7:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: szjenter »

Egy Parallax USB skóppal vizsgállom a lábakat:
Feltöltéskor SCK, MISO, MOSI lábakon 100 usecc állásban szépen látszanak a négyszög jelek szerintem a feltöltés rendbe,
viszont veverifying... -nál semmi, olyan mindha nem lehetne olvasni az epromot.
Ha kizártam magam a uP-ből új prg feltöltésekor ez felülíródik, vagy hogy lehet felülírni lock-ot?
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: csabeszq »

Rakd fel az AVR studio-t és próbálj kiolvasni grafikusan mindent. Ha azt elküldöd, utána talán messzebb jutunk.
Lock bitek / fuse bitek / ...

A lock arra való, hogy a chipben a programot megvédd.
Lock típusok:
- nincs lock
- nem engedi módosítani és kiolvasni a program memóriáját
- nem engedi módosítani a program memóriáját
- nem engedi módosítani a bootloadert
...

Általában a bootloadert szokták védeni, de nálad a "first mismatch at byte 0x0042" arra utal, hogy a hiba az alkalmazás részében van.

Szóval ha véletlenül a lock bitek elállítódtak, akkor elképzelhető, hogy nem fogsz tudni módosítani.
Ehhez meg kell változtatni a lock biteket, időnként pedig komplett törlés (chip erase) is szükségessé válhat.

AVRStudio-val lehet állítani. Nálad gyanítom, hogy az SPM (store program memory, LPM=load) tiltva van.

Kép:
Kép
Avatar
szjenter
Újonc
Újonc
Hozzászólások: 11
Csatlakozott: 2012. február 2. csütörtök, 7:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: szjenter »

Jelenleg egy ilyen konfig van az asztalomon: -> https://projects.drogon.net/raspberry-pi/gertboard/ az ATmega egy hat tűskét soros csatin keresztül közvetlenül a Rpi procijának a digitális I/Olábaira csatlakoznak. 1 = MISO; 2 = 3V3; 3 = SCK; 4 =MOSI; 5 = Reset; 6 = GND. Ha jól sejtem, ez egy Ardunino szabványos programozó csatlakozó?
A fenti oldalon alul ismertetett módon felraktam az Ardunio IDE 1.0.1 változatát, ilv., ennek részeként telepítettem egy avrdude-t ami Rpi-hez modosított változatát. Így az Arduino->Eszközök->Alappanel-> -ben lett Gertboard with ATmega328(GPIO), valamint
Arduino->Programozó->Raspberry Pi GPIO
Ezeket kiválasztva feltöltöttem a blink prg (digital 13-at kapcsolgatja), ez talán elsőre sikerült, majd módosítottam a prg de azóta nem volt hajlandó villogni a 13-as.
Kérdésem: Ha vennék egy PTK500 USB-s programozót, a pc-re felraknám az AVR-Studiót, a fenti 6 polusú csatlakozón keresztül működne a kiolvasás?
Tehát megkerülném a LINUX-ot, és XP programoznám a ATmegát.
Másik kérdés: a teljes chippet törölni, új bootloadert feltölteni is lehet az STK500-al?
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: Rpi->Gertboard->ATmega328P prg feltöltés

Hozzászólás Szerző: csabeszq »

Ebben konkrétan nem tudok segíteni, mert AVRISP MKII-t használok, Linux alatt.
Windowsra csak akkor megyek ki, ha valami extra kell.

Minden IC-vel ezt csinálja? Az Atmega8-as sorozatú IC-ket azért tudnia kellene programozni...

Mellesleg tök egyszerű az egész: VCC-t ellenőrizni, hogy megfelelő-e, RESET alacsonyba, a MISO/MOSI/SCK segítségével meg szórakozni.
Válasz küldése