diff options
Diffstat (limited to 'ecosflash/flash.S')
-rw-r--r-- | ecosflash/flash.S | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/ecosflash/flash.S b/ecosflash/flash.S deleted file mode 100644 index b6e6fccb..00000000 --- a/ecosflash/flash.S +++ /dev/null @@ -1,90 +0,0 @@ -/* -#####ECOSGPLCOPYRIGHTBEGIN#### -## ------------------------------------------- -## This file is part of eCos, the Embedded Configurable Operating System. -## Copyright (C) 2008 Øyvind Harboe -## -## eCos 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 or (at your option) any later version. -## -## eCos 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 eCos; if not, write to the Free Software Foundation, Inc., -## 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. -## -## As a special exception, if other files instantiate templates or use macros -## or inline functions from this file, or you compile this file and link it -## with other works to produce a work based on this file, this file does not -## by itself cause the resulting work to be covered by the GNU General Public -## License. However the source code for this file must still be made available -## in accordance with section (3) of the GNU General Public License. -## -## This exception does not invalidate any other reasons why a work based on -## this file might be covered by the GNU General Public License. -## ------------------------------------------- -#####ECOSGPLCOPYRIGHTEND#### -*/ - -/* - Jump table for flash driver - - Registers in ARM callling convention is to place args in registers - starting at r0. - - So for: - - void foo(int a, int b, int c). - - a=r0 - b=r1 - c=r2 - - -*/ - .global _stack_base - .global _stack_start - .global _workarea - .global _start - .global _start_bss_clear -_start: - // offset=0 - // int erase(void *address, int len) - ldr sp,=_stack_start - bl erase - nop // Stop CPU here using hw breakpoint - - // offset=0xc - // int program(void *buffer, void *address, int len) - ldr sp,=_stack_start - bl program - nop // Stop CPU here using hw breakpoint - - // offset=0x18 - ldr r0,=_workarea - nop // Stop CPU here using hw breakpoint - - // offset=0x20 - // int init() - returns error message if the flash chip can't be detected - ldr sp,=_stack_start - bl init - nop // Stop CPU here using hw breakpoint - - .section ".bss" - .balign 4 -_stack_base: - .rept 4096 - .byte 0 - .endr -_stack_start: - .balign 4 -_workarea: - .rept 8192 - .byte 0 - .endr - // NB!!! we clear bss while the stack is in use, so we start BSS clearing here !!! :-) -_start_bss_clear: |