Good day
I am using NXP's RT1170 processor on Embedded Artist's uCOM.
I believe that my processor got damaged somehow. If I debug the board, then I can run my application, but if I turn the board off and then on again, it is as if the board is held in reset.
In other words, the processor does not execute anything after a restart. It only executes my application when the application is debugged.
I know that the uCOM is reset with a Power-On Reset (POR) when it is debugged. But booting the board with a POR has the same effect as turning it off and then on again - the application is not executed.
So this leads me to my question: What is the difference between the boot sequence of the processor when it is debugged vs. when it is booted with a POR?
解決済! 解決策の投稿を見る。
Hi @kerryzhou, thanks for your reply.
The difference is that booting via a debugging probe doesn't require the IVT to be stored in the processor's flash. I don't understand why, but this must be the case.
Booting normally (via POR or otherwise) requires that the IVT information is stored in the flash. The storing of this information is controlled by the XIP_BOOT_HEADER_ENABLE pre-processor symbol in the project settings. This effect of this symbol's value and why you would want to change it is explained in my answer here.
Hi @D_TTSA
From your description, your situation should related to the boot mode.
I don't know your Embedded Artist board, as it is not the NXP official board.
But from my experience, debug OK, then you can check the debug address, whether it is in the external flash, if it is in the external flash, it means your code downloaded to the external flash. Otherwise, if you download code to the internal RAM, then POR the RAM code will disappear.
But if your code already download to the flash, but it can't work, you need to check your chip boot mode, whether it is selecting the internal boot mode, and select your external flash, otherwise your boot will have issues.
More details about the boot, please check the RT1170RM system boot chapter.
Wish it helps you!
If you still have questions about it, please kindly let me know.
Best Regards,
Kerry
Hi @kerryzhou, thanks for your reply.
The difference is that booting via a debugging probe doesn't require the IVT to be stored in the processor's flash. I don't understand why, but this must be the case.
Booting normally (via POR or otherwise) requires that the IVT information is stored in the flash. The storing of this information is controlled by the XIP_BOOT_HEADER_ENABLE pre-processor symbol in the project settings. This effect of this symbol's value and why you would want to change it is explained in my answer here.