summaryrefslogtreecommitdiff
path: root/Demo/lwIP_MCF5235_GCC/system/crt0.S
diff options
context:
space:
mode:
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2008-03-25 21:22:13 +0000
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2008-03-25 21:22:13 +0000
commit61a494c693fe1ba70f00825fb9a33d696fabed7a (patch)
tree2629ef885663c7f4c9800f7fb65c79e1847d3470 /Demo/lwIP_MCF5235_GCC/system/crt0.S
parent632e2ba120e680217040aad264485316e1e4a009 (diff)
downloadfreertos-61a494c693fe1ba70f00825fb9a33d696fabed7a.tar.gz
freertos-61a494c693fe1ba70f00825fb9a33d696fabed7a.tar.bz2
freertos-61a494c693fe1ba70f00825fb9a33d696fabed7a.tar.xz
Update version numbers to V4.8.0
git-svn-id: https://freertos.svn.sourceforge.net/svnroot/freertos/trunk@282 1d2547de-c912-0410-9cb9-b8ca96c0e9e2
Diffstat (limited to 'Demo/lwIP_MCF5235_GCC/system/crt0.S')
-rw-r--r--Demo/lwIP_MCF5235_GCC/system/crt0.S242
1 files changed, 124 insertions, 118 deletions
diff --git a/Demo/lwIP_MCF5235_GCC/system/crt0.S b/Demo/lwIP_MCF5235_GCC/system/crt0.S
index 5e8c0661..d6297627 100644
--- a/Demo/lwIP_MCF5235_GCC/system/crt0.S
+++ b/Demo/lwIP_MCF5235_GCC/system/crt0.S
@@ -1,125 +1,131 @@
-/*
- FreeRTOS MCF5235 port - Copyright (C) 2006 Christian Walter.
-
- This file is part of the FreeRTOS distribution.
-
- FreeRTOS is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- FreeRTOS is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with FreeRTOS; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- A special exception to the GPL can be applied should you wish to distribute
- a combined work that includes FreeRTOS, without being obliged to provide
- the source code for any proprietary components. See the licensing section
- of http://www.FreeRTOS.org for full details of how and when the exception
- can be applied.
-
+/*
+ FreeRTOS MCF5235 port - Copyright (C) 2006 Christian Walter.
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ FreeRTOS is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with FreeRTOS; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ A special exception to the GPL can be applied should you wish to distribute
+ a combined work that includes FreeRTOS, without being obliged to provide
+ the source code for any proprietary components. See the licensing section
+ of http://www.FreeRTOS.org for full details of how and when the exception
+ can be applied.
+
+ ***************************************************************************
+ ***************************************************************************
+ * *
+ * SAVE TIME AND MONEY! Why not get us to quote to get FreeRTOS.org *
+ * running on your hardware - or even write all or part of your application*
+ * for you? See http://www.OpenRTOS.com for details. *
+ * *
+ ***************************************************************************
***************************************************************************
- Please ensure to read the configuration and relevant port sections of the
+ Please ensure to read the configuration and relevant port sections of the
online documentation.
- +++ http://www.FreeRTOS.org +++
- Documentation, latest information, license and contact details.
+ http://www.FreeRTOS.org - Documentation, latest information, license and
+ contact details.
- +++ http://www.SafeRTOS.com +++
- A version that is certified for use in safety critical systems.
+ http://www.SafeRTOS.com - A version that is certified for use in safety
+ critical systems.
- +++ http://www.OpenRTOS.com +++
- Commercial support, development, porting, licensing and training services.
+ http://www.OpenRTOS.com - Commercial support, development, porting,
+ licensing and training services.
+*/
+
+ .title "crt0.S"
+
+ .extern main
+ .extern __stack
+ .extern __bss_start
+ .extern __text_start
+ .extern init_main
+
+ .equ MCF5XXX_RAMBAR_SPV, 0x00000200
+ .equ MCF5XXX_RAMBAR_V, 0x00000001
+ .global start
+
+ .align 4
+debug:
+ .word 0x2C80 /* write to CSR */
+ .word 0x0010
+ .word 0x0400
+ .word 0x0000
+
+start:
+ /* disable all interrupts on startup. */
+ move.w #0x2700, sr
+
+ /* prepare internal SRAM. */
+ move.l #__SRAM, d0
+ ori.l #( MCF5XXX_RAMBAR_SPV | MCF5XXX_RAMBAR_V ), d0
+ movec d0, rambar
+
+ /* prepare stack and frame pointer. */
+ move.l #__stack, sp
+ link a6, #-8
+
+ /* initialize hardware. */
+ jsr init_main
+
+ /* zero out the bss section. */
+ move.l #__bss_start, d1
+ move.l #_end, d0
+ cmp.l d0, d1
+ jbeq 3f
+ move.l d1, a0
+ sub.l d1, d0
+ subq.l #1, d0
+2:
+ clr.b (a0)+
+ subq.l #1, d0
+ jbpl 2b
+3:
+
+ /* Relocate the data section. */
+ move.l #__data_load_start, %a0 /* .data in ROM */
+ move.l #copy_start, %a1 /* .data in RAM */
+
+ /* Test if the two sections overlap. This is the case when we are working
+ * with the debugger and the debugger loads the .data section.
+ */
+ cmpa.l %a0, %a1
+ beq 2f
+1:
+ /* Have we already copied everything. */
+ cmpa.l #__data_load_end, %a0
+ beq 2f
+ move.b (%a0)+, (%a1)+
+ bra 1b
+
+2:
+
+ /* C library */
+ move.l #__FINI_SECTION__, -(%sp)
+ jsr atexit
+ jsr __INIT_SECTION__
+
+ /* call main(int argc, char *argv[] */
+ move.l #0, -(sp)
+ move.l #0, -(sp)
+ move.l #0, -(sp)
+ jsr main
+ lea (sp, 12), %sp
+
+ /* stop on exit from main. */
+1:
+ halt
- ***************************************************************************
-*/
-
- .title "crt0.S"
-
- .extern main
- .extern __stack
- .extern __bss_start
- .extern __text_start
- .extern init_main
-
- .equ MCF5XXX_RAMBAR_SPV, 0x00000200
- .equ MCF5XXX_RAMBAR_V, 0x00000001
- .global start
-
- .align 4
-debug:
- .word 0x2C80 /* write to CSR */
- .word 0x0010
- .word 0x0400
- .word 0x0000
-
-start:
- /* disable all interrupts on startup. */
- move.w #0x2700, sr
-
- /* prepare internal SRAM. */
- move.l #__SRAM, d0
- ori.l #( MCF5XXX_RAMBAR_SPV | MCF5XXX_RAMBAR_V ), d0
- movec d0, rambar
-
- /* prepare stack and frame pointer. */
- move.l #__stack, sp
- link a6, #-8
-
- /* initialize hardware. */
- jsr init_main
-
- /* zero out the bss section. */
- move.l #__bss_start, d1
- move.l #_end, d0
- cmp.l d0, d1
- jbeq 3f
- move.l d1, a0
- sub.l d1, d0
- subq.l #1, d0
-2:
- clr.b (a0)+
- subq.l #1, d0
- jbpl 2b
-3:
-
- /* Relocate the data section. */
- move.l #__data_load_start, %a0 /* .data in ROM */
- move.l #copy_start, %a1 /* .data in RAM */
-
- /* Test if the two sections overlap. This is the case when we are working
- * with the debugger and the debugger loads the .data section.
- */
- cmpa.l %a0, %a1
- beq 2f
-1:
- /* Have we already copied everything. */
- cmpa.l #__data_load_end, %a0
- beq 2f
- move.b (%a0)+, (%a1)+
- bra 1b
-
-2:
-
- /* C library */
- move.l #__FINI_SECTION__, -(%sp)
- jsr atexit
- jsr __INIT_SECTION__
-
- /* call main(int argc, char *argv[] */
- move.l #0, -(sp)
- move.l #0, -(sp)
- move.l #0, -(sp)
- jsr main
- lea (sp, 12), %sp
-
- /* stop on exit from main. */
-1:
- halt
-