]> git.sur5r.net Git - openocd/commitdiff
- updated svn:eol-style prop to native
authorntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sat, 1 Mar 2008 16:26:48 +0000 (16:26 +0000)
committerntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sat, 1 Mar 2008 16:26:48 +0000 (16:26 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@418 b42882b7-edfa-0310-969c-e2dbd0fdcd60

22 files changed:
testing/examples/LPC2148Test/prj/eclipse_ram.gdb
testing/examples/LPC2148Test/prj/eclipse_rom.gdb
testing/examples/LPC2148Test/prj/lpc2148_jtagkey.cfg
testing/examples/LPC2148Test/prj/lpc2148_ram.ld
testing/examples/LPC2148Test/prj/lpc2148_rom.ld
testing/examples/LPC2294Test/prj/eclipse_ram.gdb
testing/examples/LPC2294Test/prj/eclipse_rom.gdb
testing/examples/LPC2294Test/prj/lpc2294_jtagkey.cfg
testing/examples/LPC2294Test/prj/lpc2294_ram.ld
testing/examples/LPC2294Test/prj/lpc2294_rom.ld
testing/examples/SAM7S256Test/prj/eclipse_ram.gdb
testing/examples/SAM7S256Test/prj/eclipse_rom.gdb
testing/examples/SAM7S256Test/prj/sam7s256_jtagkey.cfg
testing/examples/SAM7S256Test/prj/sam7s256_ram.ld
testing/examples/SAM7S256Test/prj/sam7s256_reset.script
testing/examples/SAM7S256Test/prj/sam7s256_rom.ld
testing/examples/STR912Test/prj/eclipse_ram.gdb
testing/examples/STR912Test/prj/eclipse_rom.gdb
testing/examples/STR912Test/prj/str912_jtagkey.cfg
testing/examples/STR912Test/prj/str912_program.script
testing/examples/STR912Test/prj/str912_ram.ld
testing/examples/STR912Test/prj/str912_rom.ld

index 48796ae4cb727da6b0555cb4f766520f4ef87fd3..4f423124d8ad2f7f338e02a15f0ba793e8c7a214 100644 (file)
@@ -1,11 +1,11 @@
-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
-monitor mww 0xE01FC040 0x0002\r
-monitor mdw 0xE01FC040\r
-load\r
-break main\r
+target remote localhost:3333
+monitor reset
+monitor sleep 500
+monitor poll
+monitor soft_reset_halt
+monitor arm7_9 sw_bkpts enable
+monitor mww 0xE01FC040 0x0002
+monitor mdw 0xE01FC040
+load
+break main
 continue
\ No newline at end of file
index bbaf76b5d361a806a1b044a6316fc4247ccb243c..86780056d11e91e03e8909c392c3d635c3aca212 100644 (file)
@@ -1,11 +1,11 @@
-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
-monitor mww 0xE01FC040 0x0002\r
-monitor mdw 0xE01FC040\r
-load\r
-break main\r
+target remote localhost:3333
+monitor reset
+monitor sleep 500
+monitor poll
+monitor soft_reset_halt
+monitor arm7_9 force_hw_bkpts enable
+monitor mww 0xE01FC040 0x0002
+monitor mdw 0xE01FC040
+load
+break main
 continue
\ No newline at end of file
index 85b09e0c1e3b2e8bbb4f85d102ce856ac36ee1e5..842687f3e416e44de701ebd72b712b1e628decc6 100644 (file)
@@ -1,38 +1,38 @@
-#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 3\r
-\r
-#use combined on interfaces or targets that can't set TRST/SRST separately\r
-reset_config trst_and_srst 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
-daemon_startup reset\r
-\r
-#target <type> <startup mode>\r
-#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>\r
-target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4\r
-run_and_halt_time 0 30\r
-\r
-working_area 0 0x40000000 0x4000 nobackup\r
-\r
-#flash bank lpc2000 <base> <size> 0 0 <target#> <variant>\r
-flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765 calc_checksum\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
+#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 3
+
+#use combined on interfaces or targets that can't set TRST/SRST separately
+reset_config trst_and_srst 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
+daemon_startup reset
+
+#target <type> <startup mode>
+#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
+target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4
+run_and_halt_time 0 30
+
+working_area 0 0x40000000 0x4000 nobackup
+
+#flash bank lpc2000 <base> <size> 0 0 <target#> <variant>
+flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765 calc_checksum
+
+# For more information about the configuration files, take a look at:
+# http://openfacts.berlios.de/index-en.phtml?title=Open+On-Chip+Debugger
index 04f52471f4c06b4ad6afc34cd22e2d4a9bd2b5a7..b7951342d4fba2ab5491c0a3ccf99150a7770247 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
-*  18.12.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
- * This file, olimex_lpcp2148_ram.ld, locate the program in the internal\r
- * ram of the LPC2148. For more information about the memory of the LPC2148\r
- * take a look in the LPC2141/2142/2144/2146/2148 USER MANUAL.\r
- * Reference is made to the user manual from 25 July 2006 Rev. 02\r
- *\r
- * Take a look at page 8, section 1.Memory maps\r
- */\r
\r
-MEMORY\r
-{\r
-  ram : org = 0x40000000, len = 32k\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:
+*
+*  18.12.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;
+
+/*
+ * This file, olimex_lpcp2148_ram.ld, locate the program in the internal
+ * ram of the LPC2148. For more information about the memory of the LPC2148
+ * take a look in the LPC2141/2142/2144/2146/2148 USER MANUAL.
+ * Reference is made to the user manual from 25 July 2006 Rev. 02
+ *
+ * Take a look at page 8, section 1.Memory maps
+ */
+MEMORY
+{
+  ram : org = 0x40000000, len = 32k
+}
+
+/*
+ * 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 73df37cbe543141791e221d18001a72f950ab21f..5844fffce8a8eadd1ce26c95f52848b86de5c7f5 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
- * This file, olimex_lpcp2148_ram.ld, locate the program in the internal\r
- * ram of the LPC2148. For more information about the memory of the LPC2148\r
- * take a look in the LPC2141/2142/2144/2146/2148 USER MANUAL.\r
- * Reference is made to the user manual from 25 July 2006 Rev. 02\r
- *\r
- * Take a look at page 8, section 1.Memory maps\r
- */\r
\r
-MEMORY\r
-{\r
-  rom : org = 0x00000000, len = 512k   \r
-  ram : org = 0x40000000, len = 32k\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;
+
+/*
+ * This file, olimex_lpcp2148_ram.ld, locate the program in the internal
+ * ram of the LPC2148. For more information about the memory of the LPC2148
+ * take a look in the LPC2141/2142/2144/2146/2148 USER MANUAL.
+ * Reference is made to the user manual from 25 July 2006 Rev. 02
+ *
+ * Take a look at page 8, section 1.Memory maps
+ */
+MEMORY
+{
+  rom : org = 0x00000000, len = 512k   
+  ram : org = 0x40000000, len = 32k
+}
+
+/*
+ * 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 48796ae4cb727da6b0555cb4f766520f4ef87fd3..4f423124d8ad2f7f338e02a15f0ba793e8c7a214 100644 (file)
@@ -1,11 +1,11 @@
-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
-monitor mww 0xE01FC040 0x0002\r
-monitor mdw 0xE01FC040\r
-load\r
-break main\r
+target remote localhost:3333
+monitor reset
+monitor sleep 500
+monitor poll
+monitor soft_reset_halt
+monitor arm7_9 sw_bkpts enable
+monitor mww 0xE01FC040 0x0002
+monitor mdw 0xE01FC040
+load
+break main
 continue
\ No newline at end of file
index bbaf76b5d361a806a1b044a6316fc4247ccb243c..86780056d11e91e03e8909c392c3d635c3aca212 100644 (file)
@@ -1,11 +1,11 @@
-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
-monitor mww 0xE01FC040 0x0002\r
-monitor mdw 0xE01FC040\r
-load\r
-break main\r
+target remote localhost:3333
+monitor reset
+monitor sleep 500
+monitor poll
+monitor soft_reset_halt
+monitor arm7_9 force_hw_bkpts enable
+monitor mww 0xE01FC040 0x0002
+monitor mdw 0xE01FC040
+load
+break main
 continue
\ No newline at end of file
index 9d975099c7c0f50c7aaa20322985f47537a342f3..1afbf1e943723b723802aff68ae028eb04e65f51 100644 (file)
@@ -1,39 +1,39 @@
-#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 3\r
-\r
-#use combined on interfaces or targets that can't set TRST/SRST separately\r
-reset_config trst_and_srst 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
-daemon_startup reset\r
-\r
-#target <type> <startup mode>\r
-#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>\r
-target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4\r
-run_and_halt_time 0 30\r
-\r
-working_area 0 0x40000000 0x4000 nobackup\r
-\r
-#flash configuration\r
-#flash bank lpc2000 <base> <size> 0 0 <target#> <variant>\r
-flash bank lpc2000 0x0 0x40000 0 0 0 lpc2000_v1 14765 calc_checksum\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
+#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 3
+
+#use combined on interfaces or targets that can't set TRST/SRST separately
+reset_config trst_and_srst 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
+daemon_startup reset
+
+#target <type> <startup mode>
+#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
+target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4
+run_and_halt_time 0 30
+
+working_area 0 0x40000000 0x4000 nobackup
+
+#flash configuration
+#flash bank lpc2000 <base> <size> 0 0 <target#> <variant>
+flash bank lpc2000 0x0 0x40000 0 0 0 lpc2000_v1 14765 calc_checksum
+
+# For more information about the configuration files, take a look at:
+# http://openfacts.berlios.de/index-en.phtml?title=Open+On-Chip+Debugger
index ed0db8cf4e4747849341314b902e89fa47b34762..17eaedd87d6bd6bf1fa37d4863ce25af8561b06d 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
-*  31.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
- * This file, olimex_lpce2294_ram.ld, locate the program in the internal\r
- * ram of the LPC2294. For more information about the memory of the LPC2294\r
- * take a look in the LPC2119/2129/2194/2292/2294 USER MANUAL.\r
- * Reference is made to the user manual from 2004 May 03\r
- *\r
- * Take a look at page 48, section 2.Memory Addressing\r
- */\r
\r
-MEMORY\r
-{\r
-  ram : org = 0x40000000, len = 16k\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:
+*
+*  31.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;
+
+/*
+ * This file, olimex_lpce2294_ram.ld, locate the program in the internal
+ * ram of the LPC2294. For more information about the memory of the LPC2294
+ * take a look in the LPC2119/2129/2194/2292/2294 USER MANUAL.
+ * Reference is made to the user manual from 2004 May 03
+ *
+ * Take a look at page 48, section 2.Memory Addressing
+ */
+MEMORY
+{
+  ram : org = 0x40000000, len = 16k
+}
+
+/*
+ * 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 92bac94fd353d2c18391e455b4b47ac8fdd80822..64a28f0c6e6df3da739e8956840140a15ae9cb45 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
-*  31.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
- * This file, olimex_lpce2294_ram.ld, locate the program in the internal\r
- * ram of the LPC2294. For more information about the memory of the LPC2294\r
- * take a look in the LPC2119/2129/2194/2292/2294 USER MANUAL.\r
- * Reference is made to the user manual from 2004 May 03\r
- *\r
- * Take a look at page 48, section 2.Memory Addressing\r
- */\r
\r
-MEMORY\r
-{\r
-  rom : org = 0x00000000, len = 256k\r
-  ram : org = 0x40000000, len = 16k\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:
+*
+*  31.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;
+
+/*
+ * This file, olimex_lpce2294_ram.ld, locate the program in the internal
+ * ram of the LPC2294. For more information about the memory of the LPC2294
+ * take a look in the LPC2119/2129/2194/2292/2294 USER MANUAL.
+ * Reference is made to the user manual from 2004 May 03
+ *
+ * Take a look at page 48, section 2.Memory Addressing
+ */
+MEMORY
+{
+  rom : org = 0x00000000, len = 256k
+  ram : org = 0x40000000, len = 16k
+}
+
+/*
+ * 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 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 e802499c5a0f368e2da1182ed17632716f7020c7..d526dd2492f65f1f42d7abb5fb6b78ee16d7c2b9 100644 (file)
@@ -1,43 +1,43 @@
-#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
-daemon_startup reset\r
-\r
-#target <type> <startup mode>\r
-#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>\r
-target arm7tdmi little run_and_init 0 arm7tdmi\r
-run_and_halt_time 0 30\r
-\r
-target_script 0 reset .\prj\sam7s256_reset.script\r
-\r
-working_area 0 0x00200000 0x4000 nobackup\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
+#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
+daemon_startup reset
+
+#target <type> <startup mode>
+#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
+target arm7tdmi little run_and_init 0 arm7tdmi
+run_and_halt_time 0 30
+
+target_script 0 reset .\prj\sam7s256_reset.script
+
+working_area 0 0x00200000 0x4000 nobackup
+
+#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
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 56a7091fab609b69e510233aec24cb936fe35f3f..00a62d705f5ecfc281238ef9ee4e9404296906e7 100644 (file)
@@ -1,21 +1,21 @@
-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
-# Set SRAM size to 96 KB\r
-monitor mww 0x5C002034 0x0197\r
-monitor mdw 0x5C002034\r
-\r
-# Set Flash, Bank0 size to 512 KB\r
-monitor mww 0x54000000 0xf\r
-\r
-load\r
-break main\r
-continue\r
-\r
-\r
-\r
-\r
+target remote localhost:3333
+monitor reset
+monitor sleep 500
+monitor poll
+monitor soft_reset_halt
+monitor arm7_9 sw_bkpts enable
+
+# Set SRAM size to 96 KB
+monitor mww 0x5C002034 0x0197
+monitor mdw 0x5C002034
+
+# Set Flash, Bank0 size to 512 KB
+monitor mww 0x54000000 0xf
+
+load
+break main
+continue
+
+
+
+
index 87d1abc0f6b3259ff7691d9ac10f0ef4119f3781..58977cfcd8801c91f31595ac36a96d777e632259 100644 (file)
@@ -1,21 +1,21 @@
-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
-# Set SRAM size to 96 KB\r
-monitor mww 0x5C002034 0x0197\r
-monitor mdw 0x5C002034\r
-\r
-# Set Flash, Bank0 size to 512 KB\r
-monitor mww 0x54000000 0xf\r
-\r
-load\r
-break main\r
-continue\r
-\r
-\r
-\r
-\r
+target remote localhost:3333
+monitor reset
+monitor sleep 500
+monitor poll
+monitor soft_reset_halt
+monitor arm7_9 force_hw_bkpts enable
+
+# Set SRAM size to 96 KB
+monitor mww 0x5C002034 0x0197
+monitor mdw 0x5C002034
+
+# Set Flash, Bank0 size to 512 KB
+monitor mww 0x54000000 0xf
+
+load
+break main
+continue
+
+
+
+
index 7ba8dd24dc98b8ec342885ddb87ba90c31812988..614e04220236b35c99f178f4ce7f26b8415584da 100644 (file)
@@ -1,45 +1,45 @@
-#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 1\r
-\r
-jtag_nsrst_delay 100\r
-jtag_ntrst_delay 100\r
-\r
-#use combined on interfaces or targets that can't set TRST/SRST separately\r
-reset_config trst_and_srst\r
-\r
-#jtag scan chain\r
-#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)\r
-jtag_device 8 0x1 0x1 0xfe\r
-jtag_device 4 0x1 0xf 0xe\r
-jtag_device 5 0x1 0x1 0x1e\r
-\r
-#target configuration\r
-daemon_startup reset\r
-\r
-#target <type> <startup mode>\r
-#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>\r
-target arm966e little reset_halt 1 arm966e\r
-run_and_halt_time 0 30\r
-\r
-target_script 0 gdb_program_config .\prj\str912_program.script\r
-\r
-working_area 0 0x50000000 16384 nobackup\r
-\r
-#flash bank str7x <base> <size> 0 0 <target#> <variant>\r
-flash bank str9x 0x00000000 0x00080000 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
+#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 1
+
+jtag_nsrst_delay 100
+jtag_ntrst_delay 100
+
+#use combined on interfaces or targets that can't set TRST/SRST separately
+reset_config trst_and_srst
+
+#jtag scan chain
+#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
+jtag_device 8 0x1 0x1 0xfe
+jtag_device 4 0x1 0xf 0xe
+jtag_device 5 0x1 0x1 0x1e
+
+#target configuration
+daemon_startup reset
+
+#target <type> <startup mode>
+#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
+target arm966e little reset_halt 1 arm966e
+run_and_halt_time 0 30
+
+target_script 0 gdb_program_config .\prj\str912_program.script
+
+working_area 0 0x50000000 16384 nobackup
+
+#flash bank str7x <base> <size> 0 0 <target#> <variant>
+flash bank str9x 0x00000000 0x00080000 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
index 07e366dc641ecaa3c5848f6df26c17a162fd7a00..df0239b9d270d7b2303c33a60852bd14b01c1f60 100644 (file)
@@ -1,9 +1,9 @@
-str9x flash_config 0 4 2 0 0x80000\r
-flash protect 0 0 7 off\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
+str9x flash_config 0 4 2 0 0x80000
+flash protect 0 0 7 off
+
+
+
+
+
+
+
index 0974b390c3cca4b0cfcf0c5065fc181c74955756..269ada9bfaed3d9859cc8ac70471a36707891c94 100644 (file)
-/***********************************************************************************\r
-*      Copyright 2005 Anglia Design\r
-*      This demo code and associated components are provided as is and has no warranty,\r
-*      implied or otherwise.  You are free to use/modify any of the provided\r
-*      code at your own risk in your applications with the expressed limitation\r
-*      of liability (see below)\r
-* \r
-*      LIMITATION OF LIABILITY:   ANGLIA OR ANGLIA DESIGNS SHALL NOT BE LIABLE FOR ANY\r
-*      LOSS OF PROFITS, LOSS OF USE, LOSS OF DATA, INTERRUPTION OF BUSINESS, NOR FOR\r
-*      INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER UNDER\r
-*      THIS AGREEMENT OR OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
-*\r
-*      Author                  : Spencer Oliver\r
-*      Web                     : www.anglia-designs.com\r
-*\r
-***********************************************************************************/\r
-\r
-/* Stack Sizes */\r
-\r
-       _STACKSIZE     = 1024;\r
-       _STACKSIZE_IRQ = 256;\r
-       _STACKSIZE_FIQ = 0;\r
-       _STACKSIZE_SVC = 1024;\r
-       _STACKSIZE_ABT = 0;\r
-       _STACKSIZE_UND = 0;\r
-       _HEAPSIZE      = 1024;\r
-\r
-/* Memory Definitions */\r
-\r
-MEMORY\r
-{\r
-       DATA (rw) : ORIGIN = 0x04000000, LENGTH = 0x00018000\r
-}\r
-\r
-/* Section Definitions */\r
-\r
-SECTIONS\r
-{\r
-       /* first section is .text which is used for code */\r
-\r
-       .text :\r
-       {\r
-               KEEP(*(.vectors))\r
-               KEEP(*(.init))\r
-               *(.text .text.*)\r
-               *(.gnu.linkonce.t.*)\r
-               *(.glue_7t .glue_7)\r
-               KEEP(*(.fini))\r
-               *(.gcc_except_table)\r
-       } >DATA =0\r
-       . = ALIGN(4);\r
-\r
-       /* .ctors .dtors are used for c++ constructors/destructors */\r
-       \r
-       .ctors :\r
-       {\r
-               PROVIDE(__ctors_start__ = .);\r
-               KEEP(*(SORT(.ctors.*)))\r
-               KEEP(*(.ctors))\r
-               PROVIDE(__ctors_end__ = .);\r
-       } >DATA\r
-\r
-       .dtors :\r
-       {\r
-               PROVIDE(__dtors_start__ = .); \r
-               KEEP(*(SORT(.dtors.*)))\r
-               KEEP(*(.dtors))\r
-               PROVIDE(__dtors_end__ = .);\r
-       } >DATA\r
-       \r
-       /* .rodata section which is used for read-only data (constants) */\r
-\r
-       .rodata :\r
-       {\r
-               *(.rodata .rodata.*)\r
-               *(.gnu.linkonce.r.*)\r
-       } >DATA\r
-       . = ALIGN(4);\r
-\r
-       _etext = .;\r
-       PROVIDE (etext = .);\r
-\r
-       /* .data section which is used for initialized data */\r
-\r
-       .data : AT (_etext)\r
-       {\r
-               *(.data .data.*)\r
-               *(.gnu.linkonce.d.*)\r
-               SORT(CONSTRUCTORS)\r
-       } >DATA\r
-       . = ALIGN(4);\r
-       \r
-       __data_start = .;\r
-       _edata = .;\r
-       PROVIDE (edata = .);\r
-\r
-       /* .bss section which is used for uninitialized data */\r
-\r
-       .bss :\r
-       {\r
-               __bss_start = .;\r
-               __bss_start__ = .;\r
-               *(.bss .bss.*)\r
-               *(.gnu.linkonce.b.*)\r
-               *(COMMON)\r
-               . = ALIGN(4);\r
-       } >DATA\r
-       . = ALIGN(4);\r
-       __bss_end__ = .;\r
-       \r
-       _end = .;\r
-       PROVIDE(end = .);\r
-\r
-       /* .heap section which is used for memory allocation */\r
-       \r
-       .heap (NOLOAD) :\r
-       {\r
-               __heap_start__ = .;\r
-               *(.heap)\r
-               . = MAX(__heap_start__ + _HEAPSIZE , .);\r
-       } >DATA\r
-       __heap_end__ = __heap_start__ + SIZEOF(.heap);\r
-       \r
-       /* .stack section - user mode stack */\r
-       \r
-       .stack (__heap_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_start__ = .;\r
-               *(.stack)\r
-               . = MAX(__stack_start__ + _STACKSIZE , .);\r
-       } >DATA\r
-       __stack_end__ = __stack_start__ + SIZEOF(.stack);\r
-\r
-       /* .stack_irq section */\r
-       \r
-       .stack_irq (__stack_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_irq_start__ = .;\r
-               *(.stack_irq)\r
-               . = MAX(__stack_irq_start__ + _STACKSIZE_IRQ , .);\r
-       } >DATA\r
-       __stack_irq_end__ = __stack_irq_start__ + SIZEOF(.stack_irq);\r
-\r
-       /* .stack_fiq section */\r
-       \r
-       .stack_fiq (__stack_irq_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_fiq_start__ = .;\r
-               *(.stack_fiq)\r
-           . = MAX(__stack_fiq_start__ + _STACKSIZE_FIQ , .);\r
-       } >DATA\r
-       __stack_fiq_end__ = __stack_fiq_start__ + SIZEOF(.stack_fiq);\r
-\r
-       /* .stack_svc section */\r
-       \r
-       .stack_svc (__stack_fiq_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_svc_start__ = .;\r
-               *(.stack_svc)\r
-               . = MAX(__stack_svc_start__ + _STACKSIZE_SVC , .);\r
-       } >DATA\r
-       __stack_svc_end__ = __stack_svc_start__ + SIZEOF(.stack_svc);\r
-\r
-       /* .stack_abt section */\r
-       \r
-       .stack_abt (__stack_svc_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_abt_start__ = .;\r
-               *(.stack_abt)\r
-               . = MAX(__stack_abt_start__ + _STACKSIZE_ABT , .);\r
-       } >DATA\r
-       __stack_abt_end__ = __stack_abt_start__ + SIZEOF(.stack_abt);\r
-\r
-       /* .stack_und section */\r
-       \r
-       .stack_und (__stack_abt_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_und_start__ = .;\r
-               *(.stack_und)\r
-       . = MAX(__stack_und_start__ + _STACKSIZE_UND , .);\r
-       } >DATA\r
-       __stack_und_end__ = __stack_und_start__ + SIZEOF(.stack_und);\r
-       \r
-       /* Stabs debugging sections.  */\r
-       .stab          0 : { *(.stab) }\r
-       .stabstr       0 : { *(.stabstr) }\r
-       .stab.excl     0 : { *(.stab.excl) }\r
-       .stab.exclstr  0 : { *(.stab.exclstr) }\r
-       .stab.index    0 : { *(.stab.index) }\r
-       .stab.indexstr 0 : { *(.stab.indexstr) }\r
-       .comment       0 : { *(.comment) }\r
-       /* DWARF debug sections.\r
-               Symbols in the DWARF debugging sections are relative to the beginning\r
-               of the section so we begin them at 0.  */\r
-       /* DWARF 1 */\r
-       .debug          0 : { *(.debug) }\r
-       .line           0 : { *(.line) }\r
-       /* GNU DWARF 1 extensions */\r
-       .debug_srcinfo  0 : { *(.debug_srcinfo) }\r
-       .debug_sfnames  0 : { *(.debug_sfnames) }\r
-       /* DWARF 1.1 and DWARF 2 */\r
-       .debug_aranges  0 : { *(.debug_aranges) }\r
-       .debug_pubnames 0 : { *(.debug_pubnames) }\r
-       /* DWARF 2 */\r
-       .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }\r
-       .debug_abbrev   0 : { *(.debug_abbrev) }\r
-       .debug_line     0 : { *(.debug_line) }\r
-       .debug_frame    0 : { *(.debug_frame) }\r
-       .debug_str      0 : { *(.debug_str) }\r
-       .debug_loc      0 : { *(.debug_loc) }\r
-       .debug_macinfo  0 : { *(.debug_macinfo) }\r
-       /* SGI/MIPS DWARF 2 extensions */\r
-       .debug_weaknames 0 : { *(.debug_weaknames) }\r
-       .debug_funcnames 0 : { *(.debug_funcnames) }\r
-       .debug_typenames 0 : { *(.debug_typenames) }\r
-       .debug_varnames  0 : { *(.debug_varnames) }     \r
-}\r
-\r
+/***********************************************************************************
+*      Copyright 2005 Anglia Design
+*      This demo code and associated components are provided as is and has no warranty,
+*      implied or otherwise.  You are free to use/modify any of the provided
+*      code at your own risk in your applications with the expressed limitation
+*      of liability (see below)
+* 
+*      LIMITATION OF LIABILITY:   ANGLIA OR ANGLIA DESIGNS SHALL NOT BE LIABLE FOR ANY
+*      LOSS OF PROFITS, LOSS OF USE, LOSS OF DATA, INTERRUPTION OF BUSINESS, NOR FOR
+*      INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER UNDER
+*      THIS AGREEMENT OR OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+*
+*      Author                  : Spencer Oliver
+*      Web                     : www.anglia-designs.com
+*
+***********************************************************************************/
+
+/* Stack Sizes */
+
+       _STACKSIZE     = 1024;
+       _STACKSIZE_IRQ = 256;
+       _STACKSIZE_FIQ = 0;
+       _STACKSIZE_SVC = 1024;
+       _STACKSIZE_ABT = 0;
+       _STACKSIZE_UND = 0;
+       _HEAPSIZE      = 1024;
+
+/* Memory Definitions */
+
+MEMORY
+{
+       DATA (rw) : ORIGIN = 0x04000000, LENGTH = 0x00018000
+}
+
+/* Section Definitions */
+
+SECTIONS
+{
+       /* first section is .text which is used for code */
+
+       .text :
+       {
+               KEEP(*(.vectors))
+               KEEP(*(.init))
+               *(.text .text.*)
+               *(.gnu.linkonce.t.*)
+               *(.glue_7t .glue_7)
+               KEEP(*(.fini))
+               *(.gcc_except_table)
+       } >DATA =0
+       . = ALIGN(4);
+
+       /* .ctors .dtors are used for c++ constructors/destructors */
+       
+       .ctors :
+       {
+               PROVIDE(__ctors_start__ = .);
+               KEEP(*(SORT(.ctors.*)))
+               KEEP(*(.ctors))
+               PROVIDE(__ctors_end__ = .);
+       } >DATA
+
+       .dtors :
+       {
+               PROVIDE(__dtors_start__ = .); 
+               KEEP(*(SORT(.dtors.*)))
+               KEEP(*(.dtors))
+               PROVIDE(__dtors_end__ = .);
+       } >DATA
+       
+       /* .rodata section which is used for read-only data (constants) */
+
+       .rodata :
+       {
+               *(.rodata .rodata.*)
+               *(.gnu.linkonce.r.*)
+       } >DATA
+       . = ALIGN(4);
+
+       _etext = .;
+       PROVIDE (etext = .);
+
+       /* .data section which is used for initialized data */
+
+       .data : AT (_etext)
+       {
+               *(.data .data.*)
+               *(.gnu.linkonce.d.*)
+               SORT(CONSTRUCTORS)
+       } >DATA
+       . = ALIGN(4);
+       
+       __data_start = .;
+       _edata = .;
+       PROVIDE (edata = .);
+
+       /* .bss section which is used for uninitialized data */
+
+       .bss :
+       {
+               __bss_start = .;
+               __bss_start__ = .;
+               *(.bss .bss.*)
+               *(.gnu.linkonce.b.*)
+               *(COMMON)
+               . = ALIGN(4);
+       } >DATA
+       . = ALIGN(4);
+       __bss_end__ = .;
+       
+       _end = .;
+       PROVIDE(end = .);
+
+       /* .heap section which is used for memory allocation */
+       
+       .heap (NOLOAD) :
+       {
+               __heap_start__ = .;
+               *(.heap)
+               . = MAX(__heap_start__ + _HEAPSIZE , .);
+       } >DATA
+       __heap_end__ = __heap_start__ + SIZEOF(.heap);
+       
+       /* .stack section - user mode stack */
+       
+       .stack (__heap_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_start__ = .;
+               *(.stack)
+               . = MAX(__stack_start__ + _STACKSIZE , .);
+       } >DATA
+       __stack_end__ = __stack_start__ + SIZEOF(.stack);
+
+       /* .stack_irq section */
+       
+       .stack_irq (__stack_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_irq_start__ = .;
+               *(.stack_irq)
+               . = MAX(__stack_irq_start__ + _STACKSIZE_IRQ , .);
+       } >DATA
+       __stack_irq_end__ = __stack_irq_start__ + SIZEOF(.stack_irq);
+
+       /* .stack_fiq section */
+       
+       .stack_fiq (__stack_irq_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_fiq_start__ = .;
+               *(.stack_fiq)
+           . = MAX(__stack_fiq_start__ + _STACKSIZE_FIQ , .);
+       } >DATA
+       __stack_fiq_end__ = __stack_fiq_start__ + SIZEOF(.stack_fiq);
+
+       /* .stack_svc section */
+       
+       .stack_svc (__stack_fiq_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_svc_start__ = .;
+               *(.stack_svc)
+               . = MAX(__stack_svc_start__ + _STACKSIZE_SVC , .);
+       } >DATA
+       __stack_svc_end__ = __stack_svc_start__ + SIZEOF(.stack_svc);
+
+       /* .stack_abt section */
+       
+       .stack_abt (__stack_svc_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_abt_start__ = .;
+               *(.stack_abt)
+               . = MAX(__stack_abt_start__ + _STACKSIZE_ABT , .);
+       } >DATA
+       __stack_abt_end__ = __stack_abt_start__ + SIZEOF(.stack_abt);
+
+       /* .stack_und section */
+       
+       .stack_und (__stack_abt_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_und_start__ = .;
+               *(.stack_und)
+       . = MAX(__stack_und_start__ + _STACKSIZE_UND , .);
+       } >DATA
+       __stack_und_end__ = __stack_und_start__ + SIZEOF(.stack_und);
+       
+       /* Stabs debugging sections.  */
+       .stab          0 : { *(.stab) }
+       .stabstr       0 : { *(.stabstr) }
+       .stab.excl     0 : { *(.stab.excl) }
+       .stab.exclstr  0 : { *(.stab.exclstr) }
+       .stab.index    0 : { *(.stab.index) }
+       .stab.indexstr 0 : { *(.stab.indexstr) }
+       .comment       0 : { *(.comment) }
+       /* DWARF debug sections.
+               Symbols in the DWARF debugging sections are relative to the beginning
+               of the section so we begin them at 0.  */
+       /* DWARF 1 */
+       .debug          0 : { *(.debug) }
+       .line           0 : { *(.line) }
+       /* GNU DWARF 1 extensions */
+       .debug_srcinfo  0 : { *(.debug_srcinfo) }
+       .debug_sfnames  0 : { *(.debug_sfnames) }
+       /* DWARF 1.1 and DWARF 2 */
+       .debug_aranges  0 : { *(.debug_aranges) }
+       .debug_pubnames 0 : { *(.debug_pubnames) }
+       /* DWARF 2 */
+       .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
+       .debug_abbrev   0 : { *(.debug_abbrev) }
+       .debug_line     0 : { *(.debug_line) }
+       .debug_frame    0 : { *(.debug_frame) }
+       .debug_str      0 : { *(.debug_str) }
+       .debug_loc      0 : { *(.debug_loc) }
+       .debug_macinfo  0 : { *(.debug_macinfo) }
+       /* SGI/MIPS DWARF 2 extensions */
+       .debug_weaknames 0 : { *(.debug_weaknames) }
+       .debug_funcnames 0 : { *(.debug_funcnames) }
+       .debug_typenames 0 : { *(.debug_typenames) }
+       .debug_varnames  0 : { *(.debug_varnames) }     
+}
+
index 8cbb7f75c8d5cf45a66d2c7f3e53cfd3c2717806..804149d213a8b5920df696ea3f58754bb1fdbc13 100644 (file)
-/***********************************************************************************\r
-*      Copyright 2005 Anglia Design\r
-*      This demo code and associated components are provided as is and has no warranty,\r
-*      implied or otherwise.  You are free to use/modify any of the provided\r
-*      code at your own risk in your applications with the expressed limitation\r
-*      of liability (see below)\r
-* \r
-*      LIMITATION OF LIABILITY:   ANGLIA OR ANGLIA DESIGNS SHALL NOT BE LIABLE FOR ANY\r
-*      LOSS OF PROFITS, LOSS OF USE, LOSS OF DATA, INTERRUPTION OF BUSINESS, NOR FOR\r
-*      INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER UNDER\r
-*      THIS AGREEMENT OR OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
-*\r
-*      Author                  : Spencer Oliver\r
-*      Web                     : www.anglia-designs.com\r
-*\r
-***********************************************************************************/\r
-\r
-/* Stack Sizes */\r
-\r
-       _STACKSIZE     = 1024;\r
-       _STACKSIZE_IRQ = 256;\r
-       _STACKSIZE_FIQ = 0;\r
-       _STACKSIZE_SVC = 1024;\r
-       _STACKSIZE_ABT = 0;\r
-       _STACKSIZE_UND = 0;\r
-       _HEAPSIZE      = 1024;\r
-\r
-/* Memory Definitions */\r
-\r
-MEMORY\r
-{\r
-       CODE (rx) : ORIGIN = 0x00000000, LENGTH = 0x00080000\r
-       DATA (rw) : ORIGIN = 0x04000000, LENGTH = 0x00018000\r
-}\r
-\r
-/* Section Definitions */\r
-\r
-SECTIONS\r
-{\r
-       /* first section is .text which is used for code */\r
-\r
-       .text :\r
-       {\r
-               CREATE_OBJECT_SYMBOLS\r
-               KEEP(*(.vectors))\r
-               KEEP(*(.init))\r
-               *(.text .text.*)\r
-               *(.gnu.linkonce.t.*)\r
-               *(.glue_7t) *(.glue_7) *(.vfp11_veneer)\r
-               KEEP(*(.fini))\r
-               *(.gcc_except_table)\r
-       } >CODE =0\r
-       . = ALIGN(4);\r
-\r
-       /* .ctors .dtors are used for c++ constructors/destructors */\r
-       \r
-       .ctors :\r
-       {\r
-               PROVIDE(__ctors_start__ = .);\r
-               KEEP(*(SORT(.ctors.*)))\r
-               KEEP(*(.ctors))\r
-               PROVIDE(__ctors_end__ = .);\r
-       } >CODE\r
-\r
-       .dtors :\r
-       {\r
-               PROVIDE(__dtors_start__ = .); \r
-               KEEP(*(SORT(.dtors.*)))\r
-               KEEP(*(.dtors))\r
-               PROVIDE(__dtors_end__ = .);\r
-       } >CODE\r
-       \r
-       /* .rodata section which is used for read-only data (constants) */\r
-\r
-       .rodata :\r
-       {\r
-               *(.rodata .rodata.*)\r
-               *(.gnu.linkonce.r.*)\r
-       } >CODE\r
-       . = ALIGN(4);\r
-\r
-       .init_array :\r
-       {\r
-               *(.init)\r
-        *(.fini)\r
-               PROVIDE_HIDDEN (__preinit_array_start = .);\r
-               KEEP (*(.preinit_array))\r
-               PROVIDE_HIDDEN (__preinit_array_end = .);\r
-               PROVIDE_HIDDEN (__init_array_start = .);\r
-               KEEP (*(SORT(.init_array.*)))\r
-               KEEP (*(.init_array))\r
-               PROVIDE_HIDDEN (__init_array_end = .);\r
-               PROVIDE_HIDDEN (__fini_array_start = .);\r
-               KEEP (*(.fini_array))\r
-               KEEP (*(SORT(.fini_array.*)))\r
-               PROVIDE_HIDDEN (__fini_array_end = .);\r
-       } >CODE\r
-\r
-       . = ALIGN(4);\r
-\r
-       /* .ARM.exidx is sorted, so has to go in its own output section.  */\r
-       __exidx_start = .;\r
-       .ARM.exidx :\r
-       {\r
-               *(.ARM.exidx* .gnu.linkonce.armexidx.*)\r
-       } >CODE\r
-       __exidx_end = .;\r
-\r
-       _etext = .;\r
-       PROVIDE (etext = .);\r
-\r
-       /* .data section which is used for initialized data */\r
-\r
-       .data : AT (_etext)\r
-       {\r
-               __data_start = .;\r
-               *(.data .data.*)\r
-               *(.gnu.linkonce.d.*)\r
-               SORT(CONSTRUCTORS)\r
-               . = ALIGN(4);\r
-               *(.fastrun .fastrun.*)\r
-       } >DATA\r
-       . = ALIGN(4);\r
-       \r
-       _edata = .;\r
-       PROVIDE (edata = .);\r
-\r
-       /* .bss section which is used for uninitialized data */\r
-\r
-       .bss :\r
-       {\r
-               __bss_start = .;\r
-               __bss_start__ = .;\r
-               *(.bss .bss.*)\r
-               *(.gnu.linkonce.b.*)\r
-               *(COMMON)\r
-               . = ALIGN(4);\r
-       } >DATA\r
-       . = ALIGN(4);\r
-       __bss_end__ = .;\r
-       \r
-       _end = .;\r
-       PROVIDE(end = .);\r
-\r
-       /* .heap section which is used for memory allocation */\r
-       \r
-       .heap (NOLOAD) :\r
-       {\r
-               __heap_start__ = .;\r
-               *(.heap)\r
-               . = MAX(__heap_start__ + _HEAPSIZE , .);\r
-       } >DATA\r
-       __heap_end__ = __heap_start__ + SIZEOF(.heap);\r
-       \r
-       /* .stack section - user mode stack */\r
-       \r
-       .stack (__heap_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_start__ = .;\r
-               *(.stack)\r
-               . = MAX(__stack_start__ + _STACKSIZE , .);\r
-       } >DATA\r
-       __stack_end__ = __stack_start__ + SIZEOF(.stack);\r
-\r
-       /* .stack_irq section */\r
-       \r
-       .stack_irq (__stack_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_irq_start__ = .;\r
-               *(.stack_irq)\r
-               . = MAX(__stack_irq_start__ + _STACKSIZE_IRQ , .);\r
-       } >DATA\r
-       __stack_irq_end__ = __stack_irq_start__ + SIZEOF(.stack_irq);\r
-\r
-       /* .stack_fiq section */\r
-       \r
-       .stack_fiq (__stack_irq_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_fiq_start__ = .;\r
-               *(.stack_fiq)\r
-           . = MAX(__stack_fiq_start__ + _STACKSIZE_FIQ , .);\r
-       } >DATA\r
-       __stack_fiq_end__ = __stack_fiq_start__ + SIZEOF(.stack_fiq);\r
-\r
-       /* .stack_svc section */\r
-       \r
-       .stack_svc (__stack_fiq_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_svc_start__ = .;\r
-               *(.stack_svc)\r
-               . = MAX(__stack_svc_start__ + _STACKSIZE_SVC , .);\r
-       } >DATA\r
-       __stack_svc_end__ = __stack_svc_start__ + SIZEOF(.stack_svc);\r
-\r
-       /* .stack_abt section */\r
-       \r
-       .stack_abt (__stack_svc_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_abt_start__ = .;\r
-               *(.stack_abt)\r
-               . = MAX(__stack_abt_start__ + _STACKSIZE_ABT , .);\r
-       } >DATA\r
-       __stack_abt_end__ = __stack_abt_start__ + SIZEOF(.stack_abt);\r
-\r
-       /* .stack_und section */\r
-       \r
-       .stack_und (__stack_abt_end__ + 3) / 4 * 4 (NOLOAD) :\r
-       {\r
-               __stack_und_start__ = .;\r
-               *(.stack_und)\r
-       . = MAX(__stack_und_start__ + _STACKSIZE_UND , .);\r
-       } >DATA\r
-       __stack_und_end__ = __stack_und_start__ + SIZEOF(.stack_und);\r
-  \r
-       /* Stabs debugging sections.  */\r
-       .stab          0 : { *(.stab) }\r
-       .stabstr       0 : { *(.stabstr) }\r
-       .stab.excl     0 : { *(.stab.excl) }\r
-       .stab.exclstr  0 : { *(.stab.exclstr) }\r
-       .stab.index    0 : { *(.stab.index) }\r
-       .stab.indexstr 0 : { *(.stab.indexstr) }\r
-       .comment       0 : { *(.comment) }\r
-       /* DWARF debug sections.\r
-               Symbols in the DWARF debugging sections are relative to the beginning\r
-               of the section so we begin them at 0.  */\r
-       /* DWARF 1 */\r
-       .debug          0 : { *(.debug) }\r
-       .line           0 : { *(.line) }\r
-       /* GNU DWARF 1 extensions */\r
-       .debug_srcinfo  0 : { *(.debug_srcinfo) }\r
-       .debug_sfnames  0 : { *(.debug_sfnames) }\r
-       /* DWARF 1.1 and DWARF 2 */\r
-       .debug_aranges  0 : { *(.debug_aranges) }\r
-       .debug_pubnames 0 : { *(.debug_pubnames) }\r
-       /* DWARF 2 */\r
-       .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }\r
-       .debug_abbrev   0 : { *(.debug_abbrev) }\r
-       .debug_line     0 : { *(.debug_line) }\r
-       .debug_frame    0 : { *(.debug_frame) }\r
-       .debug_str      0 : { *(.debug_str) }\r
-       .debug_loc      0 : { *(.debug_loc) }\r
-       .debug_macinfo  0 : { *(.debug_macinfo) }\r
-       /* SGI/MIPS DWARF 2 extensions */\r
-       .debug_weaknames 0 : { *(.debug_weaknames) }\r
-       .debug_funcnames 0 : { *(.debug_funcnames) }\r
-       .debug_typenames 0 : { *(.debug_typenames) }\r
-       .debug_varnames  0 : { *(.debug_varnames) }     \r
-}\r
-\r
+/***********************************************************************************
+*      Copyright 2005 Anglia Design
+*      This demo code and associated components are provided as is and has no warranty,
+*      implied or otherwise.  You are free to use/modify any of the provided
+*      code at your own risk in your applications with the expressed limitation
+*      of liability (see below)
+* 
+*      LIMITATION OF LIABILITY:   ANGLIA OR ANGLIA DESIGNS SHALL NOT BE LIABLE FOR ANY
+*      LOSS OF PROFITS, LOSS OF USE, LOSS OF DATA, INTERRUPTION OF BUSINESS, NOR FOR
+*      INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER UNDER
+*      THIS AGREEMENT OR OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+*
+*      Author                  : Spencer Oliver
+*      Web                     : www.anglia-designs.com
+*
+***********************************************************************************/
+
+/* Stack Sizes */
+
+       _STACKSIZE     = 1024;
+       _STACKSIZE_IRQ = 256;
+       _STACKSIZE_FIQ = 0;
+       _STACKSIZE_SVC = 1024;
+       _STACKSIZE_ABT = 0;
+       _STACKSIZE_UND = 0;
+       _HEAPSIZE      = 1024;
+
+/* Memory Definitions */
+
+MEMORY
+{
+       CODE (rx) : ORIGIN = 0x00000000, LENGTH = 0x00080000
+       DATA (rw) : ORIGIN = 0x04000000, LENGTH = 0x00018000
+}
+
+/* Section Definitions */
+
+SECTIONS
+{
+       /* first section is .text which is used for code */
+
+       .text :
+       {
+               CREATE_OBJECT_SYMBOLS
+               KEEP(*(.vectors))
+               KEEP(*(.init))
+               *(.text .text.*)
+               *(.gnu.linkonce.t.*)
+               *(.glue_7t) *(.glue_7) *(.vfp11_veneer)
+               KEEP(*(.fini))
+               *(.gcc_except_table)
+       } >CODE =0
+       . = ALIGN(4);
+
+       /* .ctors .dtors are used for c++ constructors/destructors */
+       
+       .ctors :
+       {
+               PROVIDE(__ctors_start__ = .);
+               KEEP(*(SORT(.ctors.*)))
+               KEEP(*(.ctors))
+               PROVIDE(__ctors_end__ = .);
+       } >CODE
+
+       .dtors :
+       {
+               PROVIDE(__dtors_start__ = .); 
+               KEEP(*(SORT(.dtors.*)))
+               KEEP(*(.dtors))
+               PROVIDE(__dtors_end__ = .);
+       } >CODE
+       
+       /* .rodata section which is used for read-only data (constants) */
+
+       .rodata :
+       {
+               *(.rodata .rodata.*)
+               *(.gnu.linkonce.r.*)
+       } >CODE
+       . = ALIGN(4);
+
+       .init_array :
+       {
+               *(.init)
+        *(.fini)
+               PROVIDE_HIDDEN (__preinit_array_start = .);
+               KEEP (*(.preinit_array))
+               PROVIDE_HIDDEN (__preinit_array_end = .);
+               PROVIDE_HIDDEN (__init_array_start = .);
+               KEEP (*(SORT(.init_array.*)))
+               KEEP (*(.init_array))
+               PROVIDE_HIDDEN (__init_array_end = .);
+               PROVIDE_HIDDEN (__fini_array_start = .);
+               KEEP (*(.fini_array))
+               KEEP (*(SORT(.fini_array.*)))
+               PROVIDE_HIDDEN (__fini_array_end = .);
+       } >CODE
+
+       . = ALIGN(4);
+
+       /* .ARM.exidx is sorted, so has to go in its own output section.  */
+       __exidx_start = .;
+       .ARM.exidx :
+       {
+               *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+       } >CODE
+       __exidx_end = .;
+
+       _etext = .;
+       PROVIDE (etext = .);
+
+       /* .data section which is used for initialized data */
+
+       .data : AT (_etext)
+       {
+               __data_start = .;
+               *(.data .data.*)
+               *(.gnu.linkonce.d.*)
+               SORT(CONSTRUCTORS)
+               . = ALIGN(4);
+               *(.fastrun .fastrun.*)
+       } >DATA
+       . = ALIGN(4);
+       
+       _edata = .;
+       PROVIDE (edata = .);
+
+       /* .bss section which is used for uninitialized data */
+
+       .bss :
+       {
+               __bss_start = .;
+               __bss_start__ = .;
+               *(.bss .bss.*)
+               *(.gnu.linkonce.b.*)
+               *(COMMON)
+               . = ALIGN(4);
+       } >DATA
+       . = ALIGN(4);
+       __bss_end__ = .;
+       
+       _end = .;
+       PROVIDE(end = .);
+
+       /* .heap section which is used for memory allocation */
+       
+       .heap (NOLOAD) :
+       {
+               __heap_start__ = .;
+               *(.heap)
+               . = MAX(__heap_start__ + _HEAPSIZE , .);
+       } >DATA
+       __heap_end__ = __heap_start__ + SIZEOF(.heap);
+       
+       /* .stack section - user mode stack */
+       
+       .stack (__heap_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_start__ = .;
+               *(.stack)
+               . = MAX(__stack_start__ + _STACKSIZE , .);
+       } >DATA
+       __stack_end__ = __stack_start__ + SIZEOF(.stack);
+
+       /* .stack_irq section */
+       
+       .stack_irq (__stack_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_irq_start__ = .;
+               *(.stack_irq)
+               . = MAX(__stack_irq_start__ + _STACKSIZE_IRQ , .);
+       } >DATA
+       __stack_irq_end__ = __stack_irq_start__ + SIZEOF(.stack_irq);
+
+       /* .stack_fiq section */
+       
+       .stack_fiq (__stack_irq_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_fiq_start__ = .;
+               *(.stack_fiq)
+           . = MAX(__stack_fiq_start__ + _STACKSIZE_FIQ , .);
+       } >DATA
+       __stack_fiq_end__ = __stack_fiq_start__ + SIZEOF(.stack_fiq);
+
+       /* .stack_svc section */
+       
+       .stack_svc (__stack_fiq_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_svc_start__ = .;
+               *(.stack_svc)
+               . = MAX(__stack_svc_start__ + _STACKSIZE_SVC , .);
+       } >DATA
+       __stack_svc_end__ = __stack_svc_start__ + SIZEOF(.stack_svc);
+
+       /* .stack_abt section */
+       
+       .stack_abt (__stack_svc_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_abt_start__ = .;
+               *(.stack_abt)
+               . = MAX(__stack_abt_start__ + _STACKSIZE_ABT , .);
+       } >DATA
+       __stack_abt_end__ = __stack_abt_start__ + SIZEOF(.stack_abt);
+
+       /* .stack_und section */
+       
+       .stack_und (__stack_abt_end__ + 3) / 4 * 4 (NOLOAD) :
+       {
+               __stack_und_start__ = .;
+               *(.stack_und)
+       . = MAX(__stack_und_start__ + _STACKSIZE_UND , .);
+       } >DATA
+       __stack_und_end__ = __stack_und_start__ + SIZEOF(.stack_und);
+  
+       /* Stabs debugging sections.  */
+       .stab          0 : { *(.stab) }
+       .stabstr       0 : { *(.stabstr) }
+       .stab.excl     0 : { *(.stab.excl) }
+       .stab.exclstr  0 : { *(.stab.exclstr) }
+       .stab.index    0 : { *(.stab.index) }
+       .stab.indexstr 0 : { *(.stab.indexstr) }
+       .comment       0 : { *(.comment) }
+       /* DWARF debug sections.
+               Symbols in the DWARF debugging sections are relative to the beginning
+               of the section so we begin them at 0.  */
+       /* DWARF 1 */
+       .debug          0 : { *(.debug) }
+       .line           0 : { *(.line) }
+       /* GNU DWARF 1 extensions */
+       .debug_srcinfo  0 : { *(.debug_srcinfo) }
+       .debug_sfnames  0 : { *(.debug_sfnames) }
+       /* DWARF 1.1 and DWARF 2 */
+       .debug_aranges  0 : { *(.debug_aranges) }
+       .debug_pubnames 0 : { *(.debug_pubnames) }
+       /* DWARF 2 */
+       .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
+       .debug_abbrev   0 : { *(.debug_abbrev) }
+       .debug_line     0 : { *(.debug_line) }
+       .debug_frame    0 : { *(.debug_frame) }
+       .debug_str      0 : { *(.debug_str) }
+       .debug_loc      0 : { *(.debug_loc) }
+       .debug_macinfo  0 : { *(.debug_macinfo) }
+       /* SGI/MIPS DWARF 2 extensions */
+       .debug_weaknames 0 : { *(.debug_weaknames) }
+       .debug_funcnames 0 : { *(.debug_funcnames) }
+       .debug_typenames 0 : { *(.debug_typenames) }
+       .debug_varnames  0 : { *(.debug_varnames) }     
+}
+