]> git.sur5r.net Git - openocd/commitdiff
tcl config script example
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Fri, 4 Jul 2008 08:08:29 +0000 (08:08 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Fri, 4 Jul 2008 08:08:29 +0000 (08:08 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@744 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/openocd.c
src/target/Makefile.am
src/target/target/at91eb40a.tcl [new file with mode: 0644]

index c17e149c2d5f2d6bb23a5452850c12395947265b..e24eb9a7cd717aee536eedc416886c0e26783726 100644 (file)
@@ -182,9 +182,11 @@ static void tcl_output(void *privData, const char *file, int line,
 int jim_command(command_context_t *context, char *line)
 {
        int retval=ERROR_OK;
+       /* FIX!!!! in reality there is only one cmd_ctx handler, but consider
+       what might happen here if there are multiple handlers w/reentrant callback
+       fn's... shudder!  */
        active_cmd_ctx=context;
        int retcode=Jim_Eval(interp, line);
-       active_cmd_ctx=NULL;
        
        const char *result;
        int reslen;
index 959b34d3632a32138fecd16e3abe4c17ce51e082..28d5862b8a585d27acd3e359c4e586f7644ba739 100644 (file)
@@ -34,5 +34,5 @@ nobase_dist_pkglib_DATA = xscale/debug_handler.bin event/at91eb40a_reset.script
        interface/calao-usb-a9260.cfg target/at91sam9260minimal.cfg  event/lpc2148_reset.script \
        interface/chameleon.cfg interface/at91rm9200.cfg interface/jlink.cfg interface/arm-usb-ocd.cfg \
        interface/signalyzer.cfg event/eir-sam7se512_reset.script target/eir-sam7se512.cfg \
-       event/hammer_reset.script interface/flyswatter.cfg target/hammer.cfg target/mx31.cfg
+       event/hammer_reset.script interface/flyswatter.cfg target/hammer.cfg target/mx31.cfg target/at91eb40a.tcl
 
diff --git a/src/target/target/at91eb40a.tcl b/src/target/target/at91eb40a.tcl
new file mode 100644 (file)
index 0000000..6c39622
--- /dev/null
@@ -0,0 +1,52 @@
+#Script for AT91EB40a\r
+\r
+#Atmel ties SRST & TRST together, at which point it makes\r
+#no sense to use TRST, but use TMS instead.\r
+#\r
+#The annoying thing with tying SRST & TRST together is that\r
+#there is no way to halt the CPU *before and during* the\r
+#SRST reset, which means that the CPU will run a number\r
+#of cycles before it can be halted(as much as milliseconds).\r
+openocd {reset_config srst_only srst_pulls_trst}\r
\r
+#jtag scan chain\r
+#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)\r
+openocd {jtag_device 4 0x1 0xf 0xe}\r
+\r
+#target configuration\r
+openocd {target arm7tdmi little 0 arm7tdmi-s_r4}\r
+\r
+# speed up memory downloads\r
+openocd {arm7 fast_memory_access enable}\r
+openocd {arm7_9 dcc_downloads enable}\r
+\r
+# OpenOCD does not have a flash driver for for AT91FR40162S \r
+openocd {target_script 0 reset event/at91eb40a_reset.script}\r
+\r
+#flash driver\r
+openocd {flash bank ecosflash 0x01000000 0x200000 2 2 0 ecos/at91eb40a.elf}\r
+\r
+# required for usable performance. Used for lots of\r
+# other things than flash programming.\r
+openocd {working_area 0 0x00000000 0x20000 nobackup}\r
+\r
+#force hardware values - we're running out of flash more\r
+#often than not. The user can disable this in his\r
+#subsequent config script.\r
+openocd {arm7_9 force_hw_bkpts enable}\r
+\r
+set reset_count 0\r
+\r
+proc target_reset_0 {} {\r
+       global reset_count\r
+       # Reset script for AT91EB40a\r
+       openocd {reg cpsr 0x000000D3}           \r
+       openocd {mww 0xFFE00020 0x1}\r
+       openocd {mww 0xFFE00024 0x00000000}  \r
+       openocd {mww 0xFFE00000 0x01002539} \r
+       openocd {mww 0xFFFFF124 0xFFFFFFFF}  \r
+       openocd {mww 0xffff0010 0x100}\r
+       openocd {mww 0xffff0034 0x100}\r
+       set reset_count [expr $reset_count+1]\r
+       puts "Testing reset $reset_count !"\r
+}\r