Eventually I want the kernel to be loaded from the SD card as well, but it still needs to separate from user programs. At some point there should be a folder just for the BIOS, which should read from the boot block of the SD card and start executing, and thats it.
36 lines
1.2 KiB
Plaintext
36 lines
1.2 KiB
Plaintext
MEMORY
|
|
{
|
|
ZP: start = $0, size = $100, type = rw, define = yes;
|
|
SDRAM: start = $200, size = $7cf0, type = rw, define = yes;
|
|
ROM: start = $8000, size = $8000, fill = yes, fillval = $ff, file = %O;
|
|
}
|
|
|
|
SEGMENTS {
|
|
ZEROPAGE: load = ZP, type = zp, define = yes;
|
|
DATA: load = ROM, type = rw, define = yes, run = SDRAM;
|
|
BSS: load = SDRAM, type = bss, define = yes;
|
|
HEAP: load = SDRAM, type = bss, optional = yes;
|
|
STARTUP: load = ROM, type = ro;
|
|
ONCE: load = ROM, type = ro, optional = yes;
|
|
CODE: load = ROM, type = ro;
|
|
RODATA: load = ROM, type = ro;
|
|
VECTORS: load = ROM, type = ro, start = $FFFA;
|
|
}
|
|
|
|
FEATURES {
|
|
CONDES: segment = STARTUP,
|
|
type = constructor,
|
|
label = __CONSTRUCTOR_TABLE__,
|
|
count = __CONSTRUCTOR_COUNT__;
|
|
CONDES: segment = STARTUP,
|
|
type = destructor,
|
|
label = __DESTRUCTOR_TABLE__,
|
|
count = __DESTRUCTOR_COUNT__;
|
|
}
|
|
|
|
SYMBOLS {
|
|
# Define the stack size for the application
|
|
__STACKSIZE__: value = $0200, type = weak;
|
|
__STACKSTART__: type = weak, value = $0800; # 2k stack
|
|
}
|