[elektro] C program szervezése? Help
hg12345
hg12345 at freemail.hu
Fri Jun 11 21:07:44 CEST 2010
Köszönöm mindenkinek az ötleteket.
Remélem ezek alapján sikerül megoldani a problémámat.
((A feltételes fordításnál van egy automatikusabb megoldás is, a linker scriptben a nem létező függvények helyére egy másik előre meghatározott függvényt helyettesítek. :-())
Üdv
Lajos Rancz <lajos.rancz at gmail.com> írta:
>Szia!>
>
Nem tárolsz RAM-ban függvény sorokat, csak függvényekre mutató pointereket.>
Kevés a RAM? Nem lehet még tenni mellé?>
>
Üdv,>
Lajos>
>
2010/6/11 hg12345 <hg12345 at freemail.hu>>
>
> Értem,>
> de ez innen már akár objektum orientáltnak is nevezhető....>
>>
> Minden program csatolást alapvetően FLASH-ban szeretem tudni (a mostan>
> RoundRobin-nal van ez fixen megoldva) , eddig nem csináltam RAM-ban tárolt>
> program sorokat, igazából nem is szeretnék.>
>>
> Üdv>
>>
>>
>>
> Lajos Rancz <lajos.rancz at gmail.com> írta:>
> >Helló!>>
> >>
> Aha :) Na erre szoktak olyat csinálni, hogy a beelfordított részek>>
> feliratkoznak egy hívási listára. Tehát nem fordítási időben dől el, hogy>
> ki>>
> kit hogy hív hanem dinamikusan. Tipiskusan ilyen szokott lenni az init és>
> a>>
> shutdown.>>
> >>
> Üdv,>>
> Lajos>>
> >>
> 2010/6/11 hg12345 <hg12345 at freemail.hu>>>
> >>
> > Nagyon tehetségtelenül fogalmazok :-(>>
> >>>
> > Nem a program megírásával van problémám! (Néhány ilyen már működik, egy>>
> > nagy ASM-ben forrásban, nincs linker)>>
> >>>
> > A program fordítási felépítésében vesztem el.>>
> >>>
> > Olyan megoldást keresek, ha egy fordítási egységet kiveszek a programból>>
> > (nem fordítom és nem is linkelem ez a részt), akkor is fordítható és>>
> > futtatható programot tudjak fordítani minimális ráfordítással.>>
> >>>
> > Gondolom olyat nem lehet írni, hogy ne kelljen hozzá nyúlni, de ez>>
> > elképzelhető, hogy ennek az idejét minimálisra lehet csökkenteni.>>
> >>>
> >>>
> >>>
> >>>
> > Lajos Rancz <lajos.rancz at gmail.com> írta:>>
> > >Szia!>>>
> > >>>
> > Nekem se teljesen tiszta :) Ezek a paraméterek globálisak ez a>
> probléma?>>>
> > Miért nem adod át paraméterként?>>>
> > >>>
> > Üdv,>>>
> > Lajos>>>
> > >>>
> > 2010/6/11 hg12345 <hg12345 at freemail.hu>>>>
> > >>>
> > > Ha letudnám egyszerűsíteni akkor meglenne a megoldás.>>>
> > >>>>
> > > pl.:>>>
> > > alap öröklődés:>>>
> > > 1, bemenet konfiguráció -> HW beállítás -> konverzió beállítása ->>>>
> > > konverzió eredménye -> feldolgozás -> eredmény és ( állíthatóság,>>
> > állítási>>>
> > > tartomány és tizedespontok)>>>
> > > 2, szabályozó blokk kezelése -> bemeneti eredmény hozzárendelése ->>>
> > egyébb>>>
> > > feldolgozások -> számítási eredmények -> HW illesztés.>>>
> > >>>>
> > > 3, univerzális bemenet kezelés: elsődleges a PV (szabályozási kör (2),>>
> > itt>>>
> > > átírányitások is lehetnek) ha nem elérhető akkor az ilyen sorszámú>>>
> > > bemenettel helyettesítés, ha ez se létezik akkor ilyen univerzális>>
> > bemenet>>>
> > > nincs.>>>
> > >>>>
> > > A fenti öröklődés:>>>
> > > - alapján kell kezelni a hozzátartozó MENÜ-t, ami beállítás érzékeny>
> a>>>
> > > különböző bemenetekhez tartozó beállítások csak akkor jönnek elő, ha>>>
> > > szükséges.>>>
> > > - ugyan így az értékek kiolvasását>>>
> > > - MODBUS regisztereket>>>
> > > - belső dataloggert>>>
> > > - szabványos kimenetek>>>
> > > - komparátorokar>>>
> > > .stb........ és ezeken az egységeken át a módosult őröklödési>>
> > függvényeket.>>>
> > >>>>
> > > Amit leírtam az probléma nélkül megvalósítható, de mint látható>
> teljesen>>>
> > > behálózza a rendszert.>>>
> > > A gond a következő, a program írása közben egyes modulokat>
> ellenőrizni>>>
> > > kell, így az öröklődési és kiolvasási függvények menetközben bővülnek>
> és>>>
> > > néha nevet is kell változtatni.>>>
> > > Esetemben ez borította ki a bilit. A leírt őröklödési körben pont>
> most>>>
> > > értem el>>>
> > > a 2 rész beszúrásához, Ez név változtatással és új függvény>
> bevezetéssel>>>
> > > jár.>>>
> > >>>>
> > > A program megírása nem probléma, de a befűzése már problémás. Egyes>>>
> > > helyeken marad az eredeti míg máshol az új közösített rész szükséges.>>
> > Régen>>>
> > > egybe fordításnáé (all include) kivettem a fordításból a cikis részt,>
> de>>>
> > > minden más maradt eredetiben, itt nem tudom mert a fordítási listából>>
> > csak a>>>
> > > fordítási egységet tudom kivenni, és ezzel együtt az összes interface>>>
> > > globális definiciói megszűnnek.>>>
> > >>>>
> > > Néztem a mintapéldákat, de nem találok hasonló összetettségű>
> programot>>>
> > > ahonnan elleshető lenne, a fordítási egységek egyszerű minimális>>
> > munkával>>>
> > > való kivétele és beszúrása. Ilyen technikára lennék kiváncsi.>>>
> > >>>>
> > >>>>
> > > Ezeket a programokat más készülékben is szeretném használni, igy ez a>>>
> > > technika nagyon érdek.>>>
> > >>>>
> > >>>>
> > >>>>
> > > Moczik Gabor <pm_levlista at progzmaster.hu> írta:>>>
> > > >hg12345 wrote:>>>>
> > > > A fordítási egységek átírhatóak, hogy a fordító megegye,de a linker>>
> > még>>>
> > > igy is néha kiabál.>>>>
> > > > Célszerü lenne iylen esetben egyes fordítási egységeket kiemelni>>>
> > > átmentileg a programból, majd szakaszos ellenörzés után>
> visszahelyezni.>>>>
> > > > >>>>
> > > > Érzem nem tudom igazán megfogalmazni a kérdést.>>>>
> > > >>>>
> > > Nem lehetne valahogy egy konkrét (egyszerűsítt) példával>
> illusztrálni?>>>>
> > > Kissé zavaros nekem ez az egész.>>>>
> > > >>>>
> > > -- >>>>
> > > ((( Móczik Gábor )))--((( e|mail: pm-01 |@| progzmaster |.| hu )))>>>>
> > > ((( S.k.y.p.e.: moczik )))>>>>
> > > >>>>
> > > ----------------------------------------->>>>
> > > elektro[-flame|-etc]>>>>
> > >>>>
> > >>>>
> > > ----------------------------------------->>>
> > > elektro[-flame|-etc]>>>
> > >>>>
> > ----------------------------------------->>>
> > elektro[-flame|-etc]>>>
> >>>
> >>>
> > ----------------------------------------->>
> > elektro[-flame|-etc]>>
> >>>
> ----------------------------------------->>
> elektro[-flame|-etc]>>
>>
>>
> ----------------------------------------->
> elektro[-flame|-etc]>
>>
----------------------------------------->
elektro[-flame|-etc]>
More information about the Elektro
mailing list