Biztosítékbitek átállítása

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
Cinege446
Biztosítékgyilkos
Hozzászólások: 67
Csatlakozott: 2008. július 22. kedd, 6:00

Biztosítékbitek átállítása

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

Üdv!

Újból egy kis segítségre lenne szükségem. Adódott egy olyan feladat, ahol az ATmega16a-nak szinte minden lábát használnom kell. Igen ám, de mivel a JTAG engedélyezve van benne, ezért a C2-C5 lábak kiesnek és máris nincs elég be/kimenetem. Próbáltam a JTEG-et letiltani, de sem a Bascom programozójában, sem a forráskódba beágyazva sem sikerült. A kód ez volt:

$PROG &HFF,&HFF,&H99,&H00

Mit csinálok rosszul?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Biztosítékbitek átállítása

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

A programozóval tudod beállítani. Kódban/programban ez nem fog menni...
Avatar
Cinege446
Biztosítékgyilkos
Hozzászólások: 67
Csatlakozott: 2008. július 22. kedd, 6:00

Re: Biztosítékbitek átállítása

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

Jó, meg van a hiba. Próbáltam már a programozóval is átállítani, csak amikor behoztam a biztosítékbitek ablakát egyszer sem élt a Write FSH menü, ezért próbáltam kódból megoldani. Most kicsit kipihentebben újra megnéztem és leesett, hogy csak a biztosítékbit megváltoztatása után éled fel. :)
Köszi a segítséget!
Avatar
monsun
Újonc
Újonc
Hozzászólások: 5
Csatlakozott: 2012. március 7. szerda, 7:00

Re: Biztosítékbitek átállítása

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

Elakadtam, segítség kéne. Nem tudom a biztosítékbiteket átállítani. Bascomból, programozó USBASP, chip AT90S2313. Flash-t tudom írni, olvasni, de a Lock and Fuse Bits ablakban csak a Lock biteket lehet módosítani. Próbáltam AVR Burn-o-mat -tal, de az nem ismeri ezt a chipet. Egyébként belső órajelet kellene beállítanom.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Biztosítékbitek átállítása

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

AT90S2313 : nincs belső órajele.
Az csak a ATTiny2313-nak van....
Avatar
monsun
Újonc
Újonc
Hozzászólások: 5
Csatlakozott: 2012. március 7. szerda, 7:00

Re: Biztosítékbitek átállítása

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

Kösz, akkor mégsem állítom át :D
kisrobur
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2014. február 10. hétfő, 11:19

Re: Biztosítékbitek átállítása

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

Sziasztok!
Kezdő vagyok az AVR területén, segítségre lenne szükségem.
Van egy Atmega8-as chip Bascom programmerel égetem bele a HEX fájlt(csak ez van meg a programot nem én írtam), de a fuse biteket nem tudom beállítani.
STK200/STK300 Pogrammert használok. És ezt látom: http://bicozas.atw.hu/FUSE.jpg
Hogy kell beállítani az lfuse bitet? Ebben kellene egy kis segítség.

lfuse = 0xc1
hfuse = 0xd9 Ez talán jó is.

Köszönöm.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Biztosítékbitek átállítása

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

A talán jó -> egyenes út a chiphalálhoz.
Ahonnan kaptad a HEX-et ott írnak a fuse bitekről. Azt kell apaul venni.


Mert lehet külső/belső órajel, bootloader ennek mindenféle mérete, spec konfigurációs beállítások....
kisrobur
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2014. február 10. hétfő, 11:19

Re: Biztosítékbitek átállítása

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

Köszönöm a válaszodat. Felteszek egy zip fáljt. Abban van a fusebits.txt onnan vettem az értékeket, de megtalálsz benne mindent.
Legalábbis úgy gondolom, hogy neked érthetőbb, mert nekem még sajnos kínai.
http://bicozas.atw.hu/TransistorTester_v1.01.zip

Köszönöm
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Biztosítékbitek átállítása

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

Ott van a ZIP-ben:

fusebits.txt
ATMega8:
lfuse = 0xc1
hfuse = 0xd9

ATMega48:
lfuse = 0x42
hfuse = 0xdf
efuse = 0xff



A képen Bascomban ahogy állítod, a fusebit sorában írja a HEX értéket...
Illetve WEB alapon:
http://www.engbedded.com/fusecalc
kisrobur
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2014. február 10. hétfő, 11:19

Re: Biztosítékbitek átállítása

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

Köszi mindent.

MÜKSZIK!!! :D :D
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Re: Biztosítékbitek átállítása

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

Sziasztok!
Arduino USB V3 mini (ATmega328P) kispanelen Bascom alól (Arduino programozó beállítva) :
1. Kiolvasom a FUSE-biteket, módosítom, visszaírom => nincs változás
2. Lehet-e titkosítani a programot feltöltés után?
3. Lehet-e úgy titkosítani a chip-et, hogy a program lezáródik de az EEPROM nyitva marad?

Előre is köszönöm!

JAni
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Biztosítékbitek átállítása

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

Csak külső programozóval módosítható (bár mintha lenne a M328P-re ASM utasítás a lockbit piszkáásra).

Az Arduino alól programozva a boards.txt adja meg a lock/fusebitek állását.
Nálam: bootloader berakva és a lockbiteknél: LPM, SPM disable at bootloader.
ISP letiltva (ha biztosra akarok menni)


Ha törlés (chiperase) _után_ kell az EEPROM tartalom, akkor preserve eeprom bekapcsol.


Programtitkosítás alatt mit értesz?
- kiolvasásvédelem: Lock biteknél -> read/verify disable
- ISP letiltása
Így nem tudod kiolvasni a chipet.


EEPROM külön feltölthető?
Csak bootloaderen át (De az UNO bootloadere nem támogatja, csak a diecimila bootlodere!).


A kérdéseidre válasz:
1. Kiolvasom a FUSE-biteket, módosítom, visszaírom => nincs változás
A bootloaderen keresztül módosítanád - nem implementált ez a szoftverfunkció (Arduino miatt, mert a kezdők ne csukják ki magukat a chipből)
2. Lehet-e titkosítani a programot feltöltés után?
A chip olvasásvédelme a lockbiteknél ha be van kapcsolva, akkor nem férsz hozzá. Vagy ha az ISP le van tiltva, akkor sem.
A chipre töltött program titkosítása (klasszikus filetitkosítás) nincsen belül.
Ha bootloaderen át töltöd fel, akkor ott a nyers HEX file-t kapod meg.


3. Lehet-e úgy titkosítani a chip-et, hogy a program lezáródik de az EEPROM nyitva marad?
A Diecimila bootloader támogat eeprom újratöltést. UNO nem.
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Re: Biztosítékbitek átállítása

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

Köszönöm a gyors válaszokat. Igazából arról van szó, hogy a hex-file-t elküldöm a jóembernek és fel kellene
neki tölteni egy 328P-be. Az ISP-s feltöltés nem játszik, mert sülthalak hozzá. Maradt a bootloaderes
USB SW upgrade. Viszont Ők szeretnék lezárni a uC-t kiolvasás ellen (erre allergiásak).
Valami stand-alone feltöltő lenne a legjobb nekik, de nem sikerült még találnom.
(tehát ami törli- feltölti a hex file-t, lezárja a uC-t és kész, ellenőrizni, kiolvasni nem kell, lesz ami lesz, már
így is bonyolult nekik a feladat)
Az EEPROM módosítás ott jöhet még szóba, hogy a SW jó, csak a sok paraméterét akarják
birizgálni, akkor hozzá kellene férni, de nagyon úgy látom, ez a megoldás kimarad.
A lezárásra még megnézem ezt a belső dolgot, hogy SW-ből ki tudom-e ütni, mert
akkor csak a program feltöltéssel kell vesződniük. (nagy menet lesz így is).

Köszi!

JAni
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Biztosítékbitek átállítása

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

Amikor a chipbe a bootloadert berakod, akkor a chipet lezárod.
- SPM/LPM: Boot disable (nehogy felülírd a bootloadert)
- Lock bit Disable read/verify.
- Arduino bootloader és arduino beállítások.


Standalone-ra van jobb:
Bascom-AVR standard bootloadere és van hozzá standalone alklamazás:) - ez viszont a fórumban (üzleti és privát célra is free).
EEPROM és HEX feltöltés.
Fusebitek azonosak az Arduinonál említettel.



A bootloaderen át csak újabb HEX-et tölthetsz fel. Kiolvasni rajta keresztül nem is tudod.
(A chip így zárt. A bootloader és lock beprogramozásának utolsó lépése az ISP láb tiltása.)

Vagy csak az kell, hogy a hex-t feltölti és utána ne lehessen frissíteni sem többet?
Egyszerű. A bootloadert töltöd fel, de a Resetvektor a 0-ra mutasson. Így 1 feltöltés van engedélyezve :). Így lesz OTP (one Time Programming) a chip.
Válasz küldése