-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
-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
-#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
-/****************************************************************************\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 ***/
+
-/****************************************************************************\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 ***/
+
-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
-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
-#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
-/****************************************************************************\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 ***/
+
-/****************************************************************************\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 ***/
+
-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
-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
-#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
-/****************************************************************************\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 ***/
+
-#\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
-/****************************************************************************\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 ***/
+
-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
+
+
+
+
-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
+
+
+
+
-#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
-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
+
+
+
+
+
+
+
-/***********************************************************************************\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) }
+}
+
-/***********************************************************************************\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) }
+}
+