/********************************************************************* * (c) SEGGER Microcontroller GmbH & Co. KG * * The Embedded Experts * * www.segger.com * ********************************************************************** -------------------------- END-OF-HEADER ----------------------------- */ /********************************************************************* * * ResetTarget */ void ResetTarget(void) { // // This device requires a special reset as default reset does not work for this device. // TBD // } /********************************************************************* * * InitTarget */ void InitTarget(void) { // No need to configure debug config here, SEGGER will do auto scan // clear sticky error flag U32 v; // v = _DP_CTRL_STAT_BIT_DBGPWRUPREQ | _DP_CTRL_STAT_BIT_SYSPWRUPREQ | _DP_CTRL_STAT_BIT_STICKYERR; // Clear sticky error flag v = (1<<28) | (1<<30) | (1 << 5); JLINK_CORESIGHT_WriteDP(JLINK_CORESIGHT_DP_REG_CTRL_STAT, v); // Check DAP successful v = JLINK_CORESIGHT_ReadDP(JLINK_CORESIGHT_DP_REG_CTRL_STAT); if (((v >> 28) & 0xF) != 0xF) { return -1; } Report("***************************************************"); Report("J-Link script: iMX8M Plus Cortex-M7 J-Link script"); Report("***************************************************"); // AHB32 Read Register JLINK_CORESIGHT_WriteDP(JLINK_CORESIGHT_DP_REG_SELECT, (0 << 4) | (0 << 24)); JLINK_CORESIGHT_WriteAP(JLINK_CORESIGHT_AP_REG_ADDR, 0x3039000C); JLINK_CORESIGHT_WriteAP(JLINK_CORESIGHT_AP_REG_DATA, 0xAA); JLINK_CORESIGHT_WriteAP(JLINK_CORESIGHT_AP_REG_ADDR, 0x3039000C); v = JLINK_CORESIGHT_ReadAP(JLINK_CORESIGHT_AP_REG_DATA); Report1("****** Reset Release with M7_RCR : ", v); } /********************************************************************* * * SetupTarget */ void SetupTarget(void) { Report("***************************************************"); Report("J-Link script: Prepare Landing Zone"); Report("***************************************************"); JLINK_MEM_WriteU32(0x0, 0x20020000); JLINK_MEM_WriteU32(0x4, 0x9); JLINK_MEM_WriteU32(0x8, 0xE7FEE7FE); Report("***************************************************"); Report("J-Link script: Release Wait"); Report("***************************************************"); JLINK_MEM_WriteU32(0x30340058, 0x0000000); }