RT1062 software reset

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

RT1062 software reset

跳至解决方案
12,429 次查看
Svenifax
Contributor III

Hello,

I'm trying to reset the RT1062 MCU via software. Some tests with different methods failed:

  • NVIC_SystemReset();
  • SRC_DoSoftwareResetARMCore0(SRC);
  • WDOG_TriggerSystemSoftwareReset(WDOG1);
  • wdog_config_t wdog_config;
    WDOG_GetDefaultConfig(&wdog_config);
    wdog_config.timeoutValue = 0x0U; /* Timeout value is (0x0 + 1)/2 = 0.5 sec. */
    WDOG_Init(WDOG1, &wdog_config);

After calling one of the them, the MCU hangs, maybe in the ROM bootloader.

The firmware image resides in the external NOR flash. The internal ROM bootloader loads the boot image into OCRAM and will be executed from this location.

How is a software reset performed on RT1062 MCUs?

 

0 项奖励
回复
1 解答
11,901 次查看
andersrosvall
Contributor IV

Hi,
We have received a lot of questions about this lately (maybe because of this discussion) so we have released an example project for software reset, you can download our latest patched SDK from here: http://imx.embeddedartists.com/#imxrt1062
Direct link: http://imx.embeddedartists.com/imxrt/eaimxrt1062_sdk_2.9.3_2021-05-10.zip
The project can be found in this path: \boards\evkmimxrt1060\ea\software_reset

The reset code implements a JEDEC reset for the external serial flash before executing the system reset.

Hope this helps. 

Kind Regards,
Anders Rosvall
Embedded Artists AB

在原帖中查看解决方案

26 回复数
4,848 次查看
mjbcswitzerland
Specialist V

Hi Sven

APPLICATION_INT_RESET_CTR_REG is the Cortex System Control Block register at 0xe000ed0c
VECTKEY is 0x05fa0000
and
SYSRESETREQ = 0x00000004


IOMUXC_GPR_GPR16_RESERVED is 0x00200000

Regards

Mark

 

0 项奖励
回复
4,769 次查看
Svenifax
Contributor III

Hello Mark,

unfortunately, all the methods doesn't work for me.

Are you reset the Flash via JEDEC-Reset (JESD252) before software reset?

Regards,
Sven

0 项奖励
回复
1,940 次查看
mjbcswitzerland
Specialist V

Hi Sven

No, there is no flash reset performed.

Regards

Mark

 

 

0 项奖励
回复
2,160 次查看
mjbcswitzerland
Specialist V

Hi

Does you application change FlexRAM layout?
If so the ROM loader doesn't seem to be able to handle resets and you need to set the FlexRAM back to its original state before using any of the methods.

Try some 1062 references at
https://www.utasker.com/iMX/RT1060.html
https://www.utasker.com/iMX/iMX_RT1062_OEM.html
https://www.utasker.com/iMX/Teensy_4_0.html
https://www.utasker.com/iMX/Teensy_4_1.html

which have command line menus of UART, USB-CD and/or Telnet. In the administrator menu there are commands to perform software resets and test watchdog resets. The applications run in ITC for maximum speed and solve the typical iMXT RT problems like this.

Regards

Mark
[uTasker project developer for Kinetis and i.MX RT]
Contact me by personal message or on the uTasker web site to discuss professional training, solutions to problems or rapid product development requirements

For professionals searching for faster, problem-free Kinetis and i.MX RT 10xx developments the uTasker project holds the key: https://www.utasker.com/iMX/RT1064.html

0 项奖励
回复
2,128 次查看
Svenifax
Contributor III

Does you application change FlexRAM layout?
If so the ROM loader doesn't seem to be able to handle resets and you need to set the FlexRAM back too its original state before using any of the methods.

No, my application doesn't change the FlexRAM layout.

@ NXP: Any ideas?

0 项奖励
回复
1,865 次查看
jeremyzhou
NXP Employee
NXP Employee

Hi,
Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
On my side, the NVIC_SystemReset() is good (My board is MIMXRT1060-EVK board).
According to your statement, you also use the Watchdog to reset.
in my opinion, it should work well.
Have a great day,
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 项奖励
回复