Re-writing flash
I am in the process of writing code to reprogram my board. I am using a dsPIC33FJ128GP306 and I have a PC application that communicates with the board via USB (or Bluetooth depending on the board). Once this device is out in the field (sold to customers), there will be a need to load a new embedded image onto the device using the PC application. I've looked over example Bottloader_SW_022409 and it is helpful but not sufficient for my purposes. So here are my questions:
1) From what I gather, the code isn't actually run out of flash (program memory is some RAM type area in the processor would be my guess). Are there any issues in re-writing the flash while the dsPIC is running?
2) If the answer to question 1 is no (there are no issues), then can I just do a bulk erase of the entire flash and then reprogram it a page at a time?
3) It was mentioned in another post that there are 'tools' for re-writing flash on the dsPIC. Are there some built-in functions or something of that nature to make this easier? In reading through section 5 (flash programming) of the manual, it looks like it mostly is done using assembly code. And the example code provides a file called memory.s which looks like it would be useful. Is there something else available that I'm not aware of?
4) Do I need to have something like a boot loader running to be able to accomplish the re-writing of the flash? I guess this is really similar to question 1 above.
I think those are my main questions for the moment. I'm sure that more will come up as I work through this. Any help is greatly appreciated.
post edited by davelw - 2009/05/20 15:52:53