Skip to content

Instantly share code, notes, and snippets.

@ntavish
Created September 10, 2018 04:56
Show Gist options
  • Save ntavish/156adfa69bfd500b429a635bbe9af0b3 to your computer and use it in GitHub Desktop.
Save ntavish/156adfa69bfd500b429a635bbe9af0b3 to your computer and use it in GitHub Desktop.
#define STACK_TOP (void *)0x20005000
extern unsigned long _stext;
extern unsigned long _sbss;
extern unsigned long _sdata;
extern unsigned long _etext;
extern unsigned long _ebss;
extern unsigned long _edata;
void c_startup(void);
void dummy_fn(void);
int main();
__attribute__((section(".isr_vector")))
void (*vectors[])(void) = {
STACK_TOP,
c_startup,
dummy_fn,
dummy_fn,
dummy_fn,
dummy_fn,
dummy_fn,
dummy_fn,
dummy_fn,
dummy_fn,
dummy_fn,
dummy_fn,
dummy_fn,
dummy_fn,
dummy_fn,
dummy_fn,
};
void dummy_fn(void)
{
while(1)
{
}
}
void c_startup(void)
{
unsigned long *src, *dst;
src = &_etext;
dst = &_sdata;
while(dst < &_edata)
*(dst++) = *(src++);
src = &_sbss;
while(src < &_ebss)
*(src++) = 0;
main();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment