I also saw that one. Isa lang ang interrupt vector sa PIC. Kung ginamit ng bootloader ang interrupts, then mahirap i-revector ang interrupts to the application ISR.Maybe it's simpler to lump halInitComms(), halInitGPIO(), halInitPerip() to one init() function.Ang halMCUReset() ba yung nag start ng application?
Maybe it's simpler to lump halInitComms(), halInitGPIO(), halInitPerip() to one init() function.
The bootloader does not need to init() all parts of the MCU. Yung lang parts na kailangan para gumana ang bootloader mismo.
Another issue that you may have to decide soon is the location of the bootloader. For the PIC16 and PIC18 families, the first block is called the boot block. Pwede write protected siya and the reset of the program space is writable.
Ang halMCUReset() ba yung nag start ng application?
mali pala intindi ko sa question, sya po yung function na tinatawag para ireset ang MCU. it should contain a simple MCU reset instruction or watchdog initialization then infinite loop.
mas may control din ang GUI natin to end bootloading kung ganitong approach ang gagawin...
maaring di gaano magkalayo ang impact sa generated number of instructions pero I think may benefit sa control at kung documented ang design eh mas simple ang state diagram...
GUI? maybe it's a misnomer. Kung may LCD display sa bootloader, that uses space that will increase the size to more than the bootblock from my experience. Baka you mean API.
Bale, it seems the MCU reset command is the same as "Option". Kasi after MCU reset is finished, the MCU jumps to "MCU power ON" to verify the checksum and run the application if no new bootloader request is received (bootloader timeout).
^supported yan sir.. at first lite lang din gamit ko.. at as of now lite yung gamit ni 'yus for PhilRobokit IDE...anong version nyan?
may napulot na akong icon para dito