Nekolik dotazu k ATMega8L.
Slavomir Tomascik
hw_tomascik@credit.t-com.sk
Středa Říjen 10 10:26:29 CEST 2007
Zdravim,
na zaciatok odporucam stiahnut datasheet k obvodu a precitat. Aspon
zbezne. Vela veci sa da najst rychlo pomocou jednoducheho vyhladavania.
> 1) Procesor ma boot flash section, ktera je umistena na konci pametoveho
> prostoru a velikost se nastavuje ve "Fuse High Byte". Tato oblast je pro
> bootloader? Nebo i pro neco jineho?
> Chapu spravne, ze nastavenim bitu BOOTRST urcuju, ze se program spusti
> bud od adresy 000h (zacatek programu) nebo od zacatku boot section,
> napr. C00h?
Funkciu BOOTRST chapete myslim spravne.
> 2) Nastaveni Lock Bit Byte
> Je tam 6 bitu, jejichz kombinaci se nastavuje "Boot lock bit" a "Lock
> bit". Vsude se tam mluvi o tom, ze SPM nebo LPM muze nebo nemuze nekam
> zapisovat. Co to je? SPM a LPM?
SPM - Store program memory; LPM - Load program memory. Tieto bity
urcuju nad ktorou castou pameti mozju jednotlive instrukcie pracovat.
Odporucam kapitolu "Boot Loader support" v datasheete.
> 3) Nastaveni Oscilator calibration bytes v sw Elnec
> Program pouziva interni RC oscilator 8MHz. Chapu i k cemu jsou
> kalibracni hodnoty. Jestli jsem to dobre cetl, tento procesor ma 4 tyto
> hodnoty pro RC oscilator 1,2,4 a 8 MHz.
>
> V sw Elnec:
> ---------------------------------------------------------------------
> L0057: - Oscillator calibration bytes
> L0058: [ ] Copy factory preprogrammed calibration value to device memory
> L0059: Calibration value for: 1MHz (calibration value: 00h)
> L0060: Calibration value write to address: 00000000
> ---------------------------------------------------------------------
>
> Co presne udela, kdyz zaskrtnu L0057? Kam to nakopiruje? Jak ten program
> vi kde to je? Kdy se ten udaj kopiruje do registru OSCCAL?
> Pod radkem L0059 se v sw Elnec ukryvaji 4 prepinace pro 1,2,4,8 MHz. K
> cemu to je? Jak to mam nastavit?
>
> A jak nastavit L0060?
Cely odstavec zhrniem. Vsetko co potrebujete sa nastavuje v Alt+S.
Potrebujete vediet ktoru kalibracnu hodnotu chcete pouzit, a kam ju
zapisat.
Ked zaskrtnete (po vasom L0058 v alt+S), tak program pocas
programovania obvodu precita hodnotu pomocou prepinacov vybraneho
kalibracneho registra a naprogramuje tu hodnotu namiesto hodnoty
ulozenej v buffri na adrese L0060. To kam to ma zapisovat, aby si to
program vedel zistit musite vediet Vy. Este poznamka, ak chcete ulozit
kalibracnu hodnotu do EEPROM, tak k adrese musi byt priratana velkost
Flash - napriklad 2000 pre 0. byte EEPROM.
> Poznamka: Chvili mi trvalo nez jsem pochopil to programovani LOCK bitu.
> Ze kdyz je nastaven tak se rovna 0 a kdyz neni, tak 1. Musel jsem si
> trikrat rict jak to ma byt, aby to nebylo opacne.
Je to staly roblem, ale negativna logika pochadza od Atmelu -
reklamacie prosim tam. ;-)
Zda sa, ze program este stale nieje dost user-friendly. Taky Wek bude
zas nadavat ;-) ...
Slavo T.
Další informace o konferenci Hw-list