[elektro] dsPIC33 bootloader
Balla Zoltán
sdrlab at yandex.ru
Mon Sep 27 10:46:20 CEST 2010
Feladó: "Balla Zoltán" <sdrlab at yandex.ru>
>Sziasztok
>
>Írtam egy saját bootloadert a fenti PIC családra. A kód microchip C-ben íródott, és az utolsó 2-3
>törölhető laphatárt foglalja el. Van hozzá egy módosított linker, amiben át van írva a reset vektor
>ugró címe arra a címre, ahol a bootloader tanyázik. Valamint létre van hozva szekció, hogy az
>összes
>függvény egy bizonyos címtől kezdődjön mindenképpen.
>A bootloader letöltéskor 0-ás címtől végigír mindent, egészen az ugrócímig. Ha nem kell semmit
>letöltenie, ugrik egy meghatározott címre, ami rögtön a megszakítási vektor tábla után van.
>
>Ez így működik is szépen...elvileg..., de mégis van vele gond.
>Ugye a C fordító létrehoz még "valamiket" a forráskódomon kívűl, gondolom valami inicializáló
>részeket. A program egyébként nem használ semmilyen külső hivatkozást plusszban. Nos a linker úgy
>van megszerkesztve, hogy ezeket az ismeretlen részeket rakja a valóságban az ugrócímre, és csak
>utána következik a bootloader program része.
>Namost általában ez szépen le is zajlik bekapcsoláskor...az az a reset címről elugrik a
>meghatározott bootloader címre, ahol is ugye a C plussz dolgait találja... Ez le is fut, majd
>elugrik a bootloaderre, ami elvégzi a programozást. Általában..., de nem mindig!!! Ugyanis attól
>függően, hogy milyen tartalommal töltöm föl a memóriát, hol jól működik, hol meg elmegy resetbe, és
>el sem jut a bootloader programba. A szimulátorban debugolva az derült ki, hogy ilyenkor egy
>tblrdl.b [w1++],[w2++] utasitás végrahajtása során, a
>CORE-E0011: Trap due to unimplemented RAM or PSV memory access, occurred from instruction at
>0x00946c
>CORE-E0004: Trap due to unimplemented FLASH memory access, occurred from instruction at 0x00946c
>hibaüzenet után fut a resetre.
>
>Nem értem, hogy hol lehet a hiba, egy biztosnak látszik, nem a forráskódban, hanem a proci
>sajátosságaiban keresendő a hiba, de nem jövök rá hogy mi lehet.
>Van valakinek ötlete ??
>
Senkinek semmi ötlete ezzel kapcsolatban ??
Zoli
More information about the Elektro
mailing list