eol-style native
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Tue, 28 Apr 2009 06:28:39 +0000 (06:28 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Tue, 28 Apr 2009 06:28:39 +0000 (06:28 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1549 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/jtag/dummy.c
src/server/httpd/Stylizer.java
src/target/target/mega128.cfg
testing/examples/SAM7X256Test/prj/eclipse_ram.gdb
testing/examples/SAM7X256Test/prj/eclipse_rom.gdb
testing/examples/SAM7X256Test/prj/sam7x256_jtagkey.cfg
testing/examples/SAM7X256Test/prj/sam7x256_ram.ld
testing/examples/SAM7X256Test/prj/sam7x256_reset.script
testing/examples/SAM7X256Test/prj/sam7x256_rom.ld
testing/examples/STM32-103/readme.txt

index 49161a607c80b0dd6dd198348ecb1b75f4aac35f..158a8d5f5a2a347b9852fb008ebeb80a6c4e480d 100644 (file)
-/***************************************************************************\r
- *   Copyright (C) 2008 by Øyvind Harboe                                   *\r
- *   oyvind.harboe@zylin.com                                               *\r
- *                                                                         *\r
- *   This program is free software; you can redistribute it and/or modify  *\r
- *   it under the terms of the GNU General Public License as published by  *\r
- *   the Free Software Foundation; either version 2 of the License, or     *\r
- *   (at your option) any later version.                                   *\r
- *                                                                         *\r
- *   This program is distributed in the hope that it will be useful,       *\r
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *\r
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *\r
- *   GNU General Public License for more details.                          *\r
- *                                                                         *\r
- *   You should have received a copy of the GNU General Public License     *\r
- *   along with this program; if not, write to the                         *\r
- *   Free Software Foundation, Inc.,                                       *\r
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *\r
- ***************************************************************************/\r
-#ifdef HAVE_CONFIG_H\r
-#include "config.h"\r
-#endif\r
-\r
-#include "replacements.h"\r
-\r
-#include "jtag.h"\r
-#include "bitbang.h"\r
-\r
-\r
-/* my private tap controller state, which tracks state for calling code */\r
-static tap_state_t dummy_state = TAP_RESET;\r
-\r
-static int dummy_clock;         /* edge detector */\r
-\r
-static int clock_count;         /* count clocks in any stable state, only stable states */\r
-\r
-static u32 dummy_data;\r
-\r
-\r
-static int dummy_speed(int speed);\r
-static int dummy_register_commands(struct command_context_s *cmd_ctx);\r
-static int dummy_init(void);\r
-static int dummy_quit(void);\r
-static int dummy_khz(int khz, int *jtag_speed);\r
-static int dummy_speed_div(int speed, int *khz);\r
-\r
-\r
-/* The dummy driver is used to easily check the code path\r
- * where the target is unresponsive.\r
- */\r
-jtag_interface_t dummy_interface =\r
-{\r
-       .name = "dummy",\r
-\r
-       .execute_queue = bitbang_execute_queue,\r
-\r
-       .speed = dummy_speed,\r
-       .register_commands = dummy_register_commands,\r
-       .khz = dummy_khz,\r
-       .speed_div = dummy_speed_div,\r
-\r
-       .init = dummy_init,\r
-       .quit = dummy_quit,\r
-};\r
-\r
-static int dummy_read(void);\r
-static void dummy_write(int tck, int tms, int tdi);\r
-static void dummy_reset(int trst, int srst);\r
-static void dummy_led(int on);\r
-\r
-static bitbang_interface_t dummy_bitbang =\r
-{\r
-       .read = dummy_read,\r
-       .write = dummy_write,\r
-       .reset = dummy_reset,\r
-       .blink = dummy_led\r
-};\r
-\r
-static int dummy_read(void)\r
-{\r
-       int data = 1 & dummy_data;\r
-       dummy_data = (dummy_data >> 1) | (1<<31);\r
-       return data;\r
-}\r
-\r
-\r
-static void dummy_write(int tck, int tms, int tdi)\r
-{\r
-       /* TAP standard: "state transitions occur on rising edge of clock" */\r
-       if( tck != dummy_clock )\r
-       {\r
-               if( tck )\r
-               {\r
-                       tap_state_t old_state = dummy_state;\r
-                       dummy_state = tap_state_transition( old_state, tms );\r
-\r
-                       if( old_state != dummy_state )\r
-                       {\r
-                               if( clock_count )\r
-                               {\r
-                                       LOG_DEBUG("dummy_tap: %d stable clocks", clock_count);\r
-                                       clock_count = 0;\r
-                               }\r
-\r
-                               LOG_DEBUG("dummy_tap: %s", tap_state_name(dummy_state) );\r
-\r
-#if defined(DEBUG)\r
-                               if(dummy_state == TAP_DRCAPTURE)\r
-                                       dummy_data = 0x01255043;\r
-#endif\r
-                       }\r
-                       else\r
-                       {\r
-                               /* this is a stable state clock edge, no change of state here,\r
-                                * simply increment clock_count for subsequent logging\r
-                                */\r
-                               ++clock_count;\r
-                       }\r
-               }\r
-               dummy_clock = tck;\r
-       }\r
-}\r
-\r
-static void dummy_reset(int trst, int srst)\r
-{\r
-       dummy_clock = 0;\r
-\r
-       if (trst || (srst && (jtag_reset_config & RESET_SRST_PULLS_TRST)))\r
-               dummy_state = TAP_RESET;\r
-\r
-       LOG_DEBUG("reset to: %s", tap_state_name(dummy_state) );\r
-}\r
-\r
-static int dummy_khz(int khz, int *jtag_speed)\r
-{\r
-       if (khz==0)\r
-       {\r
-               *jtag_speed=0;\r
-       }\r
-       else\r
-       {\r
-               *jtag_speed=64000/khz;\r
-       }\r
-       return ERROR_OK;\r
-}\r
-\r
-static int dummy_speed_div(int speed, int *khz)\r
-{\r
-       if (speed==0)\r
-       {\r
-               *khz = 0;\r
-       }\r
-       else\r
-       {\r
-               *khz=64000/speed;\r
-       }\r
-\r
-       return ERROR_OK;\r
-}\r
-\r
-static int dummy_speed(int speed)\r
-{\r
-       return ERROR_OK;\r
-}\r
-\r
-static int dummy_register_commands(struct command_context_s *cmd_ctx)\r
-{\r
-       return ERROR_OK;\r
-}\r
-\r
-static int dummy_init(void)\r
-{\r
-       bitbang_interface = &dummy_bitbang;\r
-\r
-       return ERROR_OK;\r
-}\r
-\r
-static int dummy_quit(void)\r
-{\r
-       return ERROR_OK;\r
-}\r
-\r
-static void dummy_led(int on)\r
-{\r
-}\r
-\r
+/***************************************************************************
+ *   Copyright (C) 2008 by Øyvind Harboe                                   *
+ *   oyvind.harboe@zylin.com                                               *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "replacements.h"
+
+#include "jtag.h"
+#include "bitbang.h"
+
+
+/* my private tap controller state, which tracks state for calling code */
+static tap_state_t dummy_state = TAP_RESET;
+
+static int dummy_clock;         /* edge detector */
+
+static int clock_count;         /* count clocks in any stable state, only stable states */
+
+static u32 dummy_data;
+
+
+static int dummy_speed(int speed);
+static int dummy_register_commands(struct command_context_s *cmd_ctx);
+static int dummy_init(void);
+static int dummy_quit(void);
+static int dummy_khz(int khz, int *jtag_speed);
+static int dummy_speed_div(int speed, int *khz);
+
+
+/* The dummy driver is used to easily check the code path
+ * where the target is unresponsive.
+ */
+jtag_interface_t dummy_interface =
+{
+       .name = "dummy",
+
+       .execute_queue = bitbang_execute_queue,
+
+       .speed = dummy_speed,
+       .register_commands = dummy_register_commands,
+       .khz = dummy_khz,
+       .speed_div = dummy_speed_div,
+
+       .init = dummy_init,
+       .quit = dummy_quit,
+};
+
+static int dummy_read(void);
+static void dummy_write(int tck, int tms, int tdi);
+static void dummy_reset(int trst, int srst);
+static void dummy_led(int on);
+
+static bitbang_interface_t dummy_bitbang =
+{
+       .read = dummy_read,
+       .write = dummy_write,
+       .reset = dummy_reset,
+       .blink = dummy_led
+};
+
+static int dummy_read(void)
+{
+       int data = 1 & dummy_data;
+       dummy_data = (dummy_data >> 1) | (1<<31);
+       return data;
+}
+
+
+static void dummy_write(int tck, int tms, int tdi)
+{
+       /* TAP standard: "state transitions occur on rising edge of clock" */
+       if( tck != dummy_clock )
+       {
+               if( tck )
+               {
+                       tap_state_t old_state = dummy_state;
+                       dummy_state = tap_state_transition( old_state, tms );
+
+                       if( old_state != dummy_state )
+                       {
+                               if( clock_count )
+                               {
+                                       LOG_DEBUG("dummy_tap: %d stable clocks", clock_count);
+                                       clock_count = 0;
+                               }
+
+                               LOG_DEBUG("dummy_tap: %s", tap_state_name(dummy_state) );
+
+#if defined(DEBUG)
+                               if(dummy_state == TAP_DRCAPTURE)
+                                       dummy_data = 0x01255043;
+#endif
+                       }
+                       else
+                       {
+                               /* this is a stable state clock edge, no change of state here,
+                                * simply increment clock_count for subsequent logging
+                                */
+                               ++clock_count;
+                       }
+               }
+               dummy_clock = tck;
+       }
+}
+
+static void dummy_reset(int trst, int srst)
+{
+       dummy_clock = 0;
+
+       if (trst || (srst && (jtag_reset_config & RESET_SRST_PULLS_TRST)))
+               dummy_state = TAP_RESET;
+
+       LOG_DEBUG("reset to: %s", tap_state_name(dummy_state) );
+}
+
+static int dummy_khz(int khz, int *jtag_speed)
+{
+       if (khz==0)
+       {
+               *jtag_speed=0;
+       }
+       else
+       {
+               *jtag_speed=64000/khz;
+       }
+       return ERROR_OK;
+}
+
+static int dummy_speed_div(int speed, int *khz)
+{
+       if (speed==0)
+       {
+               *khz = 0;
+       }
+       else
+       {
+               *khz=64000/speed;
+       }
+
+       return ERROR_OK;
+}
+
+static int dummy_speed(int speed)
+{
+       return ERROR_OK;
+}
+
+static int dummy_register_commands(struct command_context_s *cmd_ctx)
+{
+       return ERROR_OK;
+}
+
+static int dummy_init(void)
+{
+       bitbang_interface = &dummy_bitbang;
+
+       return ERROR_OK;
+}
+
+static int dummy_quit(void)
+{
+       return ERROR_OK;
+}
+
+static void dummy_led(int on)
+{
+}
+
index 3b8bee3ea50ef0721aa0f9f3ec40ab72d29407d9..721e84cad68a01fea4450d3396e50f0a6d3531ad 100755 (executable)
-import java.io.File;\r
-import java.io.FileOutputStream;\r
-import java.io.IOException;\r
-import java.io.OutputStream;\r
-\r
-import javax.xml.parsers.DocumentBuilder;\r
-import javax.xml.parsers.DocumentBuilderFactory;\r
-import javax.xml.parsers.ParserConfigurationException;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerConfigurationException;\r
-import javax.xml.transform.TransformerException;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.dom.DOMSource;\r
-import javax.xml.transform.stream.StreamResult;\r
-import javax.xml.transform.stream.StreamSource;\r
-\r
-import org.apache.xpath.XPathAPI;\r
-import org.w3c.dom.Document;\r
-import org.w3c.dom.Node;\r
-import org.w3c.dom.NodeList;\r
-import org.xml.sax.SAXException;\r
-\r
-/** used to generate .tcl files from */\r
-public class Stylizer\r
-{\r
-       // Global value so it can be ref'd by the tree-adapter\r
-       static Document document;\r
-       public static void main(String argv[])\r
-       {\r
-               if (argv.length != 3)\r
-               {\r
-                       System.err.println("Usage: java Stylizer stylesheet xmlfile outputdir");\r
-                       System.exit(1);\r
-               }\r
-               DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\r
-               try\r
-               {\r
-                       System.err.println("Starting conversion...");\r
-                       \r
-                       File stylesheet = new File(argv[0]);\r
-                       File datafile = new File(argv[1]);\r
-                       DocumentBuilder builder = factory.newDocumentBuilder();\r
-                       document = builder.parse(datafile);\r
-                       \r
-                       NodeList list = XPathAPI.selectNodeList(document, "website/language/page");\r
-\r
-                       for (int i=0; i<list.getLength(); i++)\r
-                       {\r
-                               Node node=list.item(i);\r
-                               \r
-                               // Use a Transformer for output\r
-                               TransformerFactory tFactory = TransformerFactory.newInstance();\r
-                               StreamSource stylesource = new StreamSource(stylesheet);\r
-                               Transformer transformer = tFactory.newTransformer(stylesource);\r
-                               \r
-                               Node fileName = XPathAPI.selectSingleNode(node, "outfile/text()");\r
-                               \r
-                               System.err.println("Converting " + fileName.getNodeValue());\r
-                               DOMSource source = new DOMSource(document);\r
-                               \r
-                               OutputStream output=new FileOutputStream(new File(argv[2], fileName.getNodeValue()));\r
-                               \r
-                               \r
-                               try\r
-                               {\r
-                                       StreamResult result = new StreamResult(output);\r
-                                       \r
-                                       transformer.setParameter("pagetogenerate", fileName.getNodeValue());\r
-                                       transformer.transform(source, result);\r
-                               } \r
-                               finally\r
-                               {\r
-                                       output.close();\r
-                               }\r
-                       }\r
-               } catch (TransformerConfigurationException tce)\r
-               {\r
-                       // Error generated by the parser\r
-                       System.out.println("\n** Transformer Factory error");\r
-                       System.out.println("   " + tce.getMessage());\r
-                       // Use the contained exception, if any\r
-                       Throwable x = tce;\r
-                       if (tce.getException() != null)\r
-                               x = tce.getException();\r
-                       x.printStackTrace();\r
-               } catch (TransformerException te)\r
-               {\r
-                       // Error generated by the parser\r
-                       System.out.println("\n** Transformation error");\r
-                       System.out.println("   " + te.getMessage());\r
-                       // Use the contained exception, if any\r
-                       Throwable x = te;\r
-                       if (te.getException() != null)\r
-                               x = te.getException();\r
-                       x.printStackTrace();\r
-               } catch (SAXException sxe)\r
-               {\r
-                       // Error generated by this application\r
-                       // (or a parser-initialization error)\r
-                       Exception x = sxe;\r
-                       if (sxe.getException() != null)\r
-                               x = sxe.getException();\r
-                       x.printStackTrace();\r
-               } catch (ParserConfigurationException pce)\r
-               {\r
-                       // Parser with specified options can't be built\r
-                       pce.printStackTrace();\r
-               } catch (IOException ioe)\r
-               {\r
-                       // I/O error\r
-                       ioe.printStackTrace();\r
-               }\r
-       } // main\r
-}\r
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import org.apache.xpath.XPathAPI;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+/** used to generate .tcl files from */
+public class Stylizer
+{
+       // Global value so it can be ref'd by the tree-adapter
+       static Document document;
+       public static void main(String argv[])
+       {
+               if (argv.length != 3)
+               {
+                       System.err.println("Usage: java Stylizer stylesheet xmlfile outputdir");
+                       System.exit(1);
+               }
+               DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+               try
+               {
+                       System.err.println("Starting conversion...");
+                       
+                       File stylesheet = new File(argv[0]);
+                       File datafile = new File(argv[1]);
+                       DocumentBuilder builder = factory.newDocumentBuilder();
+                       document = builder.parse(datafile);
+                       
+                       NodeList list = XPathAPI.selectNodeList(document, "website/language/page");
+
+                       for (int i=0; i<list.getLength(); i++)
+                       {
+                               Node node=list.item(i);
+                               
+                               // Use a Transformer for output
+                               TransformerFactory tFactory = TransformerFactory.newInstance();
+                               StreamSource stylesource = new StreamSource(stylesheet);
+                               Transformer transformer = tFactory.newTransformer(stylesource);
+                               
+                               Node fileName = XPathAPI.selectSingleNode(node, "outfile/text()");
+                               
+                               System.err.println("Converting " + fileName.getNodeValue());
+                               DOMSource source = new DOMSource(document);
+                               
+                               OutputStream output=new FileOutputStream(new File(argv[2], fileName.getNodeValue()));
+                               
+                               
+                               try
+                               {
+                                       StreamResult result = new StreamResult(output);
+                                       
+                                       transformer.setParameter("pagetogenerate", fileName.getNodeValue());
+                                       transformer.transform(source, result);
+                               } 
+                               finally
+                               {
+                                       output.close();
+                               }
+                       }
+               } catch (TransformerConfigurationException tce)
+               {
+                       // Error generated by the parser
+                       System.out.println("\n** Transformer Factory error");
+                       System.out.println("   " + tce.getMessage());
+                       // Use the contained exception, if any
+                       Throwable x = tce;
+                       if (tce.getException() != null)
+                               x = tce.getException();
+                       x.printStackTrace();
+               } catch (TransformerException te)
+               {
+                       // Error generated by the parser
+                       System.out.println("\n** Transformation error");
+                       System.out.println("   " + te.getMessage());
+                       // Use the contained exception, if any
+                       Throwable x = te;
+                       if (te.getException() != null)
+                               x = te.getException();
+                       x.printStackTrace();
+               } catch (SAXException sxe)
+               {
+                       // Error generated by this application
+                       // (or a parser-initialization error)
+                       Exception x = sxe;
+                       if (sxe.getException() != null)
+                               x = sxe.getException();
+                       x.printStackTrace();
+               } catch (ParserConfigurationException pce)
+               {
+                       // Parser with specified options can't be built
+                       pce.printStackTrace();
+               } catch (IOException ioe)
+               {
+                       // I/O error
+                       ioe.printStackTrace();
+               }
+       } // main
+}
index 978726d865e40d2f02b0026addf7b1fae8196b47..964542c95658a0bdc6e5a85db431f081aa74132e 100644 (file)
@@ -1,42 +1,42 @@
-# for avr\r
-\r
-   set  _CHIPNAME avr\r
-   set  _ENDIAN little\r
-\r
-# jtag speed\r
-jtag_khz 4500\r
-\r
-reset_config  srst_only\r
-jtag_nsrst_delay 100\r
-\r
-#jtag scan chain\r
-if { [info exists CPUTAPID ] } {\r
-   set _CPUTAPID $CPUTAPID\r
-} else {\r
-   set _CPUTAPID 0x8970203F\r
-}\r
-jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID\r
-\r
-set _TARGETNAME [format "%s.cpu" $_CHIPNAME]\r
-target create $_TARGETNAME avr -endian $_ENDIAN -chain-position $_TARGETNAME\r
-\r
-#$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 -work-area-size 16384 -work-area-backup 0\r
-\r
-flash bank avr 0 0 0 0 0\r
-\r
-#to use it, script will be like:\r
-#init\r
-#jtag_khz 4500\r
-#reset init\r
-#verify_ircapture disable\r
-#\r
-#halt\r
-#wait halt\r
-#poll\r
-#avr mass_erase 0\r
-#flash write_image E:/Versaloon/Software/CAMERAPROTOCOLAGENT.hex\r
-#reset run\r
-#shutdown\r
-#\r
-# For more information about the configuration files, take a look at:\r
-# openocd.texi\r
+# for avr
+
+   set  _CHIPNAME avr
+   set  _ENDIAN little
+
+# jtag speed
+jtag_khz 4500
+
+reset_config  srst_only
+jtag_nsrst_delay 100
+
+#jtag scan chain
+if { [info exists CPUTAPID ] } {
+   set _CPUTAPID $CPUTAPID
+} else {
+   set _CPUTAPID 0x8970203F
+}
+jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
+
+set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
+target create $_TARGETNAME avr -endian $_ENDIAN -chain-position $_TARGETNAME
+
+#$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 -work-area-size 16384 -work-area-backup 0
+
+flash bank avr 0 0 0 0 0
+
+#to use it, script will be like:
+#init
+#jtag_khz 4500
+#reset init
+#verify_ircapture disable
+#
+#halt
+#wait halt
+#poll
+#avr mass_erase 0
+#flash write_image E:/Versaloon/Software/CAMERAPROTOCOLAGENT.hex
+#reset run
+#shutdown
+#
+# For more information about the configuration files, take a look at:
+# openocd.texi
index 523cb208dc54e1a67d706d761d1707b218f6c043..9d9f24d16ecf3bbb8a9f640917a16986caef0be3 100644 (file)
@@ -1,32 +1,32 @@
-target remote localhost:3333\r
-monitor reset\r
-monitor sleep 500\r
-monitor poll\r
-monitor soft_reset_halt\r
-monitor arm7_9 sw_bkpts enable\r
-\r
-# WDT_MR, disable watchdog \r
-monitor mww 0xFFFFFD44 0x00008000\r
-\r
-# RSTC_MR, enable user reset\r
-monitor mww 0xfffffd08 0xa5000001\r
-\r
-# CKGR_MOR\r
-monitor mww 0xFFFFFC20 0x00000601\r
-monitor sleep 10\r
-\r
-# CKGR_PLLR\r
-monitor mww 0xFFFFFC2C 0x00481c0e\r
-monitor sleep 10\r
-\r
-# PMC_MCKR\r
-monitor mww 0xFFFFFC30 0x00000007\r
-monitor sleep 10\r
-\r
-# PMC_IER\r
-monitor mww 0xFFFFFF60 0x00480100\r
-monitor sleep 100\r
-\r
-load\r
-break main\r
-continue\r
+target remote localhost:3333
+monitor reset
+monitor sleep 500
+monitor poll
+monitor soft_reset_halt
+monitor arm7_9 sw_bkpts enable
+
+# WDT_MR, disable watchdog 
+monitor mww 0xFFFFFD44 0x00008000
+
+# RSTC_MR, enable user reset
+monitor mww 0xfffffd08 0xa5000001
+
+# CKGR_MOR
+monitor mww 0xFFFFFC20 0x00000601
+monitor sleep 10
+
+# CKGR_PLLR
+monitor mww 0xFFFFFC2C 0x00481c0e
+monitor sleep 10
+
+# PMC_MCKR
+monitor mww 0xFFFFFC30 0x00000007
+monitor sleep 10
+
+# PMC_IER
+monitor mww 0xFFFFFF60 0x00480100
+monitor sleep 100
+
+load
+break main
+continue
index 3aabf849aa85c31da050096252a544b3b59bbab7..db2a4643d68d3def5f993d081c337d4e084f343d 100644 (file)
@@ -1,32 +1,32 @@
-target remote localhost:3333\r
-monitor reset\r
-monitor sleep 500\r
-monitor poll\r
-monitor soft_reset_halt\r
-monitor arm7_9 force_hw_bkpts enable\r
-\r
-# WDT_MR, disable watchdog \r
-monitor mww 0xFFFFFD44 0x00008000\r
-\r
-# RSTC_MR, enable user reset\r
-monitor mww 0xfffffd08 0xa5000001\r
-\r
-# CKGR_MOR\r
-monitor mww 0xFFFFFC20 0x00000601\r
-monitor sleep 10\r
-\r
-# CKGR_PLLR\r
-monitor mww 0xFFFFFC2C 0x00481c0e\r
-monitor sleep 10\r
-\r
-# PMC_MCKR\r
-monitor mww 0xFFFFFC30 0x00000007\r
-monitor sleep 10\r
-\r
-# PMC_IER\r
-monitor mww 0xFFFFFF60 0x00480100\r
-monitor sleep 100\r
-\r
-load\r
-break main\r
-continue\r
+target remote localhost:3333
+monitor reset
+monitor sleep 500
+monitor poll
+monitor soft_reset_halt
+monitor arm7_9 force_hw_bkpts enable
+
+# WDT_MR, disable watchdog 
+monitor mww 0xFFFFFD44 0x00008000
+
+# RSTC_MR, enable user reset
+monitor mww 0xfffffd08 0xa5000001
+
+# CKGR_MOR
+monitor mww 0xFFFFFC20 0x00000601
+monitor sleep 10
+
+# CKGR_PLLR
+monitor mww 0xFFFFFC2C 0x00481c0e
+monitor sleep 10
+
+# PMC_MCKR
+monitor mww 0xFFFFFC30 0x00000007
+monitor sleep 10
+
+# PMC_IER
+monitor mww 0xFFFFFF60 0x00480100
+monitor sleep 100
+
+load
+break main
+continue
index 425505f7085e897f971dbf1ea4ddb9175421bcf9..17e271647d9e1078d0e80aab75c3efaee1378e92 100644 (file)
@@ -1,40 +1,40 @@
-#daemon configuration\r
-telnet_port 4444\r
-gdb_port 3333\r
-\r
-# tell gdb our flash memory map\r
-# and enable flash programming\r
-gdb_memory_map enable\r
-gdb_flash_program enable\r
-\r
-#interface\r
-interface ft2232\r
-ft2232_device_desc "Amontec JTAGkey A"\r
-ft2232_layout jtagkey\r
-ft2232_vid_pid 0x0403 0xcff8\r
-jtag_speed 0\r
-jtag_nsrst_delay 200\r
-jtag_ntrst_delay 200\r
-\r
-\r
-#use combined on interfaces or targets that can't set TRST/SRST separately\r
-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
-jtag_device 4 0x1 0xf 0xe\r
-\r
-#target configuration\r
-target create target0 arm7tdmi -endian little -chain-position 0 -variant arm7tdmi\r
-[new_target_name] configure -work-area-virt 0 -work-area-phys 0x00200000 -work-area-size 0x4000 -work-area-backup false\r
-\r
-target_script 0 reset .\prj\sam7x256_reset.script\r
-\r
-#flash bank <driver> <base> <size> <chip_width> <bus_width>\r
-flash bank at91sam7 0 0 0 0 0\r
-\r
-# For more information about the configuration files, take a look at:\r
-# http://openfacts.berlios.de/index-en.phtml?title=Open+On-Chip+Debugger\r
-\r
-init\r
-reset halt\r
+#daemon configuration
+telnet_port 4444
+gdb_port 3333
+
+# tell gdb our flash memory map
+# and enable flash programming
+gdb_memory_map enable
+gdb_flash_program enable
+
+#interface
+interface ft2232
+ft2232_device_desc "Amontec JTAGkey A"
+ft2232_layout jtagkey
+ft2232_vid_pid 0x0403 0xcff8
+jtag_speed 0
+jtag_nsrst_delay 200
+jtag_ntrst_delay 200
+
+
+#use combined on interfaces or targets that can't set TRST/SRST separately
+reset_config srst_only srst_pulls_trst
+
+#jtag scan chain
+#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
+jtag_device 4 0x1 0xf 0xe
+
+#target configuration
+target create target0 arm7tdmi -endian little -chain-position 0 -variant arm7tdmi
+[new_target_name] configure -work-area-virt 0 -work-area-phys 0x00200000 -work-area-size 0x4000 -work-area-backup false
+
+target_script 0 reset .\prj\sam7x256_reset.script
+
+#flash bank <driver> <base> <size> <chip_width> <bus_width>
+flash bank at91sam7 0 0 0 0 0
+
+# For more information about the configuration files, take a look at:
+# http://openfacts.berlios.de/index-en.phtml?title=Open+On-Chip+Debugger
+
+init
+reset halt
index 9fc35c8665ae1fc08d0a92efa535f017997d6238..1b857c99f8715fac52e79610b0f49e4373b64149 100644 (file)
-/****************************************************************************\r
-*  Copyright (c) 2006 by Michael Fischer. All rights reserved.\r
-*\r
-*  Redistribution and use in source and binary forms, with or without \r
-*  modification, are permitted provided that the following conditions \r
-*  are met:\r
-*  \r
-*  1. Redistributions of source code must retain the above copyright \r
-*     notice, this list of conditions and the following disclaimer.\r
-*  2. Redistributions in binary form must reproduce the above copyright\r
-*     notice, this list of conditions and the following disclaimer in the \r
-*     documentation and/or other materials provided with the distribution.\r
-*  3. Neither the name of the author nor the names of its contributors may \r
-*     be used to endorse or promote products derived from this software \r
-*     without specific prior written permission.\r
-*\r
-*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \r
-*  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \r
-*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS \r
-*  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL \r
-*  THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, \r
-*  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, \r
-*  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS \r
-*  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED \r
-*  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, \r
-*  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF \r
-*  THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \r
-*  SUCH DAMAGE.\r
-*\r
-****************************************************************************\r
-*\r
-*  History:\r
-*\r
-*  30.03.06  mifi   First Version\r
-****************************************************************************/\r
-\r
-\r
-ENTRY(ResetHandler)\r
-SEARCH_DIR(.)\r
-\r
-/*\r
- * Define stack size here\r
- */\r
-FIQ_STACK_SIZE = 0x0100;\r
-IRQ_STACK_SIZE = 0x0100;\r
-ABT_STACK_SIZE = 0x0100;\r
-UND_STACK_SIZE = 0x0100;\r
-SVC_STACK_SIZE = 0x0400;\r
-\r
-\r
-MEMORY\r
-{\r
-  ram : org = 0x00200000, len = 64k\r
-}\r
-\r
-/*\r
- * Do not change the next code\r
- */\r
-SECTIONS\r
-{\r
-  .text :\r
-  {\r
-    *(.vectors);\r
-    . = ALIGN(4);\r
-    *(.init);\r
-    . = ALIGN(4);\r
-    *(.text);\r
-    . = ALIGN(4);\r
-    *(.rodata);\r
-    . = ALIGN(4);\r
-    *(.rodata*);\r
-    . = ALIGN(4);\r
-    *(.glue_7t);\r
-    . = ALIGN(4);\r
-    *(.glue_7);\r
-    . = ALIGN(4);\r
-    etext = .;\r
-  } > ram\r
-\r
-  .data :\r
-  {\r
-    PROVIDE (__data_start = .);\r
-    *(.data)\r
-    . = ALIGN(4);\r
-    edata = .;\r
-    _edata = .;\r
-    PROVIDE (__data_end = .);\r
-  } > ram\r
-\r
-  .bss :\r
-  {\r
-    PROVIDE (__bss_start = .);\r
-    *(.bss)\r
-    *(COMMON)\r
-    . = ALIGN(4);\r
-    PROVIDE (__bss_end = .);\r
-    \r
-    . = ALIGN(256);\r
-    \r
-    PROVIDE (__stack_start = .);\r
-    \r
-    PROVIDE (__stack_fiq_start = .);\r
-    . += FIQ_STACK_SIZE;\r
-    . = ALIGN(4);\r
-    PROVIDE (__stack_fiq_end = .);\r
-\r
-    PROVIDE (__stack_irq_start = .);\r
-    . += IRQ_STACK_SIZE;\r
-    . = ALIGN(4);\r
-    PROVIDE (__stack_irq_end = .);\r
-\r
-    PROVIDE (__stack_abt_start = .);\r
-    . += ABT_STACK_SIZE;\r
-    . = ALIGN(4);\r
-    PROVIDE (__stack_abt_end = .);\r
-\r
-    PROVIDE (__stack_und_start = .);\r
-    . += UND_STACK_SIZE;\r
-    . = ALIGN(4);\r
-    PROVIDE (__stack_und_end = .);\r
-\r
-    PROVIDE (__stack_svc_start = .);\r
-    . += SVC_STACK_SIZE;\r
-    . = ALIGN(4);\r
-    PROVIDE (__stack_svc_end = .);\r
-    PROVIDE (__stack_end = .);\r
-    PROVIDE (__heap_start = .);   \r
-  } > ram\r
-    \r
-}\r
-/*** EOF ***/\r
-\r
+/****************************************************************************
+*  Copyright (c) 2006 by Michael Fischer. All rights reserved.
+*
+*  Redistribution and use in source and binary forms, with or without 
+*  modification, are permitted provided that the following conditions 
+*  are met:
+*  
+*  1. Redistributions of source code must retain the above copyright 
+*     notice, this list of conditions and the following disclaimer.
+*  2. Redistributions in binary form must reproduce the above copyright
+*     notice, this list of conditions and the following disclaimer in the 
+*     documentation and/or other materials provided with the distribution.
+*  3. Neither the name of the author nor the names of its contributors may 
+*     be used to endorse or promote products derived from this software 
+*     without specific prior written permission.
+*
+*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+*  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
+*  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 
+*  THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
+*  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+*  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 
+*  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
+*  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
+*  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 
+*  THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+*  SUCH DAMAGE.
+*
+****************************************************************************
+*
+*  History:
+*
+*  30.03.06  mifi   First Version
+****************************************************************************/
+
+
+ENTRY(ResetHandler)
+SEARCH_DIR(.)
+
+/*
+ * Define stack size here
+ */
+FIQ_STACK_SIZE = 0x0100;
+IRQ_STACK_SIZE = 0x0100;
+ABT_STACK_SIZE = 0x0100;
+UND_STACK_SIZE = 0x0100;
+SVC_STACK_SIZE = 0x0400;
+
+
+MEMORY
+{
+  ram : org = 0x00200000, len = 64k
+}
+
+/*
+ * Do not change the next code
+ */
+SECTIONS
+{
+  .text :
+  {
+    *(.vectors);
+    . = ALIGN(4);
+    *(.init);
+    . = ALIGN(4);
+    *(.text);
+    . = ALIGN(4);
+    *(.rodata);
+    . = ALIGN(4);
+    *(.rodata*);
+    . = ALIGN(4);
+    *(.glue_7t);
+    . = ALIGN(4);
+    *(.glue_7);
+    . = ALIGN(4);
+    etext = .;
+  } > ram
+
+  .data :
+  {
+    PROVIDE (__data_start = .);
+    *(.data)
+    . = ALIGN(4);
+    edata = .;
+    _edata = .;
+    PROVIDE (__data_end = .);
+  } > ram
+
+  .bss :
+  {
+    PROVIDE (__bss_start = .);
+    *(.bss)
+    *(COMMON)
+    . = ALIGN(4);
+    PROVIDE (__bss_end = .);
+    
+    . = ALIGN(256);
+    
+    PROVIDE (__stack_start = .);
+    
+    PROVIDE (__stack_fiq_start = .);
+    . += FIQ_STACK_SIZE;
+    . = ALIGN(4);
+    PROVIDE (__stack_fiq_end = .);
+
+    PROVIDE (__stack_irq_start = .);
+    . += IRQ_STACK_SIZE;
+    . = ALIGN(4);
+    PROVIDE (__stack_irq_end = .);
+
+    PROVIDE (__stack_abt_start = .);
+    . += ABT_STACK_SIZE;
+    . = ALIGN(4);
+    PROVIDE (__stack_abt_end = .);
+
+    PROVIDE (__stack_und_start = .);
+    . += UND_STACK_SIZE;
+    . = ALIGN(4);
+    PROVIDE (__stack_und_end = .);
+
+    PROVIDE (__stack_svc_start = .);
+    . += SVC_STACK_SIZE;
+    . = ALIGN(4);
+    PROVIDE (__stack_svc_end = .);
+    PROVIDE (__stack_end = .);
+    PROVIDE (__heap_start = .);   
+  } > ram
+    
+}
+/*** EOF ***/
+
index ff609b01ed7d94cd99e46e247366086fbce9f29b..456341d6087e1989a87933f07477fd75a3e95e70 100644 (file)
@@ -1,17 +1,17 @@
-#\r
-# Init - taken form the script openocd_at91sam7_ecr.script \r
-#\r
-# I take this script from the following page:\r
-#\r
-# http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/openocd_intro/index.html\r
-#\r
-mww 0xfffffd44 0x00008000      # disable watchdog\r
-mww 0xfffffd08 0xa5000001      # enable user reset\r
-mww 0xfffffc20 0x00000601      # CKGR_MOR : enable the main oscillator\r
-sleep 10\r
-mww 0xfffffc2c 0x00481c0e      # CKGR_PLLR: 96.1097 MHz\r
-sleep 10\r
-mww 0xfffffc30 0x00000007      # PMC_MCKR : MCK = PLL / 2 ~= 48 MHz\r
-sleep 10\r
-mww 0xffffff60 0x003c0100      # MC_FMR: flash mode (FWS=1,FMCN=60)\r
-sleep 100\r
+#
+# Init - taken form the script openocd_at91sam7_ecr.script 
+#
+# I take this script from the following page:
+#
+# http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/openocd_intro/index.html
+#
+mww 0xfffffd44 0x00008000      # disable watchdog
+mww 0xfffffd08 0xa5000001      # enable user reset
+mww 0xfffffc20 0x00000601      # CKGR_MOR : enable the main oscillator
+sleep 10
+mww 0xfffffc2c 0x00481c0e      # CKGR_PLLR: 96.1097 MHz
+sleep 10
+mww 0xfffffc30 0x00000007      # PMC_MCKR : MCK = PLL / 2 ~= 48 MHz
+sleep 10
+mww 0xffffff60 0x003c0100      # MC_FMR: flash mode (FWS=1,FMCN=60)
+sleep 100
index e38746c2c74805d1c76a3c59202fdb430dfde860..b64854acd6d66dcb042f95f91e07e38c5d5d6b92 100644 (file)
-/****************************************************************************\r
-*  Copyright (c) 2006 by Michael Fischer. All rights reserved.\r
-*\r
-*  Redistribution and use in source and binary forms, with or without \r
-*  modification, are permitted provided that the following conditions \r
-*  are met:\r
-*  \r
-*  1. Redistributions of source code must retain the above copyright \r
-*     notice, this list of conditions and the following disclaimer.\r
-*  2. Redistributions in binary form must reproduce the above copyright\r
-*     notice, this list of conditions and the following disclaimer in the \r
-*     documentation and/or other materials provided with the distribution.\r
-*  3. Neither the name of the author nor the names of its contributors may \r
-*     be used to endorse or promote products derived from this software \r
-*     without specific prior written permission.\r
-*\r
-*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \r
-*  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \r
-*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS \r
-*  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL \r
-*  THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, \r
-*  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, \r
-*  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS \r
-*  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED \r
-*  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, \r
-*  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF \r
-*  THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \r
-*  SUCH DAMAGE.\r
-*\r
-****************************************************************************\r
-*\r
-*  History:\r
-*\r
-*  26.01.08  mifi   First Version\r
-****************************************************************************/\r
-\r
-\r
-ENTRY(ResetHandler)\r
-SEARCH_DIR(.)\r
-\r
-/*\r
- * Define stack size here\r
- */\r
-FIQ_STACK_SIZE = 0x0100;\r
-IRQ_STACK_SIZE = 0x0100;\r
-ABT_STACK_SIZE = 0x0100;\r
-UND_STACK_SIZE = 0x0100;\r
-SVC_STACK_SIZE = 0x0400;\r
-\r
-\r
-MEMORY\r
-{\r
-  rom : org = 0x00100000, len = 256k\r
-  ram : org = 0x00200000, len = 64k\r
-}\r
-\r
-/*\r
- * Do not change the next code\r
- */\r
-SECTIONS\r
-{\r
-  .text :\r
-  {\r
-    *(.vectors);\r
-    . = ALIGN(4);\r
-    *(.init);\r
-    . = ALIGN(4);\r
-    *(.text);\r
-    . = ALIGN(4);\r
-    *(.rodata);\r
-    . = ALIGN(4);\r
-    *(.rodata*);\r
-    . = ALIGN(4);\r
-    *(.glue_7t);\r
-    . = ALIGN(4);\r
-    *(.glue_7);\r
-    . = ALIGN(4);\r
-    etext = .;\r
-  } > rom\r
-\r
-  .data :\r
-  {\r
-    PROVIDE (__data_start = .);\r
-    *(.data)\r
-    . = ALIGN(4);\r
-    edata = .;\r
-    _edata = .;\r
-    PROVIDE (__data_end = .);\r
-  } > ram\r
-\r
-  .bss :\r
-  {\r
-    PROVIDE (__bss_start = .);\r
-    *(.bss)\r
-    *(COMMON)\r
-    . = ALIGN(4);\r
-    PROVIDE (__bss_end = .);\r
-    \r
-    . = ALIGN(256);\r
-    \r
-    PROVIDE (__stack_start = .);\r
-    \r
-    PROVIDE (__stack_fiq_start = .);\r
-    . += FIQ_STACK_SIZE;\r
-    . = ALIGN(4);\r
-    PROVIDE (__stack_fiq_end = .);\r
-\r
-    PROVIDE (__stack_irq_start = .);\r
-    . += IRQ_STACK_SIZE;\r
-    . = ALIGN(4);\r
-    PROVIDE (__stack_irq_end = .);\r
-\r
-    PROVIDE (__stack_abt_start = .);\r
-    . += ABT_STACK_SIZE;\r
-    . = ALIGN(4);\r
-    PROVIDE (__stack_abt_end = .);\r
-\r
-    PROVIDE (__stack_und_start = .);\r
-    . += UND_STACK_SIZE;\r
-    . = ALIGN(4);\r
-    PROVIDE (__stack_und_end = .);\r
-\r
-    PROVIDE (__stack_svc_start = .);\r
-    . += SVC_STACK_SIZE;\r
-    . = ALIGN(4);\r
-    PROVIDE (__stack_svc_end = .);\r
-    PROVIDE (__stack_end = .);\r
-    PROVIDE (__heap_start = .);   \r
-  } > ram\r
-    \r
-}\r
-/*** EOF ***/\r
-\r
+/****************************************************************************
+*  Copyright (c) 2006 by Michael Fischer. All rights reserved.
+*
+*  Redistribution and use in source and binary forms, with or without 
+*  modification, are permitted provided that the following conditions 
+*  are met:
+*  
+*  1. Redistributions of source code must retain the above copyright 
+*     notice, this list of conditions and the following disclaimer.
+*  2. Redistributions in binary form must reproduce the above copyright
+*     notice, this list of conditions and the following disclaimer in the 
+*     documentation and/or other materials provided with the distribution.
+*  3. Neither the name of the author nor the names of its contributors may 
+*     be used to endorse or promote products derived from this software 
+*     without specific prior written permission.
+*
+*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+*  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
+*  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 
+*  THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
+*  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+*  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 
+*  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
+*  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
+*  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 
+*  THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+*  SUCH DAMAGE.
+*
+****************************************************************************
+*
+*  History:
+*
+*  26.01.08  mifi   First Version
+****************************************************************************/
+
+
+ENTRY(ResetHandler)
+SEARCH_DIR(.)
+
+/*
+ * Define stack size here
+ */
+FIQ_STACK_SIZE = 0x0100;
+IRQ_STACK_SIZE = 0x0100;
+ABT_STACK_SIZE = 0x0100;
+UND_STACK_SIZE = 0x0100;
+SVC_STACK_SIZE = 0x0400;
+
+
+MEMORY
+{
+  rom : org = 0x00100000, len = 256k
+  ram : org = 0x00200000, len = 64k
+}
+
+/*
+ * Do not change the next code
+ */
+SECTIONS
+{
+  .text :
+  {
+    *(.vectors);
+    . = ALIGN(4);
+    *(.init);
+    . = ALIGN(4);
+    *(.text);
+    . = ALIGN(4);
+    *(.rodata);
+    . = ALIGN(4);
+    *(.rodata*);
+    . = ALIGN(4);
+    *(.glue_7t);
+    . = ALIGN(4);
+    *(.glue_7);
+    . = ALIGN(4);
+    etext = .;
+  } > rom
+
+  .data :
+  {
+    PROVIDE (__data_start = .);
+    *(.data)
+    . = ALIGN(4);
+    edata = .;
+    _edata = .;
+    PROVIDE (__data_end = .);
+  } > ram
+
+  .bss :
+  {
+    PROVIDE (__bss_start = .);
+    *(.bss)
+    *(COMMON)
+    . = ALIGN(4);
+    PROVIDE (__bss_end = .);
+    
+    . = ALIGN(256);
+    
+    PROVIDE (__stack_start = .);
+    
+    PROVIDE (__stack_fiq_start = .);
+    . += FIQ_STACK_SIZE;
+    . = ALIGN(4);
+    PROVIDE (__stack_fiq_end = .);
+
+    PROVIDE (__stack_irq_start = .);
+    . += IRQ_STACK_SIZE;
+    . = ALIGN(4);
+    PROVIDE (__stack_irq_end = .);
+
+    PROVIDE (__stack_abt_start = .);
+    . += ABT_STACK_SIZE;
+    . = ALIGN(4);
+    PROVIDE (__stack_abt_end = .);
+
+    PROVIDE (__stack_und_start = .);
+    . += UND_STACK_SIZE;
+    . = ALIGN(4);
+    PROVIDE (__stack_und_end = .);
+
+    PROVIDE (__stack_svc_start = .);
+    . += SVC_STACK_SIZE;
+    . = ALIGN(4);
+    PROVIDE (__stack_svc_end = .);
+    PROVIDE (__stack_end = .);
+    PROVIDE (__heap_start = .);   
+  } > ram
+    
+}
+/*** EOF ***/
+
index 0ad6a3c5f24a595ccf31b14592b09fe2bca87e65..39b080dd61a80e0564022191d66edf7fc57ed46c 100644 (file)
@@ -1,6 +1,6 @@
-Olimex STM32-p103 board.\r
-\r
-main.elf is a file that can be programmed to flash for\r
-testing purposes(e.g. test GDB load performance).\r
-\r
+Olimex STM32-p103 board.
+
+main.elf is a file that can be programmed to flash for
+testing purposes(e.g. test GDB load performance).
+
 http://www.olimex.com/dev/stm32-p103.html
\ No newline at end of file

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)