Using the ICEPick reset seems to allow the processor to be halted sooner
and the halt on gdb connection makes the connect process more robust.
>From a69fdf6a0756633a6b562fda34b2cafb070b393f Mon Sep 17 00:00:00 2001
From: Karl Kurbjun <kkurb...@gmail.com>
Date: Sun, 2 Oct 2011 11:41:33 -0600
Subject: [PATCH] AM/DM37x: Use ICEPick warm reset and include halt when gdb connects.

Using the ICEPick reset seems to allow the processor to be halted sooner
and the halt on gdb connection makes the connect process more robust.
---
 tcl/target/amdm37x.cfg |   41 +++++++++++++++++++++++++----------------
 1 files changed, 25 insertions(+), 16 deletions(-)

diff --git a/tcl/target/amdm37x.cfg b/tcl/target/amdm37x.cfg
index a6daeab..4fe5124 100644
--- a/tcl/target/amdm37x.cfg
+++ b/tcl/target/amdm37x.cfg
@@ -1,6 +1,6 @@
 #
-# Copyright (C)   2010        by Karl Kurbjun
-# Copyright (C)   2009-2011  by Øyvind Harboe
+# Copyright (C)   2010-2011   by Karl Kurbjun
+# Copyright (C)   2009-2011   by Øyvind Harboe
 # Copyright (C)   2009        by David Brownell
 # Copyright (C)   2009        by Magnus Lundin
 #
@@ -158,25 +158,34 @@ $_TARGETNAME configure -work-area-phys 0x40200000 -work-area-size 0x4000
 
 $_TARGETNAME configure -event "reset-start" { adapter_khz 10 }
 
-# Reset needs to be performed in in software.
-# The AM/DM37x TRM (sprugn4b) describes the software reset in detail.
-# PRM_RSTCTRL is described in table 3-425 on page 618.  We assert RST_GS
-# (bit 1 (in 31:0) ) to do a warm reset.
+# Describe the reset assert process for openocd - this is asserted with the
+# ICEPick
+$_TARGETNAME configure -event "reset-assert" {
+   
+   global _CHIPNAME
+   
+   # assert warm system reset through ICEPick
+   icepick_c_wreset $_CHIPNAME.jrc
+}
 
-# Create a vaiable for the register address
-set PRM_RSTCTRL 0x48307250
+# After the reset is asserted we need to re-initialize debugging and speed up
+# the JTAG clock.
 
-# Describe the reset assert process: A value of 2 must be written 
-# (assert bit 1) to the physical address of PRM_RSTCTRL.
+$_TARGETNAME configure -event reset-assert-post {
 
-$_TARGETNAME configure -event \
-   reset-assert "$_TARGETNAME mww phys $PRM_RSTCTRL 2"
+   global _TARGETNAME
+   amdm37x_dbginit $_TARGETNAME
+   adapter_khz 1000
+}
 
-# After the reset is asserted we need to re-initialize debugging and speed up
-# the JTAG clock.
+$_TARGETNAME configure -event gdb-attach {
 
-$_TARGETNAME configure -event \
-   reset-assert-post "amdm37x_dbginit $_TARGETNAME; adapter_khz 1000"
+   global _TARGETNAME
+   amdm37x_dbginit $_TARGETNAME
+   
+   echo "Halting target"
+   halt
+}
 
 ######
 # End Target Reset Event Setup:
-- 
1.7.4.1

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to