Skip to content

Commit

Permalink
Fix boot process so the board boots by default. Remove unused linker …
Browse files Browse the repository at this point in the history
…script configs
  • Loading branch information
aw committed Jan 9, 2023
1 parent d1ca95b commit a5f8358
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 48 deletions.
47 changes: 0 additions & 47 deletions fiveforths.ld
Original file line number Diff line number Diff line change
Expand Up @@ -15,54 +15,7 @@ SECTIONS {
{
. = ALIGN(4);
*(.text) /* .text sections (code) */
*(.text*) /* .text* sections (code) */
*(.rodata) /* .rodata sections (constants, strings, etc.) */
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
*(.srodata) /* .rodata sections (constants, strings, etc.) */
*(.srodata*) /* .rodata* sections (constants, strings, etc.) */
_etext = .; /* define a global symbol at end of code */
_sidata = _etext; /* This is used by the startup in order to initialize the .data secion */
} >FLASH

/* This is the initialized data section
The program executes knowing that the data is in the RAM
but the loader puts the initial values in the FLASH (inidata).
It is one task of the startup to copy the initial values from FLASH to RAM. */
.data : AT ( _sidata )
{
. = ALIGN(4);
_sdata = .; /* create a global symbol at data start; used by startup code in order to initialise the .d
ata section in RAM */
_ram_start = .; /* create a global symbol at ram start for garbage collector */
. = ALIGN(4);
*(.data) /* .data sections */
*(.data*) /* .data* sections */
*(.sdata) /* .sdata sections */
*(.sdata*) /* .sdata* sections */
. = ALIGN(4);
_edata = .; /* define a global symbol at data end; used by startup code in order to initialise the .dat
a section in RAM */
} >RAM

/* Uninitialized data section */
.bss :
{
. = ALIGN(4);
_sbss = .; /* define a global symbol at bss start; used by startup code */
*(.bss)
*(.bss*)
*(.sbss)
*(.sbss*)
*(COMMON)

. = ALIGN(4);
_ebss = .; /* define a global symbol at bss end; used by startup code */
} >RAM

/* this is to define the start of the heap, and make sure we have a minimum size */
.heap :
{
. = ALIGN(4);
_heap_start = .; /* define a global symbol at heap start */
} >RAM
}
3 changes: 3 additions & 0 deletions src/03-interrupts.s
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
##

.text
.global _start
_start:
j boot

.balign CELL
.global interrupt_handler
Expand Down
2 changes: 1 addition & 1 deletion src/06-initialization.s
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
.global _start

# board boot initializations
_start:
boot:
call interrupt_init # RISC-V interrupt CSR initialization
call uart_init # board specific UART initialization
call gpio_init # board specific GPIO initialization
Expand Down

0 comments on commit a5f8358

Please sign in to comment.