Fuse bitek beágyazása a forrásba

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
HPMaster
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2008. március 10. hétfő, 6:00

Fuse bitek beágyazása a forrásba

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

ÜdVWözletem Urak!

Csinálom a mindenféle áramméréses, frekvencia-feszültség konverteres, időzítős és miegyéb dolgokat, de egyvalamire nem tudok rájönni.
Amikor a kezdet kezdetén hajdanán STK200-al progoltam a mikroprofesszort, a baszkom beépítet programozóját használtam. És az tudott olyantot is, hogy integrálta az általam megbizgerált fjúzbiteket a forráskódom elejére.
Arra a meglátásra jutottam (tök egyedül), hogy valószínűleg, azután már nem kellett beállítani a többi procinál pl a bódlevel szintet, meg hogy milyen órajelforrás kell, meg semmit, hanem csak feltöltöm a kódot, és a biztibitek is beállnak.
Vagy tévednék?

Ha nem, akkor viszont miíly módon tehetem meg, hogy a biztibitek beállítását el tuggyam végezni a forráskódban?

Előre istenítem azt aki válaszol az újabb hülye kérdésemre!
Avatar
SirLeslie
Pákabűvész
Hozzászólások: 247
Csatlakozott: 2005. április 14. csütörtök, 6:00

Re: Fuse bitek beágyazása a forrásba

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

HPMaster írta:...akkor viszont miíly módon tehetem meg, hogy a biztibitek beállítását el tuggyam végezni a forráskódban?
$PROG direktíva a forráskódban (és a helpben ;-) )...ezt vagy manuálisan lököd fejből :-) (LB, FB , FBH , FBX), vagy a fuse bites programozólapon (STK200 vagy natív STK500 (ezeken tudom, hogy biztosan van)) az első alkalommal manuálisan beállított fuse bit állapotokat a "Write PRG" gombbal beírja a kódba - ahol a kurzor éppen áll.
Avatar
HPMaster
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2008. március 10. hétfő, 6:00

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

Asszem kezdek megvilágosodni.

Ezexerint, ha a lokbiteket úgy állítom, be, hogy
LB - No memory lock features enabled
BLB0 - LPM and SPM prohibited in Application Section
BLB1 - No lock on SPM and LPM in Boot Section

és a fjúzbiteknél a következők vannak engedélyezve:
SPIEN
EESAVE
BOOTSZ - 1024, $0C00
CKOPT
BODLEVEL - 2,7V
BODEN
SUT_CKSEL16K CK + 64ms

akkor $PROG &h33, &hBF, &hC1, FBX=?
Nekem az AVR STÚDIÓ ezeket írja a beállítások alatt.
LOCKBIT = 0x33
Fuses HIGH = 0xC1 (gonfolom a $PROGban ez az FB)
Fuses LOW = 0xBF (ez meg az FBH)

De mi az FBX?
Avatar
SirLeslie
Pákabűvész
Hozzászólások: 247
Csatlakozott: 2005. április 14. csütörtök, 6:00

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

HPMaster írta:...akkor $PROG &h33, &hBF, &hC1, FBX=?
Nekem az AVR STÚDIÓ ezeket írja a beállítások alatt.
Jakérem... aztatat nem tudom ;-) Bascom-hoz értek egy keveset - de aztán kész is.
HPMaster írta:De mi az FBX?
Gondolom nagyobb prociknál van több fuse bit rész is - pl lásd egy tiny13 és egy mega128 fuse bit készletét. Tehát opcionális - szerintem (de a hozzáértőbbek majd kijavítanak).
Avatar
HPMaster
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2008. március 10. hétfő, 6:00

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

Mindenesetre hálás köszönetem.
Soket segített kedves kolega Úr:-)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Biztosítékbitek kiszámítása:
http://www.engbedded.com/fusecalc/


$PROG LB, FB , FBH , FBX
$Prog esetén ha valamelyiket nem akarod használni:


PROG &H20 ,,,
Csak a LockBitet állítja. Többi marad.

$PROG ,,&H30,
Csak az FBH állítódik.

LB - LockBit (lezárása a chipnek)

FB - Standard biztosítékbitek

FBH - High (bővített) biztosítékbitek

FBX - Bővített (extra) biztosítékbitek



Az automata programozáshoz kell. STK500, STK200 esetén van ilyen....
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

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

Hú ez a téma jól esett, pont ezt akartam kérdezni. Kellene néhány AVR-t feltöltenem, és ez sok problémám megoldja. Ha lenne még olyan STK ami több AVR-t kezel egyszerre az lenne ám a kánaán. :) Gondolom van is csak még nem néztem unána.

Köszi

Ui.
Róbert tanácsára nem igen álligatom ezeket a biteket Bascom-al csak AVR studioval.
Na de most akkor ez a AVR Studioval beállított Bascommal beolvasott és "Write PRG" generált
Pld. "$prog &HFF , &H64 , &H9F , &H00 "
sor már teljes értékű?
Csak az F4-et kel nyomogatnom, :) és hányni halomba a soklábúakat?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Tömegprogramozásra inkább az AVRStudiót használom.
EPP, HEX megvan, Fusebitek beállít. És ELF állományba mentek.
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

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

T44 az áldozat, a fuse-ben be van állítva, hogy "Further programing of the flash and EEPROM is disabled". Eddig rendeben is, de ha itt most átállítom "No memory locks features enable"-re, akkor és bevésetem A "Write LB"-vel, akkor mi történik? Gondolom nem nyílik ki...vagy törlődik?
Jani
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Ha a Chip LOCon van, akkor nem tudsz semmit módosítani. csak ha előtte a Chip Erase parancsot kiadod. ez a Flash, EEPROM ill a Lockbiteket törli.

AVRStudio alatt a ELF létrehozása:
FLASH betallóz
EEPROM betallóz.
Fusebitek beállít (NEM kell a Write FuseBits-re tenyerelni)
Lockbitek beállít (NEM kell a Write FuseBits-re tenyerelni)

Mentés ELF-ként (2. fül, alul lenn).

Utána ELF beolvas, és program.

Ha nem rontottam el a leírást, akkor Örül :)
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

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

Na rendben.
Megint beégtem.
Az ELF mentést használtam már biztosíték bitekre AVR Studioban, de most nézem hogy abba bement mindent amit szeretnék, csak ki kell pippantani.
Lehet a látásommal van egy kis baj.
:))

De köszönöm.
Avatar
HPMaster
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2008. március 10. hétfő, 6:00

Re: Fuse bitek beágyazása a forrásba

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

Üdv Urak!

Miért nem működik a bascomba begépelt $PROG direktíva?

Az AVR Studio-ban, ha beállítom az LB LOCK BIT-et "PROG_VER_DISABLED"-re, akkor nem tudom visszaolvasni a chip-ből a kódot. Szép. Ezt akartam.
De ha ezt beírom a programom elejére, akkor nem működik.

Mit rontok el?

Ezt írtam be:
$Prog &HFC ,,,
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Fuse bitek beágyazása a forrásba

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

Mivel programozol? A lockbit nem a HEX-ben van, hanem a programozáskor adja ki. Mintha a $prog az összes fusebit HEX megadását kérné...
Avatar
HPMaster
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2008. március 10. hétfő, 6:00

Re: Fuse bitek beágyazása a forrásba

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

ZeptoProg II-m van, amit az AVR Studio "AVRISP mkII"-nek ismer fel.

ATMegy88P procin ezeket a beállításokat szeretném implementálni a kódba (AVR Studio 5 van fent a gépen):

FUSE bits:

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

BOOTSZ = 1024W_0C00
BOOTRST = [X]
RSTDISBL = [ ]
DWEN = [ ]
SPIEN = [X]
WDTON = [ ]
EESAVE = [X]
BODLEVEL = 2V7
CKDIV8 = [ ]
CKOUT = [ ]
SUT_CKSEL = INTRCOSC_8MHZ_6CK_14CK_65MS

EXTENDED = 0xF8 (valid)
HIGH = 0xD5 (valid)
LOW = 0xE2 (valid)
LOCK bits:

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

LB = PROG_VER_DISABLED
BLB0 = NO_LOCK
BLB1 = NO_LOCK

LOCKBIT = 0xFC (valid)
A programkódom eleje így néz ki:

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

$regfile = "m88def.dat"
$crystal = 8000000
$swstack = 48
$hwstack = 48
$framesize = 64

$prog &HFC , , ,

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

Re: Fuse bitek beágyazása a forrásba

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

Nem lehet.
A Bascom saját égetője használja csak, vagy ha a Bascom alól programozol. A lefordított HEX állományba nem kerül be.
Válasz küldése