Загрузка данных
IMXRT1064: Регион описан только в dts.
/* RT1060 has a dedicated OCRAM region */
ocram2: ocram@20200000 {
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0x20200000 DT_SIZE_K(512)>;
zephyr,memory-region = "OCRAM2";
};
Надо ли добавлять регион в линкер скрипт?(*.ld), надо ли его обнулять, или для своего malloc необязательно?
[140/145] Linking C executable zephyr/zephyr_pre0.elf
/home/vovan/ZEPHYR_RTOS/zephyrsdk/zephyr-sdk-0.16.3/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: warning: orphan section `.ocram2' from `libpjproject.a(ocram2_alloc.c.obj)' being placed in section `.ocram2'
[145/145] Linking C executable zephyr/zephyr.elf
/home/vovan/ZEPHYR_RTOS/zephyrsdk/zephyr-sdk-0.16.3/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: warning: orphan section `.ocram2' from `libpjproject.a(ocram2_alloc.c.obj)' being placed in section `.ocram2'
Memory region Used Size Region Size %age Used
FLASH: 1795056 B 4 MB 42.80%
RAM: 171532 B 32 MB 0.51%
ITCM: 64864 B 64 KB 98.97%
DTCM: 346880 B 416 KB 81.43%
OCRAM: 0 GB 32 KB 0.00%
OCRAM2: 0 GB 512 KB 0.00%
IDT_LIST: 0 GB 32 KB 0.00%
в главном линкер скрипте создаются регионы памяти из dts заглавными буквами.
objdump -h zephyr.elf
zephyr.elf: формат файла elf32-littlearm
Разделы:
Idx Name Разм VMA LMA Фа смещ. Выр.
0 rom_start 000022c0 70000000 70000000 000001b4 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .dtcm_data_reloc 00000058 20000000 700022c0 00002474 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .itcm_text_reloc 0000fd60 00000000 70002318 000024d0 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
3 text 000ddef0 70012080 70012080 00012230 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
4 .ARM.exidx 00000008 700eff70 700eff70 000f0120 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 initlevel 000001c8 700eff78 700eff78 000f0128 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 device_area 000004a4 700f0140 700f0140 000f02f0 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 sw_isr_table 00000500 700f05e4 700f05e4 000f0794 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 _static_thread_data_area 00000090 700f0ae8 700f0ae8 000f0c98 2**3
CONTENTS, ALLOC, LOAD, DATA
9 dma_driver_api_area 00000028 700f0b78 700f0b78 000f0d28 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
10 entropy_driver_api_area 00000008 700f0ba0 700f0ba0 000f0d50 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
11 flash_driver_api_area 00000018 700f0ba8 700f0ba8 000f0d58 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
12 gpio_driver_api_area 00000024 700f0bc0 700f0bc0 000f0d70 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
13 i2c_driver_api_area 00000018 700f0be4 700f0be4 000f0d94 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
14 i2s_driver_api_area 00000014 700f0bfc 700f0bfc 000f0dac 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
15 clock_control_driver_api_area 0000001c 700f0c10 700f0c10 000f0dc0 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
16 mdio_driver_api_area 00000018 700f0c2c 700f0c2c 000f0ddc 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
17 uart_driver_api_area 0000004c 700f0c44 700f0c44 000f0df4 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
18 ethphy_driver_api_area 00000028 700f0c90 700f0c90 000f0e40 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
19 net_l3_register_area 00000030 700f0cb8 700f0cb8 000f0e68 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
20 net_socket_register_area 00000010 700f0ce8 700f0ce8 000f0e98 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
21 log_const_area 00000180 700f0cf8 700f0cf8 000f0ea8 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
22 log_backend_area 00000010 700f0e78 700f0e78 000f1028 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
23 input_callback_area 00000024 700f0e88 700f0e88 000f1038 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
24 shell_area 00000030 700f0eac 700f0eac 000f105c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
25 shell_root_cmds_area 00000040 700f0edc 700f0edc 000f108c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
26 shell_subcmds_area 000003ac 700f0f1c 700f0f1c 000f10cc 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
27 shell_dynamic_subcmds_area 00000038 700f12c8 700f12c8 000f1478 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
28 tdata 00000008 700f1300 700f1300 000f14b0 2**3
CONTENTS, ALLOC, LOAD, DATA, THREAD_LOCAL
29 tbss 00000008 700f1308 700f1308 000f14b8 2**2
ALLOC, THREAD_LOCAL
30 rodata 0003a5fc 700f1308 700f1308 000f14b8 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
31 .sram_vt 00000400 80000000 7012b904 0012bab4 2**0
ALLOC
32 nocache 00003800 80000800 7012bd04 0012c000 2**11
CONTENTS, ALLOC, LOAD, DATA
33 .ramfunc 00000100 80004000 7012f504 0012f800 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
34 datas 000054f4 80004100 7012f604 0012f900 2**3
CONTENTS, ALLOC, LOAD, DATA
35 device_states 00000044 800095f4 70134af8 00134df4 2**0
CONTENTS, ALLOC, LOAD, DATA
36 log_mpsc_pbuf_area 00000040 80009638 70134b3c 00134e38 2**2
CONTENTS, ALLOC, LOAD, DATA
37 log_msg_ptr_area 00000004 80009678 70134b7c 00134e78 2**2
CONTENTS, ALLOC, LOAD, DATA
38 log_dynamic_area 000000c0 8000967c 70134b80 00134e7c 2**2
CONTENTS, ALLOC, LOAD, DATA
39 k_mem_slab_area 000000fc 8000973c 70134c40 00134f3c 2**2
CONTENTS, ALLOC, LOAD, DATA
40 k_heap_area 0000003c 80009838 70134d3c 00135038 2**2
CONTENTS, ALLOC, LOAD, DATA
41 k_mutex_area 000000c8 80009874 70134d78 00135074 2**2
CONTENTS, ALLOC, LOAD, DATA
42 k_msgq_area 000000f0 8000993c 70134e40 0013513c 2**2
CONTENTS, ALLOC, LOAD, DATA
43 k_sem_area 000000d8 80009a2c 70134f30 0013522c 2**2
CONTENTS, ALLOC, LOAD, DATA
44 net_buf_pool_area 000000b0 80009b04 70135008 00135304 2**2
CONTENTS, ALLOC, LOAD, DATA
45 net_if_area 00000044 80009bb4 701350b8 001353b4 2**2
CONTENTS, ALLOC, LOAD, DATA
46 net_if_dev_area 00000028 80009bf8 701350fc 001353f8 2**3
CONTENTS, ALLOC, LOAD, DATA
47 net_l2_area 00000014 80009c20 70135124 00135420 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
48 usbd_context_area 00000074 80009c34 70135138 00135434 2**2
CONTENTS, ALLOC, LOAD, DATA
49 usbd_class_fs_area 00000018 80009ca8 701351ac 001354a8 2**2
CONTENTS, ALLOC, LOAD, DATA
50 usbd_class_hs_area 00000018 80009cc0 701351c4 001354c0 2**2
CONTENTS, ALLOC, LOAD, DATA
51 .dtcm_bss 00014070 20000080 20000080 000001c0 2**6
ALLOC
52 .dtcm_noinit 0003f800 20014100 20014100 000001c0 2**6
ALLOC
53 .dtcm_data 00001200 20053900 701351dc 001354d8 2**2
CONTENTS, ALLOC, LOAD, DATA
54 usbd_msc_lun_area 00000010 701363dc 701363dc 001366d8 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
55 .comment 00000020 00000000 00000000 001b66ec 2**0
CONTENTS, READONLY
56 .debug_aranges 0000f1d8 00000000 00000000 001b6710 2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
57 .debug_info 008d75b9 00000000 00000000 001c58e8 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
58 .debug_abbrev 00084ed9 00000000 00000000 00a9cea1 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
59 .debug_line 0024dd07 00000000 00000000 00b21d7a 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
60 .debug_frame 00035418 00000000 00000000 00d6fa84 2**2
CONTENTS, READONLY, DEBUGGING, OCTETS
61 .debug_str 0006e88f 00000000 00000000 00da4e9c 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
62 .debug_loc 002deabf 00000000 00000000 00e1372b 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
63 .debug_ranges 0006bba8 00000000 00000000 010f21f0 2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
64 .ARM.attributes 00000036 00000000 00000000 0115dd98 2**0
CONTENTS, READONLY
65 .last_section 00000004 701363ec 701363ec 001366e8 2**2
CONTENTS, ALLOC, LOAD, DATA
66 .ocram2 00080000 701363f0 701363f0 001366ec 2**2
CONTENTS, ALLOC, LOAD, DATA
67 bss 000177f2 80009cd8 80009cd8 001b6758 2**3
ALLOC
68 noinit 0000890c 80021500 80021500 001b6758 2**7
ALLOC