Hi Erich,
I checked again my board before replying.
This is what I have:
1) A custom bootloader: Addr. 0x00000, 0x03FFF
2) A "target application": Addr. 0x04000, 0x70000
uC is LPC1768, with 512kB Flash. I use 0x70000 to 0x7FFFF for Flash based non-volatile storage
Each time I program a bootloader, on either IDE version, I run a mass erase, to start each time from same situation, that is memory content is all 0xFF, from 0x00000 to 0x7FFFF.
With version 11.2.1, I can:
1) Program bootloader using GUI Flash Tool
2) Program my target application via my custom bootloader: everything goes on like everything is fine, but actually the content of memory does not change
3) Verifying the content of memory I get the right data both using my custom bootloader or using the IDE Debug and Memory view
With version 11.6.1, I can:
1) Program bootloader using GUI Flash Tool
2) Program my target application via my custom bootloader ()
3) Checking the content of memory gives me all 0xFF
4) If I program my target application using GUI Flash Tool, then I can read back the right data, both using my custom bootloader or using the IDE Debug and Memory view
As per what I can understand writing FLASH using Chip_IAP_* functions fails, although each call returns success. From LPC176x-5x User Manual, chapter 32.3.2.8: "Flash programming commands use the top 32 bytes of on-chip RAM. The maximum stack usage in the user allocated stack space is 128 bytes and it grows downwards.". I reserved RAM for IAP functions, on both environments. As mentioned before, everything is the same, except the binary output and the mulfunction only when building in 11.6.1.
@ErichStyger: I am a reader of your blog. Nice to "meet" you. I am in Switzerland too