Zaciname s ARM - jeste jednou a bez hadani:-)

Jiri Bezstarosti jiri@bezstarosti.cz
Středa Prosinec 5 22:33:29 CET 2007


Zkousel jsem WinARM a YAGARTO. Ani jedno ale neni klikaci a trochu mi 
trvalo, nez jsem pochopil, jak s tim YAGARTO, jak to nastavit a jak se 
vlastne s ECLIPSE (IDE) pracuje, protoze jsem s tim zkratka nemel 
zkusenost. Kdyz to clovek zvladne, je to uz pohoda. Na zacatku jsou moc 
prima priklady a nastesti se daji snadno najit na webu. YAGARTO mi sedi 
a pouzivam ho.

Co se tyce registru AT91SAM7S256, mel jsem v tom peknej hokej, nez jsem 
to pochopil. Ono je to logicke (a nechapu, co jsem v tom hledal za 
vedu), ale pro PICare to bylo takove jine. Existuji pary registru, jeden 
povoluje a druhy zakazuje. Kam dam do bitu jednicku, to povolim a nebo 
zakazu, nahodim a nebo shodim, podle registru. Mohu ale nastavit i cely 
32b port zaroven, jen to zase musim nejdriv povolit. Takze kdyz pak chci 
jednickovat nejaky bit, jednickuju ho zapisem hodnoty s prislusnym bitem 
v 1 do registru, ktery nahazuje vsechno co zapisu do toho nahazovaciho 
registru jako 1 v prislusnem bitu. No, zni to zmatene, ale asi to jen 
spatne popisuju, lepsi je pohled do PDF.

O napusteni softem jsem uz psal. Staci dat vyvody PA0 az PA2 do H a TST 
vyvod take do H, pripojit napajeni, 10 sekund pockat, odpojit napajeni a 
po dalsim pripojeni napajeni (uz s odpojenymi TST a PA0 az PA2) zacne 
fungovat bootloader, ktery se nakrmi z aplikace SAM-BA od ATMELu (volne 
na webu) seriakem a nebo pres USB. Pri napousteni z USB je nutne pouzit 
krystal 18.432MHz, u seriaku je to fuk. U TST pinu pouzivam fintu, ze 
mam z pinu TST diody seriove s odpory smerem do PA0 az PA3. Kdyz je TST 
v L, pak muze byt stav PA0 az PA2 jakykoli a diody nepousteji. Kdyz dam 
TST do H, pak nastavim do H i PA0 az PA2 a to radeji pres odpory (1k5), 
abych ani nahodou nic neodpraskl. JTAG ale umoznuje i debugovat, tedy 
dat si nekam prkno (breakpoint) a podivat se na promenne atp. a zaroven 
programovat chip primo z prostredi ECLIPSE.

Jeste aby se nekdo nedesil, ze ma taktovani dane na 18.432MHz. Ony tyhle 
potvurky maji delicku a PLL, takze se da nastavit frekvence na celkem 
dost hodnot, podle prani. Jen pro funkci USB se musi pouzivat taktovani 
48MHz, ale kdyz neni USB potreba, pak se da i jinak.

Jeste je tady jedna vec. AT91SAM7Sxxx chodi do 55MHz, jenze nemohou tak 
rychle cist ze sve flash pameti. Takze pokud maji bezet bez waitstatu z 
flash, mohou jen do 30MHz, vyse uz s jednim WS. Tim jsou pochopitelne z 
flash o polovinu pomalejsi, nez se zda na prvni pohled ci podle 
propagacnich materialu. Z RAM to muze bezet plnou rychlosti, 
AT91SAM7S256 ji ma 64kB, takze neco se tam vejde. Budu uprimny, zkousel 
jsem pokusne 48MHz beh z FLASH a nic se nedelo, jelo to naprosto v 
pohode, ale vyrobce asi vi co pise, asi ne zdaleka vsechny kousky to 
zvladnou bez chyb.

--
Jiri Bezstarosti

Pavel Hudecek napsal(a):

>Také bych rád začal programovat ARM a mám pár dotazů:
>
>1. Doporučte nějaké programovací prostředí, pokud možno něco s klikacím 
>wizardem na inicializaci procesoru bez dlouhého studování DS (asi jako je to 
>v CodeVisionu pro AVRka).
>
>2. Čím do toho výsledný program nahrát? Vyhovovalo by mi něco jako Ponyprog, 
>tzn sériové s málo dráty a bez nutnosti vypínat napájení.
>
>Děkuji, PH 
>
>_______________________________________________
>HW-list mailing list  -  sponsored by www.HW.cz
>Hw-list@list.hw.cz
>http://list.hw.cz/mailman/listinfo/hw-list
>
>
>  
>




Další informace o konferenci Hw-list