电子说
介绍通过软件代码IAP(In-Application Programming)进入MIMXRT1176的ISP模式,IMXRT1176 参考手册提到了IAP相关信息如下。
如果想选择使用UART或USB连接烧写程序,则需要使用自动检测连接参数arg=0xeb10000(在如下示例代码中,使用USB连接参数设置0xeb110000)。此外,如果MCUXpresso IDE中的串口终端连接打开的话,则不能通过UART连接到ROM,可以使用MCU BOOTUtility工具联机。IMXRT1176 文档使用了ROM_RunBootloader()的名称,且包含了需要使用ROM_API_Init()初始化驱动程序以及这些函数属于fsl_romapi驱动程序。
上图ROM_RunBootloader函数中将值(BOOTLDR_CONF_ARG->0xeb100000)作为指针传递,而不是将指针传递给包含此值(&ARG)的变量。
#include "fsl_romapi.h"
#include "fsl_device_registers.h"
#include "fsl_debug_console.h"
#include "pin_mux.h"
#include "clock_config.h"
#include "board.h"
int main(void)
{
uint32_t arg=0xeb110000;;
/* Init board hardware. */
BOARD_ConfigMPU();
BOARD_InitPins();
BOARD_BootClockRUN();
BOARD_InitDebugConsole();
ROM_API_Init();
PRINTF("Enter ISP mode. ");
ROM_RunBootloader(&arg);
}
然后就可以使用MCU BOOTUtility工具通过USB或者UART连接到MIMXRT1176芯片,用户就可以实时在线的擦写Flash操作,升级应用固件代码。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !