Hi,nxp
1.By modifying the linker_flash_s32k312.ld file, the starting address of p_flash was changed from 0x00400000 to 0x00440200, resulting in the program malfunctioning, as shown in the attached image. The code is included in the attachment.
2.The expected outcome is that the program does not feed the watchdog and should restart from the beginning, rather than malfunctioning.
That's all, thank you.
Hi @victory,
I understand that this project should be flashed by a bootloader, right?
But if you flash the project directly (DM181S_S32K312_BOOT.elf), the SBAF then searches for the first valid IVT starting from the lowest address at 0x00400000.
Regards,
Daniel
Hi,danielmartnek
1.I understand that this project should be flashed by a bootloader, right?
Reply:Yes,There are other matters to pay attention to.
2.But if you flash the project directly (DM181S_S32K312_BOOT.elf), the SBAF then searches for the first valid IVT starting from the lowest address at 0x00400000.
Reply:According to your intention, when debugging the app project online without the bootloader, the starting address of int_pflash still needs to be set to 0x00400000.
3.Additionally, if we enable the HSE firmware later on, how should we debug the app project that does not include the bootloader, and how do we allocate memory?
You can place it at 0x50_0000, which is a valid IVT address and it is in the next block, so it can be programmed by the bootloader in the 0x40_0000 block.
Regarding the HSE_FW, please create a new thread.
Thank you,
BR, Daniel
I modified the original project by changing the starting address of int_pflash to 0x00500000 in the linker_flash_s32k312.ld file, but the program still runs incorrectly. Am I misunderstanding something, or is there another area that I haven't changed?
1)linker_flash_s32k312.ld->MEMORY
2)Schematic of program malfunction