2021-03-04 07:29 AM
In our code, the start_address of our application is 0x08020000
And the end address based on what I see in the cube programmer is 0x08047440
Based on this equation from the user manual
CRC_START address = (uint32_t *)(ROM_END - 4 * (ROM_END + 1 - ROM_START) / (FLASH_SECTION_SIZE) + 1); with FLASH_SECTION_SIZE = 1024
CRC_START address would be 0x080471C4
So I used the configurations below
FlashSubset.StartAddr = 0x08020000U;
FlashSubset.EndAddr = 0x080471C4U -1; //beginning of CRC -1
FlashSubset.pNext = NULL;
FlashConfig1.pSubset = &FlashSubset;
FlashConfig1.NumSectionsAtomic = 1;
And for the post-build command I used :
arm-none-eabi-objcopy.exe -O ihex "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.hex" && arm-none-eabi-size "${BuildArtifactFileName}" && STM32_Programmer_CLI.exe -sl C:\Users\ghodratim\Desktop\Telecom_V2\Debug\LithiumTelcoV2.bin 0x08020000 0x08200000 0x400
I don’t know if these configs are not right or what! I tried to change the beginning and end address of the tested part or in the post-build command, but in all the cased the test failed!
Please let me know if these configurations are not right, or if I have to set any variable or something somewhere in the code. I was thinking may be I have to change something in the linker file STM32F429ZITX_FLASH.ld
Any help would be appreciated.