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