[elektro] PIC18F reset vector
Moczik Gabor
pm_levlista at progzmaster.hu
Sat Apr 5 00:39:00 CEST 2008
Kovács Árpád wrote:
> Csinált már valaki bootloader-es megoldást C18-al? A microchip oldalon csak
> assembly megoldást találtam.
Nem csinaltam azzal a forditoval, de:
A bootloader ne az elejen legyen, hanem a kodterulet vegen.
Ehhez az interrupt rutinokat nem kell relokalni, egy (ketto)
ugroutasitassal kevesebb. A 0-s cimre egy ugroutasitas keruljon, ami a
bootloader-t hivja a kodterulet vegen, a bootloader meg majd inditja a
tenyleges programot ha nem kell frissiteni.
Hogy hova kell ugrani az onnan tudhato, hogy amikor a firmware-t fel akarod
tolteni, akkor a fordito elhelyezett egy ugroutasitast a 0-s cimre, ami a
reset pontra mutat. A bootloader kliens szoftvere ezt kiszedi onnan,
kicsereli a bootloader kezdocimre ugrasra, az eredeti cimet pedig elhelyezi
a bootloadernek megfelelo helyen, ezzel tudja hova kell "beugrani" a rendes
programkodot inditani.
TinyBootloader-t hasznalok, az ezt mind megcsinalja, tulajdonkeppen csak a
bootloadert egetem be egyszer, utana nem kell torodnom vele programozaskor
hogy tenylegesen hogyan is kerul majd a prociba a program.
(illetve annyiban, hogy nem lehet teleirni a flash-t, a booloader helyet
nem lehet elhasznalni, valamint mindent inicializalni kell a main-ban, mert
a bootloader utan nem default allapotban vannak a regiszterek)
--
((( Móczik Gábor )))--((( E~mail: "pm-01" @AT "progzmaster" .DOT "hu" )))
((( Skype: moczik )))
More information about the Elektro
mailing list