Enter bootloader mode rt1052

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

Enter bootloader mode rt1052

跳至解决方案
1,132 次查看
bing_wen
Contributor I

Using our customized board that is similar to the eval board, I am trying to enter bootloader mode following the reference manual IMXRT1050RM 9.13.3.   The following is the code:

typedef struct
{
void (*runBootloader)(void *arg); /*!< Function to start the bootloader executing */
const uint32_t version; /*!< Bootloader version number */
const uint8_t *copyright; /*!< Bootloader Copyright */
const uint32_t reserved0;
flexspi_nor_driver_interface_t *flexSpiNorDriver; /*!< FLEXSPI NOR flash api */
} bootloader_api_entry_t;

/*******************************************************************************
* Variables
******************************************************************************/

#define g_bootloaderTree ((bootloader_api_entry_t *)*(uint32_t *)0x0020001cU)


status_t ROM_RUNBOOTLOADER(){
uint32_t arg=0xeb100000;
g_bootloaderTree->runBootloader(&arg);

}

 

 

But after the function ROM_RUNBOOTLOADER is called, the board just reboot normally without entering bootloader mode. 

The board is set to boot internally, and it will enter bootloader mode if the flash is erased clean.  Is there anything else I should try? 

标签 (1)
标记 (1)
0 项奖励
1 解答
1,122 次查看
jeremyzhou
NXP Employee
NXP Employee

Hi,
Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
1) Is there anything else I should try?
-- The root cause of the above issue is the defect of the ROM API of RT1050, in another word, ROM API is not of full capability.
It doesn't support the runBootloader actually.
Hope this is clear.
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 项奖励
2 回复数
1,123 次查看
jeremyzhou
NXP Employee
NXP Employee

Hi,
Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
1) Is there anything else I should try?
-- The root cause of the above issue is the defect of the ROM API of RT1050, in another word, ROM API is not of full capability.
It doesn't support the runBootloader actually.
Hope this is clear.
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 项奖励
74 次查看
alirezab
Contributor I

Hi,

I have the same problem on RT1171. I use the fsl_romapi and call related functions as below

///////

uint32_t arg = 0xEB100000;

ROM_API_Init();

ROM_RunBootloader((void *)&arg);

///////

But after executing the last function, the MCU reboot normally and runs the code from external flash from start point. I test the same code on RT1176 evaluation board and in that case, the code works correctly and MCU enters the bootloader.

Is the cause of that issue the same?

0 项奖励