Atmel vs PIC

Snail Instruments snail
Středa Březen 17 12:04:45 CET 2004


>mohu u Atmelu pouzivat jednu souvislou oblast RAM. Ale puvodne jsem
>mel na mysli segmentovani programove pameti. Nevim jestli to stale
>plati, ale u nekterych PICu bylo omezeni pri skocich na vnitrek
>jakehosi segmentu.

PICy s 12 bitovym jadrem, cili 12C50x, 12CE51x, 16C54-8, 16C554-8, 16C505, 16HV540 maji pamet programu strankovanou po 512 slovech. Skakat (GOTO) se muze kamkoliv v ramci teze stranky, skoku na jinou stranku musi predchazet nastaveni bitu PA0, pripradne PA1. Volany podprogram (CALL) musi zacinat v prvni polovine stranky. Je to pekna pakarna, obzvlaste, kdyz k tomu pridame jenom 2 urovne zasobniku.

PICy se 14 bitovym jadrem, cili ostatni typy z rady 16Cxx, 16Cxxx, 16F8x, 16F87x maji pamet programu strankovanou po 2048 slovech. Skakat (GOTO) i volat podprogram (CALL) se muze kamkoliv v ramci teze stranky, skoku ci volani na jinou stranku musi predchazet nastaveni registru PCLATH. Zasobnik maji na 8 vnorenych volani.

Tato omezeni vyplyvaji z konecne sirky instrukce 12 nebo 14 bitu, kdy pro cilovou adresu je vyhrazeno 9 nebo 11 bitu, zbyle 3 bity identifikuji instrukci GOTO nebo CALL.

>PS: Je-mi jasne, ze PIC nejsou zadny odpad. Vzdyt jsou vyvojove mladsi
>a navrzeny s odstupem a zkusenostmi za cca 15 let.

Nerad bych se mylil, ale architektura PICu vznikala nekdy na zacatku 80 let, tehdy to byly pouze maskou programovatelne ROM verze inteligentnich periferii (PIC=Peripheral Interface Controller), mozna tech 15 let je trochu optimistickych.

>nestudoval ten HW emulator pro PICy, ale z prvniho nahledu mam dojem,
>ze to je trochu bouda.

Jestli je to laciny, tak je to urcite bouda :-) Problematika HW emulatoru se na PICLISTu probira casto, existuje nekolik vyrobcu, ale ceny v USD jsou ctyrmistne.

Zarizeni, ktere umi jenom natahnout program a pripadne nastavit breakpoint ci jeste prohlednout pamet dat, neni hodno nazvu emulator. To muzete udelat i modifikaci vlastniho programu. Emulator umi take zachytit preteceni a podteceni zasobniku, zapis nebo cteni urceneho mista v RAM, pripadne zapis pouze urcitych dat, a hlavne umoznuje zpetne vystopovat, co se delo pred inkriminovanou udalosti. Neomezuje pouzivani periferii, pameti programu ci dat, bezi skutecnou rychlosti a v plnem rozsahu napajecich napeti.

>Mozna jsem jako programator bridil, ale program pro
>Atmel pro rizeni napr. digitalni vahy jsem ladoval do simulatoru asi
>800-1200 krat.

Mozna je to take tim, ze takovy simulator pak cloveka svadi odladovat kazdou malickost zvlast, pripadne zkouset, co se stane kdyz ..., misto sledovani a analyzovani cinnosti programu, uvazovani a hledani chyb. Kdybyste musel pokazde vypalit a vymazat EPROMku, to by se najednou dalo vse odladit na 20-30 pokusu :-)

J. Hanzal







Další informace o konferenci Hw-list