How to stop MCC from generating bootloader code?
This is on PIC15354, with the latest versions of MPLAB IDE X, XC8, and MCC. I have the boot block disabled, but MCC generates bootload.h and pic16f1_bootload.c anyhow. I don't want these, I don't see any reason I need these, and there are errors in the c code, so without manual edits the program won't compile or run.
I found another thread about one of the errors: the definitions of EE_Key_1 and EE_Key_2 contain both absolute addresses like "__a(0x70)", and initializations like "= 0". The XC8 manual says not to do that, but apparently that wasn't enforced until XC8 v2.10. So we're just waiting for an update to one or the other tool. Meanwhile, you can delete the initializations from the declarations, or you can use the __near directive to put these variables in the common block instead of using absolute addresses for the same purpose.
But after I do that, in debug the program goes into the bootloader initialization function and never returns. This sets the Keys to 0, then changes STKPTR - did that change the stack pointer inside a function?!? Then there's some assembly code, that seems to jump into the middle of Write_Flash(), and the debugger gets lost at the next "return".
I could probably edit it to work, but unless someone can tell me a reason for having any bootloader code when there's no boot block and no plans for a field update, I'd rather just get rid of these files and change the ones that call them.