diff --git a/BaS_GNU/BaS_GNU/flash.lk b/BaS_GNU/BaS_GNU/flash.lk index 9763ae3..bbbdbcd 100644 --- a/BaS_GNU/BaS_GNU/flash.lk +++ b/BaS_GNU/BaS_GNU/flash.lk @@ -1,6 +1,6 @@ -ENTRY(_startup); MEMORY { - code (RX) : ORIGIN = 0xE0000000, LENGTH = 0x00200000 + flash (RX) : ORIGIN = 0xE0000000, LENGTH = 0xFFFFFFFF + ram (WX) : ORIGIN = 0x1FE00000, LENGTH = 0x00100000 /* target to copy BaS to */ } SECTIONS { @@ -33,8 +33,9 @@ SECTIONS { __RAMBAR1 = ABSOLUTE(0xFF101000); __RAMBAR1_SIZE = ABSOLUTE(0x00001000); - /* Systemveriablem:****************************************** */ - /* RAMBAR0 0 bis 0x7FF -> exception vectoren */ + /* system variables */ + + /* RAMBAR0 0 to 0x7FF -> exception vectors */ _rt_mod = __RAMBAR0 + 0x800; _rt_ssp = __RAMBAR0 + 0x804; _rt_usp = __RAMBAR0 + 0x808; @@ -53,20 +54,19 @@ SECTIONS { _video_sbt = __RAMBAR0 + 0x83C; _rt_mbar = __RAMBAR0 + 0x844; /* (c)0f */ -/**********************************************************/ - -/* 32KB on-chip System SRAM */ + /* 32KB on-chip System SRAM */ __SYS_SRAM = ABSOLUTE(0xFF010000); __SYS_SRAM_SIZE = ABSOLUTE(0x00008000); - .code : {} > code - + .code ___BOOT_FLASH : + { + objs/startcf.o + } > flash + .text : { - objs/startcf.o(.text) objs/sysinit.o(.text) objs/init_fpga.o(.text) - objs/BaS.o(.text) objs/sd_card.o(.text) objs/cache.o(.text) objs/mmu.o(.text) @@ -74,6 +74,12 @@ SECTIONS { objs/supervisor.o(.text) objs/ewf.o(.text) objs/illegal_instruction.o(.text) - objs/last.o(.text) - } > code + _bas = .; + } > flash + + .bas _Bas_base : AT (ADDR(.text) + SIZEOF(.text)) + { + objs/BaS.o(.text) + _bas_length = . - _BaS; + } > ram } \ No newline at end of file