[elektro] C Kérdés

Balla Zoltán sdrlab at yandex.ru
Fri Nov 13 12:54:42 CET 2009


Feladó: "hg12345" <hg12345 at freemail.hu>
>Elvileg igy müködik:
>; Linker script módosítás
>;   .reset :
>;  {
>;        SHORT(ABSOLUTE(__resetUSER));
>;        SHORT(0x04);
>;        SHORT((ABSOLUTE(__resetUSER) >> 16) & 0x7F);
>;        SHORT(0);
>;  } >reset
>;
>                .extern        __resetPRI                                ;crt1.s
>;                .extern        __resetALT                                ;crt0.s
>;                .extern        __reset                                        ;elvileg ezt kéne 
>használni, mint univerzális >megoldás, de a .weak miatt nem müködik!?
>                .global        __resetUSER
>;
>                .text
>__resetUSER:        ;ide irhatod aprogramodat
>
>                              goto        __resetPRI
>
 Végülis egyszerűbb volt a megoldás, mint azt gondoltam...., mindössze ennyit kellett módosítani...:
  /*
  ** Reset Instruction
  */
  .reset :
  {
        /*SHORT(ABSOLUTE(__reset));*/
        SHORT(ABSOLUTE(0x200));
        SHORT(0x04);
        /*SHORT((ABSOLUTE(__reset) >> 16) & 0x7F);*/
        SHORT((ABSOLUTE(0x200) >> 16) & 0x7F);
        SHORT(0);
  } >reset

Ahol a 0x200 a prog memóriában fixen elhelyezkedő függvényem címe, amelynek elsőnek kell lefutnia, 
minden előtt....
Köszönöm a segítséget!!

Zoli



More information about the Elektro mailing list