| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /*********************************************************************
- * (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);
- }
|