File tree 4 files changed +105
-0
lines changed
4 files changed +105
-0
lines changed Original file line number Diff line number Diff line change
1
+ MEMORY
2
+ {
3
+ KERNEL_RAM (xrw) : ORIGIN = @KERNEL_RAM_ADDR@, LENGTH = @KERNEL_RAM_SIZE@
4
+ WORKER_RAM (xrw) : ORIGIN = @WORKER_RAM_ADDR@, LENGTH = @WORKER_RAM_SIZE@
5
+ APP_RAM (xrw) : ORIGIN = @APP_RAM_ADDR@, LENGTH = @APP_RAM_SIZE@
6
+
7
+ /* Bootloader now ends at 0x8008000, once we're sure we won't break */
8
+ /* current watches, we should take advantage of this free space. */
9
+ FLASH (rx) : ORIGIN = @FW_FLASH_ORIGIN@, LENGTH = @FW_FLASH_LENGTH@
10
+ }
11
+
12
+ __FLASH_start__ = @FLASH_ORIGIN@;
13
+ __FLASH_size__ = @FLASH_SIZE@;
14
+
15
+ REGION_ALIAS("REGION_ISR_STACK", KERNEL_RAM);
16
+ REGION_ALIAS("REGION_KERNEL_STACKS", KERNEL_RAM);
17
+ REGION_ALIAS("REGION_KERNEL_HEAP", KERNEL_RAM);
18
+
19
+ @BOOTLOADER_SYMBOLS@
20
+
Original file line number Diff line number Diff line change
1
+ MEMORY
2
+ {
3
+ KERNEL_RAM (xrw) : ORIGIN = @KERNEL_RAM_ADDR@, LENGTH = @KERNEL_RAM_SIZE@
4
+ WORKER_RAM (xrw) : ORIGIN = @WORKER_RAM_ADDR@, LENGTH = @WORKER_RAM_SIZE@
5
+ APP_RAM (xrw) : ORIGIN = @APP_RAM_ADDR@, LENGTH = @APP_RAM_SIZE@
6
+
7
+ /* Bootloader now ends at 0x8008000, once we're sure we won't break */
8
+ /* current watches, we should take advantage of this free space. */
9
+ FLASH (rx) : ORIGIN = @FW_FLASH_ORIGIN@, LENGTH = @FW_FLASH_LENGTH@
10
+ }
11
+
12
+ __FLASH_start__ = @FLASH_ORIGIN@;
13
+ __FLASH_size__ = @FLASH_SIZE@;
14
+
15
+ REGION_ALIAS("REGION_ISR_STACK", KERNEL_RAM);
16
+ REGION_ALIAS("REGION_KERNEL_STACKS", KERNEL_RAM);
17
+ REGION_ALIAS("REGION_KERNEL_HEAP", KERNEL_RAM);
18
+
Original file line number Diff line number Diff line change
1
+ MEMORY
2
+ {
3
+ KERNEL_RAM (xrw) : ORIGIN = @KERNEL_RAM_ADDR@, LENGTH = @KERNEL_RAM_SIZE@
4
+ WORKER_RAM (xrw) : ORIGIN = @WORKER_RAM_ADDR@, LENGTH = @WORKER_RAM_SIZE@
5
+ APP_RAM (xrw) : ORIGIN = @APP_RAM_ADDR@, LENGTH = @APP_RAM_SIZE@
6
+
7
+ CCM (rw) : ORIGIN = 0x10000000, LENGTH = 64K
8
+
9
+ /* Bootloader now ends at 0x8008000, once we're sure we won't break */
10
+ /* current watches, we should take advantage of this free space. */
11
+ FLASH (rx) : ORIGIN = @FW_FLASH_ORIGIN@, LENGTH = @FW_FLASH_LENGTH@
12
+ }
13
+
14
+ __FLASH_start__ = @FLASH_ORIGIN@;
15
+ __FLASH_size__ = @FLASH_SIZE@;
16
+
17
+ __CCM_RAM_start__ = ORIGIN(CCM);
18
+ __CCM_RAM_size__ = LENGTH(CCM);
19
+
20
+ REGION_ALIAS("REGION_ISR_STACK", KERNEL_RAM);
21
+ REGION_ALIAS("REGION_KERNEL_STACKS", CCM);
22
+ REGION_ALIAS("REGION_KERNEL_HEAP", CCM);
Original file line number Diff line number Diff line change
1
+ MEMORY
2
+ {
3
+ /*
4
+ * STM32F769 has 512kb total of system RAM
5
+ * DTCM-RAM - 128kb - TCM "for critical real-time data"
6
+ * 0x20000000 - 0x2001ffff
7
+ * SRAM1 - 368kb - AHB
8
+ * 0x20020000 - 0x2007bfff
9
+ * SRAM2 - 16kb - AHB
10
+ * 0x2007c000 - 0x2007ffff
11
+ *
12
+ * We put a bunch of static variables (tagged with DTCM_BSS) into DTCM and then use both SRAM
13
+ * regions as one continuous blob which gives us 384k of RAM to play with.
14
+ */
15
+ DTCM (rw) : ORIGIN = 0x20000000, LENGTH = 128K
16
+
17
+ KERNEL_RAM (xrw) : ORIGIN = @KERNEL_RAM_ADDR@, LENGTH = @KERNEL_RAM_SIZE@
18
+ WORKER_RAM (xrw) : ORIGIN = @WORKER_RAM_ADDR@, LENGTH = @WORKER_RAM_SIZE@
19
+ APP_RAM (xrw) : ORIGIN = @APP_RAM_ADDR@, LENGTH = @APP_RAM_SIZE@
20
+
21
+ FLASH (rx) : ORIGIN = @FW_FLASH_ORIGIN@, LENGTH = @FW_FLASH_LENGTH@
22
+ }
23
+
24
+ __FLASH_start__ = @FLASH_ORIGIN@;
25
+ __FLASH_size__ = @FLASH_SIZE@;
26
+
27
+ __DTCM_RAM_size__ = LENGTH(DTCM);
28
+
29
+ REGION_ALIAS("REGION_ISR_STACK", DTCM);
30
+ REGION_ALIAS("REGION_KERNEL_STACKS", DTCM);
31
+ REGION_ALIAS("REGION_KERNEL_HEAP", KERNEL_RAM);
32
+
33
+ SECTIONS
34
+ {
35
+ .dtcm_bss (NOLOAD) : {
36
+ __dtcm_bss_start = .;
37
+
38
+ *(.dtcm_bss)
39
+ *(.dtcm_bss.*)
40
+
41
+ . = ALIGN(8);
42
+ __dtcm_bss_end = .;
43
+ } >DTCM
44
+ }
45
+
You can’t perform that action at this time.
0 commit comments