[BUG] MIMXRT1176 StartupCode may not set Vector Table
Closed this issue · 4 comments
Describe the bug
If __USE_CMSIS is defined, but __MCUXPRESSO is not, the startup code does not set the Vector Table
Only define__USE_CMSIS as symbol
- Environment (please complete the following information):
- Tag/Commit hash: [MCUX_2.11.0]
- Toolchain: [ARMGCC 10.3-2021.07]
- Board/SoC: [MIMXRT1176 on MIMXrt1170-EVK]
- Example [iled_blinky_cm7]
- Steps to reproduce the behavior:
- In MCUXpresso use the excample MIMXRT1176 iled_blinky_cm7
- Remove define __MCUXPRESSO from the C Build Settings
- Set a breakpoint in SystemTick_Handler and run the application.
- After some time, when pausing the debug run, the programm counter register does not point to an valid adress.
Expected behavior
The SystemTick_Handler should be called.
The startup code of LPC55S69 does work without __MCUXPRESSO
Hi @ChristianMosbach, below is feedback from developer, please help check:
"with ARMGCC, the VTOR is set in devices/MIMXRT1176/gcc/startup_MIMXRT1176_cm7.S. It doesn't rely on any macro. __MCUXPRESSO should not be defined in armgcc build.
Does it mean you are was building MCUX IDE startup devices/MIMXRT1176/mcuxpresso/startup_mimxrt1176_cm7.c with armgcc?"
Hello @mcuxsusan,
Yes, I built startup_mimxrt1176_cm7.c with armgcc.
As I said, it works with the mcuxpresso startup code for the LPC55S69.
Thank You
Hi @ChristianMosbach , startup_mimxrt1176_cm7.c is designed for mcuxpresso IDE. We have dedicated startup_MIMXRT1176_cm7.S for armgcc. In other word, building startup_mimxrt1176_cm7.c with armgcc is an invalid use case and is not qualified.
LPC55S69 happening to work doesn't mean this is a valid case.
Thank you for your answer!