Skip to content

Commit

Permalink
[Ion/ld] Moved storage and persisting bytes position
Browse files Browse the repository at this point in the history
  • Loading branch information
RedGl0w committed Sep 14, 2021
1 parent 4fb36ce commit 0e1d6f2
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 9 deletions.
2 changes: 1 addition & 1 deletion ion/src/device/kernel/shared_kernel_flash.ld
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
PERSITING_BYTES_ORIGIN = PERSITING_BYTES_VIRTUAL_ORIGIN + EPSILON_SLOT * PERSITING_BYTES_LENGTH;
PERSITING_BYTES_ORIGIN = PERSITING_BYTES_VIRTUAL_ORIGIN + EPSILON_OFFSET;
KERNEL_ORIGIN = KERNEL_VIRTUAL_ORIGIN + EPSILON_OFFSET;

MEMORY {
Expand Down
6 changes: 5 additions & 1 deletion ion/src/device/n0100/shared/config_flash.ld
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@ PERSITING_BYTES_VIRTUAL_ORIGIN = KERNEL_VIRTUAL_ORIGIN + KERNEL_LENGTH;
PERSITING_BYTES_LENGTH = SMALLEST_FLASH_SECTOR_LENGTH;

USERLAND_VIRTUAL_ORIGIN = PERSITING_BYTES_VIRTUAL_ORIGIN + PERSITING_BYTES_LENGTH;
USERLAND_AND_EXTERNAL_APPS_LENGTH = FLASH_LENGTH - PERSITING_BYTES_LENGTH - KERNEL_LENGTH;
USERLAND_LENGTH = FLASH_LENGTH - PERSITING_BYTES_LENGTH - KERNEL_LENGTH;

STORAGE_ORIGIN = FLASH_ORIGIN + FLASH_LENGTH;
STORAGE_SIZE = 0;


SIGNED_PAYLOAD_LENGTH = 0;
CANARY_LENGTH = 0;
Expand Down
10 changes: 8 additions & 2 deletions ion/src/device/n0110/shared/config_flash.ld
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,20 @@ EXTERNAL_FLASH_ORIGIN = 0x90000000;
EXTERNAL_FLASH_LENGTH = 8M;
STANDARD_EXTERNAL_FLASH_SECTOR_LENGTH = 64K;

PERSITING_BYTES_VIRTUAL_ORIGIN = EXTERNAL_FLASH_ORIGIN + EXTERNAL_FLASH_LENGTH - 2 * STANDARD_EXTERNAL_FLASH_SECTOR_LENGTH;
SLOT_SIZE = 1M+500K;

PERSITING_BYTES_VIRTUAL_ORIGIN = EXTERNAL_FLASH_ORIGIN + SLOT_SIZE - STANDARD_EXTERNAL_FLASH_SECTOR_LENGTH;
PERSITING_BYTES_LENGTH = STANDARD_EXTERNAL_FLASH_SECTOR_LENGTH;

KERNEL_VIRTUAL_ORIGIN = EXTERNAL_FLASH_ORIGIN;
KERNEL_LENGTH = 64K;

USERLAND_VIRTUAL_ORIGIN = KERNEL_VIRTUAL_ORIGIN + KERNEL_LENGTH;
USERLAND_AND_EXTERNAL_APPS_LENGTH = EXTERNAL_FLASH_LENGTH / 2 - KERNEL_LENGTH - PERSITING_BYTES_LENGTH;
USERLAND_LENGTH = SLOT_SIZE - PERSITING_BYTES_LENGTH - KERNEL_LENGTH;

STORAGE_ORIGIN = EXTERNAL_FLASH_ORIGIN + 2 * SLOT_SIZE;
STORAGE_SIZE = STORAGE_ORIGIN - EXTERNAL_FLASH_ORIGIN;


SIGNED_PAYLOAD_LENGTH = 8;
CANARY_LENGTH = 4;
Expand Down
1 change: 0 additions & 1 deletion ion/src/device/n0110/shared/config_slot_a.ld
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
EPSILON_OFFSET = 0;
EPSILON_SLOT = 0;
1 change: 0 additions & 1 deletion ion/src/device/n0110/shared/config_slot_b.ld
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
EPSILON_OFFSET = 1M;
EPSILON_SLOT = 1;
2 changes: 1 addition & 1 deletion ion/src/device/n0110/userland/flash/storage.ld
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
. = ALIGN(64K);
_storage_flash_start = .;
. = (ORIGIN(FLASH_USERLAND) + LENGTH(FLASH_USERLAND));
. = (ORIGIN(STORAGE) + LENGTH(STORAGE));
_storage_flash_end = .;
5 changes: 3 additions & 2 deletions ion/src/device/userland/shared_userland_flash.ld
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
USERLAND_ORIGIN = USERLAND_VIRTUAL_ORIGIN + EPSILON_OFFSET;

MEMORY {
FLASH_USERLAND (rx) : ORIGIN = USERLAND_ORIGIN, LENGTH = USERLAND_AND_EXTERNAL_APPS_LENGTH
FLASH_USERLAND (rx) : ORIGIN = USERLAND_ORIGIN, LENGTH = USERLAND_LENGTH
STORAGE (rx) : ORIGIN = STORAGE_ORIGIN, LENGTH = STORAGE_SIZE
SRAM (rw) : ORIGIN = USERLAND_SRAM_ORIGIN, LENGTH = USERLAND_SRAM_LENGTH
}

Expand Down Expand Up @@ -65,7 +66,7 @@ SECTIONS {

.storage_flash : {
INCLUDE flash/storage.ld
} >FLASH_USERLAND
} >STORAGE

.bss : {
/* The bss section contains data for all uninitialized variables
Expand Down

0 comments on commit 0e1d6f2

Please sign in to comment.