I'm a bit new to the concept of programming a PIC with anything other than ICSP.
I am designing a controller unit with a Bluetooth HC05 module connecting to the UART. The HC05 would be configured as a slave and a PC or smartphone (master device) would connect to the HC05 and relay standard TX/RX comms to the PIC. I am using a PIC24FJ256GA702.
I'm thinking in theory it should be possible to have a section of code (update block) that would be entered by sending a specific command to the UART (from the 'master device') which once running receives code from the master to re-write the code that makes the controller function (operation block) using the inbuilt table read, write and erase functions. Then it would issue a RESET command that would run the new operation block.
The update block could include encryption and checksums if necessary.
Obviously this would require some form of loading code on the master device as well.
I think this is a bit different to the concept of a 'bootloader' that requires some specific power up/reset HW intervention (e.g. RB4 on the PIC18F4550 enter bootload mode) wheras this concept would not require any HW reconfiguration.
Is this a feasible way to go about it, and has anyone gone down this sort of path (either with or without BT, which is essentially a transparent pipe between a virtual UART on the master device and the UART on the PIC), and is there any guidance out there on how to implement it?
post edited by dang - 2019/01/10 16:27:54