diff options
author | richardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2> | 2008-03-25 21:22:13 +0000 |
---|---|---|
committer | richardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2> | 2008-03-25 21:22:13 +0000 |
commit | 61a494c693fe1ba70f00825fb9a33d696fabed7a (patch) | |
tree | 2629ef885663c7f4c9800f7fb65c79e1847d3470 /Demo/lwIP_MCF5235_GCC/system/crt0.S | |
parent | 632e2ba120e680217040aad264485316e1e4a009 (diff) | |
download | freertos-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.S | 242 |
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 - |