MCHPUSB Bootloader v2.1 módosítása

Nem működik az eredeti MCHPUSB Bootloader? Máshova tennéd a boot gombot? Nem szeretnéd karácsonyfadísznek használni a bootloadert?
Ezekre a problémákra keressük a megoldást.

A MCHPFSUSB Framework v2.1-ben lévő MCHPUSB Bootloader PIC18F4550 Firmware-t módosítottam, hogy csak 1 LEDet használjon, máshol legyen a bootgomb és az az 1 LED és persze, hogy működjön rendesen.

Az eredetivel az volt a problémám, hogy valamilyen oknál fogva csak akkor működött rendesen, ha újratelepítettem a driverét. Vagyis, minden bootload módba váltás után drivert kellett telepítenem, hogy tudjak rá progit feltölteni.
Ennek a megoldása szerencsére nem volt nehéz, ugyanis a Microchipes fiúk bennehagyták commentben amit kiszedtek. Ezt a sort kellett visszaraknom:

USBPrepareForNextSetupTrf(); // Removed; pedig kell!

Ez a sor az usbdrv.c fájlban a USBDriverService(void) függvényben található.

A másik probléma a boot gomb helye. Nekem valamiért nem tetszett, hogy a B port 4. bitjére rakták, az E port 1. lába jobb hely neki. Ehhez módosítani kellett az io_cfg.h fájlt. Ne felejtsük el digitálisra állítani az E portot!

Maradtak a LEDek. Csodálkoztam, hogy az új bootloader már 4 státusz LEDet használ. Minek ennyi? Ha fényeffekteket akarok, majd írok olyan progit. Szóval átírtam a boot.c-ben lévő BlinkUSBStatus(void)-t. Ha már belenyúltam, picit lassítottam a villogáson. A LED az E port 0. bitjére került.
Picit följebb a forrásban a BootService(void) függvény használja a 3. és 4. LEDet, elég megjegyzésbe rakni a kérdéses sorokat.

A módosított firmware letölthető lentebb. Tekintet nélkül arra, hogy nálam hiba nélkül működik, nem vállalok semmilyen felelősséget érte!

Bootloader 2.1 firmware (97.0 KiB)

Kategória: Elektronika Címke: ,