Hi Alice,
Thank you for your reply and the questions.
Please see my answer as follows;
1) Do you mean using Flash programmer download project into memory 0x2000? If yes, you can use GUI Flash Tool on MCUXpresso IDE:
Answer) I have my own flash tool with Python. And the flash tool works to download/flash s19 file to target boards.
The starting address for flash operation depends on the address in s19 file e.g. 0x2000, 0x3000, 0xC000, and etc.
2) Why are you splitting the flash in two parts? And discontinuous as your attachment?
Answer) 1st part is for program code, and 2nd part is for calibration data that can be flashed while program code working.
The discontinuous was because I captured the attachment while trying to run test case.
In actual code, for the user application (PROGRAM_FLASH), I have 0x3000 as starting address and the size is 0x9000.
For the calibration data (CAL_FLASH), I have 0xC000 as starting address and the size is 0x4000.
For your better understanding my MCU settings, please refer to screen capture attached.
3) I guess you place secondary bootloader into 0x0000, right?
Answer) Yes, I have the secondary bootloader from 0x0000 with size of 0x3000.
4) BTW, your chip is LPC850 or LPC860?
Answer) The MCU is LPC865M201.
Additional info again, my user application is working as expected to flash calibration data in s19 file to the part (CAL_FLASH) when I have the start address of the PROGRAM_FLASH at 0x0000.
However, I got hard fault while flashing the same calibration data when I have the starting address of the FLASH_PROGRAM other than 0x0000 e.g. the start address at 0x1000, 0x2000, 0x3000.
Please let me know if you need my further follow up.
Thank you,
uzza9.