Thanks for the detailed feedback. After looking at Section 8.2.4 Flash Erase in the Technical Reference Manual (TRM), I remembered that the smallest amount of flash that can be erased in both Main and Info memory regions is one sector, 4KB. Looking at the length of your address locations, I suspect that this is what's causing the issue. Since Boot and Main regions are next to each other, when the Main code gets changed, portions of the Boot code in that shared sector would get erased. Thus, a possible workaround would be to use memory lengths equal to 0x1000h (4KB) multiples. In this scenario, no segments would be shared between Boot and Main regions, which would allow either region to be erased without affecting the other. Try updating your linker files accordingly. Let's keep the sections separate in the linker files for the unique projects, and also keep using the "Erase and download necessary segments only" for both projects. Let me know if this works. Another alternative would be to put the Boot code in Info memory. This way, you could make sure that changes to your Main code don't affect the Boot code in Info memory by choosing "Erase main memory only" in CCS. However, since the MSP432 only has 16KB Info memory and you need 32KB, this wouldn't work. Regards, James MSP Customer Applications
↧