Egyik projectemben PIC18F4550-et használtam, aztán rájöttem, hogy elég hozzá a PIC18F2550 is.
A kényelmes firmware frissítés miatt fontos számomra a bootloader. Nem tudom, hogy hivatalosan támogatja-e ezt a chipet a bootloader. A main.c-ben említi:
#if (...) defined(\_\_18F2550)
ezzel szemben, nem fordul le rá, ha kiválasztjuk a chipet.
Egy kicsit bele kellett nyúlni...
Az első probléma, hogy a 2550-nek nincs D portja. Ezt könnyen megoldhatjuk a LEDek átpakolásával vagy kiiktatásával. Én maradtam a 'szokásos' megoldásomnál: a LEDek számát 1-re csökkentettem, azt meg átpakoltam PORTA0-ra.
A boot gombot nem lett volna muszály, de átraktam a már említett projectem miatt, PORTC2-re.
A sikeres fordításhoz a 18f4550.lkr fájlt is módosítani kell. Ezt a sort:
FILES p18f4550.lib
Erre:
FILES p18f2550.lib
Ugye milyen nehéz? :) Hogy egyértelműbb legyen, mi van a fájlban, átneveztem.
Az előző bejegyzésemben említett módosítások nem szükségesek a bootloader helyes működéséhez.
bootloader_2550.zip