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