X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/1b2c8936326aa0f31912da76dff96a24102a2711..3be2a5ae0b3f153a60a04ff83b7c3f864d716371:/armsrc/start.c?ds=sidebyside diff --git a/armsrc/start.c b/armsrc/start.c index 0466a92f..d7332bda 100644 --- a/armsrc/start.c +++ b/armsrc/start.c @@ -1,27 +1,33 @@ -//----------------------------------------------------------------------------- -// Just vector to AppMain(). This is in its own file so that I can place it -// with the linker script. -// Jonathan Westhues, Mar 2006 -//----------------------------------------------------------------------------- -#include <proxmark3.h> -#include "apps.h" - -extern char __data_start__, __data_src_start__, __data_end__, __bss_start__, __bss_end__; -void __attribute__((section(".startos"))) Vector(void) -{ - /* Stack should have been set up by the bootloader */ - char *src, *dst, *end; - - /* Set up (that is: clear) BSS. */ - dst = &__bss_start__; - end = &__bss_end__; - while(dst < end) *dst++ = 0; - - /* Set up data segment: Copy from flash to ram */ - src = &__data_src_start__; - dst = &__data_start__; - end = &__data_end__; - while(dst < end) *dst++ = *src++; - - AppMain(); -} +//----------------------------------------------------------------------------- +// Jonathan Westhues, Mar 2006 +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// Just vector to AppMain(). This is in its own file so that I can place it +// with the linker script. +//----------------------------------------------------------------------------- + +#include "proxmark3.h" +#include "apps.h" + +extern char __data_start__, __data_src_start__, __data_end__, __bss_start__, __bss_end__; +void __attribute__((section(".startos"))) Vector(void) +{ + /* Stack should have been set up by the bootloader */ + char *src, *dst, *end; + + /* Set up (that is: clear) BSS. */ + dst = &__bss_start__; + end = &__bss_end__; + while(dst < end) *dst++ = 0; + + /* Set up data segment: Copy from flash to ram */ + src = &__data_src_start__; + dst = &__data_start__; + end = &__data_end__; + while(dst < end) *dst++ = *src++; + + AppMain(); +}