[elektro] PIC kezdés
Ágó István
ago.istvan at gmail.com
Sun Jun 8 15:33:25 CEST 2008
C18-nál 60 napig működik a Procedural abstraction optimalizálás és az
Extended utasításkészlet (egyes 18F chipeknél van ilyen, pl. az USB-s
tipusoknál) használata. A Procedural Abstraction azt csinálja, hogy ha
több helyre írtad ugyanazt a kódrészletet, akkor abból szubrutint
csinál, és csak egyszer építi be a programmemóriába, majd több helyről
meghívja. Tehát helyet takarít meg. Az Extended utasításkészlet pedig
olyasmiket tud megcsinálni egy ciklus alatt, amire nélküle 2-3-4
ciklusra lenne szükség. Tehát ez sebességet növel. 60 nap után csak ez
a két funkció kerül letiltásra, az összes többi optimalizálás menni
fog, és ugyanúgy működő kódot fordít, minden egyéb (pl. méretbeli)
korlátozás nélkül. Ha újabb verziót telepítesz fel a fordítóból, akkor
újraindul a 60 nap. Ugyanazt a verziót hiába rakod újra, az nem jelent
semmit. Viszont ha a dátumot visszaállítod, akkor újra teljes
verziósként működik.
Ez a Procedural Abstraction hogy mennyit, jelent, az kódfüggő is. Ha
sokminden ismétlődik, akkor akár 50%-ot is jelenthet. De az is
előfordulhat, hogy gyakorlatilag semmit sem csökken a kódméret tőle
(ki kell próbálni). Tipikusan úgy 30%-al csökkenti a kódméretet.
Az Extended utasításkészlet jelentősége szintén feladatfüggő. Azt
hiszem a memóriaterület egyik helyéről másikra történő másolásnál van
jelentősége (ezért is az USB-s chipeknél létezik, meg talán az
Ethernet, CAN, ilyesmi chipeknél, meg kell nézni az adatlapokban).
2008/6/7 Acs Gabor <agabor at electrodesign.hu>:
> Itt az optimalizálás hiánya miben jelentkezik? Hosszabb a kód, vagy sokkal
> lassabb is emiatt?
>
>
> Gábor
>
> ----- Original Message -----
> From: "hg12345" <hg12345 at freemail.hu>
> To: <elektro at tesla.hu>
> Sent: Saturday, June 07, 2008 9:30 AM
> Subject: Re: [elektro] PIC kezdés
>
>
> gyenge. A PIC16 sorozat kivételével a másik 3 családhoz nem csak
> ASM, hanem ingyenes C forditót is kapsz. (ugyan a optimalizásása
> korlátos vagy nincs) de ugyan az mint ami ezt is tudja.
>
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list