Hi, I have a very simple code in AM243x-LP using the M4F core. I've mapped some functions into a section called dclfuncs and I'm using a generic M4F linker script found in MCU+ SDK, with an addintional line
dclfuncs : {} > M4F_DRAM
,Mapping the functions into M4F_DRAM. The produced .map file is attached below.
****************************************************************************** TI ARM Clang Linker PC v2.1.3 ****************************************************************************** >> Linked Fri Sep 15 01:58:24 2023 OUTPUT FILE NAME: <dcl_df22_am243x-lp_m4fss0-0_nortos_ti-arm-clang.out> ENTRY POINT SYMBOL: "_c_int00" address: 0000ce35 MEMORY CONFIGURATION name origin length used unused attr fill ---------------------- -------- --------- -------- -------- ---- -------- M4F_VECS 00000000 00000200 00000140 000000c0 RWIX M4F_IRAM 00000200 0002fe00 00011928 0001e4d8 RWIX M4F_DRAM 00030000 00010000 0000566e 0000a992 RWIX USER_SHM_MEM 701d0000 00000180 00000000 00000180 RWIX LOG_SHM_MEM 701d0180 00003e80 00000000 00003e80 RWIX IPC_VRING_MEM 701d4000 0000c000 00000000 0000c000 RWIX SEGMENT ALLOCATION MAP run origin load origin length init length attrs members ---------- ----------- ---------- ----------- ----- ------- 00000000 00000000 00000140 00000140 rw- 00000000 00000000 00000140 00000140 rw- .vectors 00000200 00000200 00008000 00000000 rw- 00000200 00000200 00008000 00000000 rw- .sysmem 00008200 00008200 00005928 00005928 r-x 00008200 00008200 00005928 00005928 r-x .text 0000db28 0000db28 00004000 00000000 rw- 0000db28 0000db28 00004000 00000000 rw- .stack 00030000 00030000 00003588 00003588 r-- 00030000 00030000 00003588 00003588 r-- .rodata 00033588 00033588 00001d88 00000000 rw- 00033588 00033588 00001d88 00000000 rw- .bss 00035310 00035310 000002e8 000002e8 rw- 00035310 00035310 000002e8 000002e8 rw- .data 000355f8 000355f8 00000076 00000076 r-x 000355f8 000355f8 00000076 00000076 r-x dclfuncs SECTION ALLOCATION MAP output attributes/ section page origin length input sections -------- ---- ---------- ---------- ---------------- dclfuncs 0 000355f8 00000076 000355f8 00000076 df22_test.o (dclfuncs) .vectors 0 00000000 00000140 00000000 00000140 nortos.am243x.m4f.ti-arm-clang.debug.lib : HwiP_armv7m_handlers_nortos.obj (.vectors) .sysmem 0 00000200 00008000 UNINITIALIZED 00000200 00000010 libc.a : memory.c.obj (.sysmem) 00000210 00007ff0 --HOLE-- .text 0 00008200 00005928 00008200 00000a30 nortos.am243x.m4f.ti-arm-clang.debug.lib : printf.obj (.text._vsnprintf) 00008c30 00000640 : printf.obj (.text._etoa) 00009270 00000580 : printf.obj (.text._ftoa) 000097f0 000004a8 : HwiP_armv7m.obj (.text.hwi) 00009c98 000002da drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.Sciclient_service) 00009f72 0000023c nortos.am243x.m4f.ti-arm-clang.debug.lib : printf.obj (.text._ntoa_format) 0000a1ae 0000023a : MpuP_armv7m.obj (.text.mpu) 0000a3e8 000001b6 libclang_rt.builtins.a : adddf3.S.obj (.text) 0000a59e 000001b2 drivers.am243x.m4f.ti-arm-clang.debug.lib : soc.obj (.text.SOC_moduleSetClockFrequency) 0000a750 00000186 nortos.am243x.m4f.ti-arm-clang.debug.lib : SysTickTimerP.obj (.text.SysTickTimerP_setup) 0000a8d6 00000002 ti_board_config.o (.text.Board_deinit) 0000a8d8 00000168 df22_test.o (.text.DF22_runTest) 0000aa40 0000015e nortos.am243x.m4f.ti-arm-clang.debug.lib : ClockP_nortos_m4.obj (.text.ClockP_init) 0000ab9e 00000142 drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.Sciclient_sendMessage) 0000ace0 00000138 nortos.am243x.m4f.ti-arm-clang.debug.lib : printf.obj (.text._ntoa_long_long) 0000ae18 00000136 libclang_rt.builtins.a : divdf3.S.obj (.text) 0000af4e 0000012e drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.Sciclient_recvMessage) 0000b07c 00000126 : sciclient_pm.obj (.text.Sciclient_pmQueryModuleClkFreq) 0000b1a2 00000002 ti_board_open_close.o (.text.Board_driversClose) 0000b1a4 00000120 libc.a : memory.c.obj (.text.aligned_alloc) 0000b2c4 00000114 nortos.am243x.m4f.ti-arm-clang.debug.lib : printf.obj (.text._ntoa_long) 0000b3d8 0000010c drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient_pm.obj (.text.Sciclient_pmSetModuleClkFreq) 0000b4e4 0000010a nortos.am243x.m4f.ti-arm-clang.debug.lib : HwiP_armv7m_handlers_nortos.obj (.text.hwi) 0000b5ee 00000002 ti_board_config.o (.text.Board_init) 0000b5f0 000000fc libclang_rt.builtins.a : muldf3.S.obj (.text) 0000b6ec 000000f8 libc.a : memory.c.obj (.text.free) 0000b7e4 000000e8 nortos.am243x.m4f.ti-arm-clang.debug.lib : AddrTranslateP.obj (.text.AddrTranslateP_getLocalAddr) 0000b8cc 000000de drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.Sciclient_waitForMessage) 0000b9aa 00000002 ti_dpl_config.o (.text.Dpl_deinit) 0000b9ac 000000d8 libc.a : setvbuf.c.obj (.text.setvbuf) 0000ba84 000000d4 drivers.am243x.m4f.ti-arm-clang.debug.lib : pinmux.obj (.text.Pinmux_unlockMMR) 0000bb58 000000c0 nortos.am243x.m4f.ti-arm-clang.debug.lib : printf.obj (.text._out_rev) 0000bc18 000000b8 : AddrTranslateP.obj (.text.AddrTranslateP_init) 0000bcd0 000000b8 : ClockP_nortos.obj (.text.ClockP_timerTickIsr) 0000bd88 000000b2 drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.Sciclient_getCurrentContext) 0000be3a 00000002 ti_drivers_open_close.o (.text.Drivers_close) 0000be3c 000000b0 libclang_rt.builtins.a : udivmoddi4.S.obj (.text) 0000beec 000000ac nortos.am243x.m4f.ti-arm-clang.debug.lib : AddrTranslateP.obj (.text.AddrTranslateP_setRegion) 0000bf98 000000a8 : ClockP_nortos.obj (.text.ClockP_addToList) 0000c040 000000a6 drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient_pm.obj (.text.Sciclient_pmGetModuleClkNumParent) 0000c0e6 00000002 ti_drivers_open_close.o (.text.Drivers_open) 0000c0e8 0000009e drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient_soc_priv.obj (.text.Sciclient_getContext) 0000c186 0000009c : pinmux.obj (.text.Pinmux_config) 0000c222 0000009a : sciclient_pm.obj (.text.Sciclient_pmGetModuleClkParent) 0000c2bc 0000009a : sciclient_pm.obj (.text.Sciclient_pmSetModuleClkParent) 0000c356 00000098 : sciclient_pm.obj (.text.Sciclient_pmModuleGetClkStatus) 0000c3ee 00000096 : sciclient.obj (.text.Sciclient_init) 0000c484 00000092 : soc.obj (.text.SOC_moduleClockEnable) 0000c516 0000008c : sciclient_pm.obj (.text.Sciclient_pmGetModuleState) 0000c5a2 0000008c : sciclient_pm.obj (.text.Sciclient_pmModuleClkRequest) 0000c62e 0000008c : sciclient_pm.obj (.text.Sciclient_pmSetModuleState) 0000c6ba 00000002 libclang_rt.builtins.a : aeabi_div0.c.obj (.text.__aeabi_ldiv0) 0000c6bc 00000088 libc.a : fputc.c.obj (.text.fputc) 0000c744 00000086 nortos.am243x.m4f.ti-arm-clang.debug.lib : ClockP_nortos.obj (.text.ClockP_getTimeUsec) 0000c7ca 0000007a : DebugP_log.obj (.text._DebugP_assert) 0000c844 00000074 libc.a : fclose.c.obj (.text.__TI_closefile) 0000c8b8 0000006e libclang_rt.builtins.a : comparedf2.c.obj (.text.__gedf2) 0000c926 00000002 libc.a : _lock.c.obj (.text._nop) 0000c928 0000006e libclang_rt.builtins.a : comparedf2.c.obj (.text.__ledf2) 0000c996 00000002 --HOLE-- [fill = 0] 0000c998 0000006c libc.a : memory.c.obj (.text.split) 0000ca04 0000006a drivers.am243x.m4f.ti-arm-clang.debug.lib : pinmux.obj (.text.Pinmux_lockMMR) 0000ca6e 00000002 --HOLE-- [fill = 0] 0000ca70 00000068 libc.a : fseek.c.obj (.text.fseeko) 0000cad8 00000068 : getdevice.c.obj (.text.getdevice) 0000cb40 00000064 libsysbm.a : hostrename.c.obj (.text.HOSTrename) 0000cba4 00000062 libclang_rt.builtins.a : aeabi_dcmp.S.obj (.text) 0000cc06 00000060 libc.a : _io_perm.c.obj (.text.__TI_wrt_ok) 0000cc66 00000002 --HOLE-- [fill = 0] 0000cc68 00000060 libsysbm.a : close.c.obj (.text.close) 0000ccc8 0000005e drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient_pm.obj (.text.Sciclient_pmSetModuleRst) 0000cd26 0000005c ti_power_clock_config.o (.text.Module_clockSetFrequency) 0000cd82 00000002 --HOLE-- [fill = 0] 0000cd84 00000058 libsysbm.a : hostlseek.c.obj (.text.HOSTlseek) 0000cddc 00000058 : hostopen.c.obj (.text.HOSTopen) 0000ce34 00000056 nortos.am243x.m4f.ti-arm-clang.debug.lib : boot_armv7m.obj (.text:_c_int00) 0000ce8a 00000002 --HOLE-- [fill = 0] 0000ce8c 00000054 libsysbm.a : hostread.c.obj (.text.HOSTread) 0000cee0 00000054 : hostwrite.c.obj (.text.HOSTwrite) 0000cf34 0000004e libc.a : fflush.c.obj (.text.__TI_doflush) 0000cf82 0000004c ti_power_clock_config.o (.text.Module_clockDisable) 0000cfce 0000004c ti_power_clock_config.o (.text.Module_clockEnable) 0000d01a 00000002 --HOLE-- [fill = 0] 0000d01c 0000004a drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient_soc_priv.obj (.text.Sciclient_getDevId) 0000d066 00000002 --HOLE-- [fill = 0] 0000d068 00000048 libclang_rt.builtins.a : fixdfsi.S.obj (.text) 0000d0b0 00000046 ti_dpl_config.o (.text.Dpl_init) 0000d0f6 00000002 --HOLE-- [fill = 0] 0000d0f8 00000044 libsysbm.a : hostunlink.c.obj (.text.HOSTunlink) 0000d13c 00000044 nortos.am243x.m4f.ti-arm-clang.debug.lib : DebugP_nortos.obj (.text._DebugP_logZone) 0000d180 00000044 : printf.obj (.text._strnlen_s) 0000d1c4 00000044 libclang_rt.builtins.a : fixunsdfsi.S.obj (.text) 0000d208 00000042 df22_test.o (.text.DCL_writeLog) 0000d24a 0000003e drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.Sciclient_secProxyWaitThread) 0000d288 0000003c libsysbm.a : hostclose.c.obj (.text.HOSTclose) 0000d2c4 0000003a nortos.am243x.m4f.ti-arm-clang.debug.lib : printf.obj (.text._atoi) 0000d2fe 00000038 df22_test.o (.text.DCL_fillLog) 0000d336 00000038 drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.Sciclient_secProxyFlush) 0000d36e 00000002 --HOLE-- [fill = 0] 0000d370 00000038 libc.a : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit) 0000d3a8 00000038 libclang_rt.builtins.a : extendsfdf2.S.obj (.text) 0000d3e0 00000036 df22_test.o (.text.DCL_readLog) 0000d416 00000002 --HOLE-- [fill = 0] 0000d418 00000034 libc.a : fopen.c.obj (.text.__TI_cleanup) 0000d44c 00000034 libsysbm.a : trgmsg.c.obj (.text.__TI_writemsg) 0000d480 00000034 libc.a : getdevice.c.obj (.text.finddevice) 0000d4b4 00000030 nortos.am243x.m4f.ti-arm-clang.debug.lib : SysTickTimerP.obj (.text.SysTickTimerP_Params_init) 0000d4e4 00000030 libsysbm.a : trgmsg.c.obj (.text.__TI_readmsg) 0000d514 00000030 libclang_rt.builtins.a : comparedf2.c.obj (.text.__unorddf2) 0000d544 00000030 libc.a : exit.c.obj (.text.exit) 0000d574 0000002e drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.CSL_secProxyGetMaxMsgSize) 0000d5a2 0000002e : sciclient.obj (.text.Sciclient_secProxyReadThread32) 0000d5d0 0000002e nortos.am243x.m4f.ti-arm-clang.debug.lib : printf.obj (.text._is_digit) 0000d5fe 00000002 --HOLE-- [fill = 0] 0000d600 0000002e libclang_rt.builtins.a : floatsidf.S.obj (.text) 0000d62e 0000002c nortos.am243x.m4f.ti-arm-clang.debug.lib : DebugP_log.obj (.text.DebugP_logZoneEnable) 0000d65a 00000002 --HOLE-- [fill = 0] 0000d65c 0000002c libsysbm.a : lseek.c.obj (.text.lseek) 0000d688 0000002c : unlink.c.obj (.text.unlink) 0000d6b4 0000002c : write.c.obj (.text.write) 0000d6e0 0000002a ti_drivers_config.o (.text.System_init) 0000d70a 00000028 drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.Sciclient_secProxyVerifyThread) 0000d732 00000028 df22_test.o (.text.dcl_df22_main) 0000d75a 00000002 --HOLE-- [fill = 0] 0000d75c 00000028 libc.a : memory.c.obj (.text.free_list_insert) 0000d784 00000028 nortos.am243x.m4f.ti-arm-clang.debug.lib : printf.obj (.text.vprintf_) 0000d7ac 00000026 ti_drivers_config.o (.text.System_deinit) 0000d7d2 00000026 main.o (.text.main) 0000d7f8 00000024 drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.CSL_REG32_FEXT_RAW) 0000d81c 00000024 nortos.am243x.m4f.ti-arm-clang.debug.lib : HwiP_armv7m.obj (.text.HwiP_inISR) 0000d840 00000024 : DebugP_log.obj (.text._DebugP_assertNoLog) 0000d864 00000024 : printf.obj (.text._out_char) 0000d888 00000024 : boot_armv7m.obj (.text._system_pre_init) 0000d8ac 00000020 df22_test.o (.text.DCL_initLog) 0000d8cc 00000020 df22_test.o (.text.DCL_resetDF22) 0000d8ec 00000020 ti_pinmux_config.o (.text.Pinmux_init) 0000d90c 00000020 libclang_rt.builtins.a : floatunsidf.S.obj (.text) 0000d92c 0000001c drivers.am243x.m4f.ti-arm-clang.debug.lib : csl_sec_proxy.obj (.text.CSL_secProxyGetDataAddr) 0000d948 0000001c libc.a : memory.c.obj (.text.free_list_remove) 0000d964 0000001a nortos.am243x.m4f.ti-arm-clang.debug.lib : SysTickTimerP.obj (.text.SysTickTimerP_start) 0000d97e 0000001a : SysTickTimerP.obj (.text.SysTickTimerP_stop) 0000d998 00000018 drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.Sciclient_secProxyThreadStatusReg) 0000d9b0 00000016 nortos.am243x.m4f.ti-arm-clang.debug.lib : AddrTranslateP.obj (.text.AddrTranslateP_Params_init) 0000d9c6 00000016 drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.Sciclient_secProxyReadThreadCount) 0000d9dc 00000014 ti_dpl_config.o (.text.putchar_) 0000d9f0 00000014 libclang_rt.builtins.a : aeabi_memset.S.obj (.text) 0000da04 00000014 : aeabi_uldivmod.S.obj (.text) 0000da18 00000012 nortos.am243x.m4f.ti-arm-clang.debug.lib : SysTickTimerP.obj (.text.SysTickTimerP_getCount) 0000da2a 00000012 : SysTickTimerP.obj (.text.SysTickTimerP_getReloadCount) 0000da3c 00000010 drivers.am243x.m4f.ti-arm-clang.debug.lib : pinmux.obj (.text.CSL_REG32_WR_RAW) 0000da4c 00000010 : sciclient.obj (.text.CSL_REG32_WR_RAW) 0000da5c 00000010 nortos.am243x.m4f.ti-arm-clang.debug.lib : printf.obj (.text._out_null) 0000da6c 0000000e : ClockP_nortos_m4.obj (.text.ClockP_getTimerCount) 0000da7a 0000000e df22_test.o (.text.DCL_resetLog) 0000da88 0000000e libsysbm.a : hostrename.c.obj (.text.strcpy) 0000da96 0000000e : hostrename.c.obj (.text.strlen) 0000daa4 0000000e libc.a : memset_t2.S.obj (.text:TI_memset_small) 0000dab2 0000000c ti_board_open_close.o (.text.Board_driversOpen) 0000dabe 0000000c drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.CSL_REG32_RD_RAW) 0000daca 0000000c nortos.am243x.m4f.ti-arm-clang.debug.lib : SysTickTimerP.obj (.text.CSL_REG32_RD_RAW) 0000dad6 0000000c ti_power_clock_config.o (.text.PowerClock_init) 0000dae2 0000000c drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.text.Sciclient_deinit) 0000daee 00000002 --HOLE-- [fill = 0] 0000daf0 0000000c libc.a : fputc.c.obj (.text.putchar) 0000dafc 00000008 nortos.am243x.m4f.ti-arm-clang.debug.lib : ClockP_nortos_m4.obj (.text.ClockP_timerClearOverflowInt) 0000db04 00000008 ti_power_clock_config.o (.text.PowerClock_deinit) 0000db0c 00000008 ti_dpl_config.o (.text.boot) 0000db14 00000008 libc.a : memory.c.obj (.text.malloc) 0000db1c 00000004 : fseek.c.obj (.text.fseek) 0000db20 00000004 libsysbm.a : remove.c.obj (.text.remove) 0000db24 00000004 libc.a : exit.c.obj (.text:abort) .stack 0 0000db28 00004000 UNINITIALIZED 0000db28 00000004 nortos.am243x.m4f.ti-arm-clang.debug.lib : boot_armv7m.obj (.stack) 0000db2c 00003ffc --HOLE-- .rodata 0 00030000 00003588 00030000 00001904 df22_test.o (.rodata.ctl_buffer) 00031904 00001904 df22_test.o (.rodata.in_buffer) 00033208 0000012c drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient_fmwSecureProxyMap.obj (.rodata.gSciclientMap) 00033334 000000ac nortos.am243x.m4f.ti-arm-clang.debug.lib : ClockP_nortos_m4.obj (.rodata.str1.1) 000333e0 0000009f : SysTickTimerP.obj (.rodata.str1.1) 0003347f 00000001 --HOLE-- [fill = 0] 00033480 00000050 : printf.obj (.rodata._ftoa.pow10) 000334d0 0000004a df22_test.o (.rodata.str1.1) 0003351a 0000002d nortos.am243x.m4f.ti-arm-clang.debug.lib : DebugP_log.obj (.rodata.str1.1) 00033547 00000001 --HOLE-- [fill = 0] 00033548 0000002c ti_dpl_config.o (.rodata.cfg) 00033574 00000012 nortos.am243x.m4f.ti-arm-clang.debug.lib : printf.obj (.rodata.str1.1) 00033586 00000002 --HOLE-- [fill = 0] .bss 0 00033588 00001d88 UNINITIALIZED 00033588 00001904 df22_test.o (.bss.out_buffer) 00034e8c 00000280 (.common:gHwiCtrl) 0003510c 00000120 libsysbm.a : trgmsg.c.obj (.bss:_CIOBUF_) 0003522c 000000a0 (.common:__TI_tmpnams) 000352cc 00000004 libc.a : memory.c.obj (.bss.sys_free) 000352d0 00000038 (.common:gClockCtrl) 00035308 00000008 (.common:parmbuf) .data 0 00035310 000002e8 00035310 000000f0 libc.a : defs.c.obj (.data._ftable) 00035400 00000078 libsysbm.a : host_device.c.obj (.data._device) 00035478 00000050 : host_device.c.obj (.data._stream) 000354c8 00000040 ti_dpl_config.o (.data.gAddrTranslateRegionConfig) 00035508 00000024 df22_test.o (.data..compoundliteral.2) 0003552c 00000004 libc.a : defs.c.obj (.data.__TI_ft_end) 00035530 00000020 drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient_soc_priv.obj (.data.gSciclientSecProxyCfg) 00035550 00000018 df22_test.o (.data..compoundliteral.1) 00035568 00000018 ti_dpl_config.o (.data.gClockConfig) 00035580 00000018 drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.data.gSciclientHandle) 00035598 00000014 df22_test.o (.data..compoundliteral) 000355ac 0000000c nortos.am243x.m4f.ti-arm-clang.debug.lib : AddrTranslateP.obj (.data.gAddrTranslateConfig) 000355b8 0000000c ti_power_clock_config.o (.data.gSocModulesClockFrequency) 000355c4 00000008 libc.a : exit.c.obj (.data..L_MergedGlobals) 000355cc 00000008 ti_pinmux_config.o (.data.gPinMuxMainDomainCfg) 000355d4 00000008 ti_pinmux_config.o (.data.gPinMuxMcuDomainCfg) 000355dc 00000004 libc.a : _lock.c.obj (.data._lock) 000355e0 00000004 : _lock.c.obj (.data._unlock) 000355e4 00000004 df22_test.o (.data.df22_controller) 000355e8 00000004 nortos.am243x.m4f.ti-arm-clang.debug.lib : DebugP_log.obj (.data.gDebugLogZone) 000355ec 00000004 ti_power_clock_config.o (.data.gSocModules) 000355f0 00000001 drivers.am243x.m4f.ti-arm-clang.debug.lib : sciclient.obj (.data.gSecHeaderSizeWords) 000355f1 00000003 --HOLE-- [fill = 0] 000355f4 00000001 libc.a : memory.c.obj (.data.memory_is_initialized) 000355f5 00000003 --HOLE-- [fill = 0] .init_array * 0 00000200 00000000 UNINITIALIZED __llvm_prf_cnts * 0 00030000 00000000 UNINITIALIZED __llvm_prf_bits * 0 00030000 00000000 UNINITIALIZED MODULE SUMMARY Module code ro data rw data ------ ---- ------- ------- .\ df22_test.o 772 12882 6488 main.o 38 0 0 +--+---------------------------------+-------+---------+---------+ Total: 810 12882 6488 .\syscfg\ ti_power_clock_config.o 264 0 16 ti_dpl_config.o 100 44 88 ti_drivers_config.o 80 0 0 ti_pinmux_config.o 32 0 16 ti_board_open_close.o 14 0 0 ti_board_config.o 4 0 0 ti_drivers_open_close.o 4 0 0 +--+---------------------------------+-------+---------+---------+ Total: 498 44 120 C:/Users/a0505397/git/motor_control_sdk/mcu_plus_sdk/source/drivers/lib/drivers.am243x.m4f.ti-arm-clang.debug.lib sciclient.obj 2276 0 25 sciclient_pm.obj 1702 0 0 soc.obj 580 0 0 pinmux.obj 490 0 0 sciclient_fmwSecureProxyMap.obj 0 300 0 sciclient_soc_priv.obj 232 0 32 csl_sec_proxy.obj 28 0 0 +--+---------------------------------+-------+---------+---------+ Total: 5308 300 57 C:/Users/a0505397/git/motor_control_sdk/mcu_plus_sdk/source/kernel/nortos/lib/nortos.am243x.m4f.ti-arm-clang.debug.lib printf.obj 7232 98 0 HwiP_armv7m.obj 1228 0 640 SysTickTimerP.obj 538 159 0 AddrTranslateP.obj 610 0 12 HwiP_armv7m_handlers_nortos.obj 266 0 320 MpuP_armv7m.obj 570 0 0 ClockP_nortos_m4.obj 372 172 0 ClockP_nortos.obj 486 0 56 DebugP_log.obj 202 45 4 boot_armv7m.obj 122 0 0 DebugP_nortos.obj 68 0 0 +--+---------------------------------+-------+---------+---------+ Total: 11694 474 1032 C:\ti\ccs1230\ccs\tools\compiler\ti-cgt-armllvm_2.1.3.LTS\lib\armv7em-ti-none-eabihf/c/libc.a memory.c.obj 720 0 5 defs.c.obj 0 0 404 setvbuf.c.obj 216 0 0 getdevice.c.obj 156 0 0 fputc.c.obj 148 0 0 fclose.c.obj 116 0 0 fseek.c.obj 108 0 0 _io_perm.c.obj 96 0 0 fflush.c.obj 78 0 0 exit.c.obj 52 0 8 autoinit.c.obj 56 0 0 fopen.c.obj 52 0 0 memset_t2.S.obj 14 0 0 _lock.c.obj 2 0 8 +--+---------------------------------+-------+---------+---------+ Total: 1814 0 425 C:\ti\ccs1230\ccs\tools\compiler\ti-cgt-armllvm_2.1.3.LTS\lib\armv7em-ti-none-eabihf/c/libsysbm.a trgmsg.c.obj 100 0 288 host_device.c.obj 0 0 200 hostrename.c.obj 128 0 0 close.c.obj 96 0 0 hostopen.c.obj 88 0 8 hostlseek.c.obj 88 0 0 hostread.c.obj 84 0 0 hostwrite.c.obj 84 0 0 hostunlink.c.obj 68 0 0 hostclose.c.obj 60 0 0 lseek.c.obj 44 0 0 unlink.c.obj 44 0 0 write.c.obj 44 0 0 remove.c.obj 4 0 0 +--+---------------------------------+-------+---------+---------+ Total: 932 0 496 C:\ti\ccs1230\ccs\tools\compiler\ti-cgt-armllvm_2.1.3.LTS\lib\clang/14.0.6/lib/armv7em-ti-none-eabihf/libclang_rt.builtins.a adddf3.S.obj 438 0 0 divdf3.S.obj 310 0 0 comparedf2.c.obj 268 0 0 muldf3.S.obj 252 0 0 udivmoddi4.S.obj 176 0 0 aeabi_dcmp.S.obj 98 0 0 fixdfsi.S.obj 72 0 0 fixunsdfsi.S.obj 68 0 0 extendsfdf2.S.obj 56 0 0 floatsidf.S.obj 46 0 0 floatunsidf.S.obj 32 0 0 aeabi_memset.S.obj 20 0 0 aeabi_uldivmod.S.obj 20 0 0 aeabi_div0.c.obj 2 0 0 +--+---------------------------------+-------+---------+---------+ Total: 1858 0 0 Heap: 0 0 32768 Stack: 0 0 16384 +--+---------------------------------+-------+---------+---------+ Grand Total: 22914 13700 57770 GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name address name ------- ---- 0000d9b1 AddrTranslateP_Params_init 0000b7e5 AddrTranslateP_getLocalAddr 0000bc19 AddrTranslateP_init 0000a8d7 Board_deinit 0000b1a3 Board_driversClose 0000dab3 Board_driversOpen 0000b5ef Board_init 0000db24 C$$EXIT 0000d477 C$$IO$$ 0000d92d CSL_secProxyGetDataAddr 0000c745 ClockP_getTimeUsec 0000da6d ClockP_getTimerCount 0000aa41 ClockP_init 0000dafd ClockP_timerClearOverflowInt 0000bcd1 ClockP_timerTickIsr 0000a8d9 DF22_runTest 0000d62f DebugP_logZoneEnable 0000b9ab Dpl_deinit 0000d0b1 Dpl_init 0000be3b Drivers_close 0000c0e7 Drivers_open 0000d289 HOSTclose 0000cd85 HOSTlseek 0000cddd HOSTopen 0000ce8d HOSTread 0000cb41 HOSTrename 0000d0f9 HOSTunlink 0000cee1 HOSTwrite 00009aa9 HwiP_Params_init 0000b577 HwiP_busFault_handler 000099ad HwiP_clearInt 00009ad1 HwiP_construct 0000b5c7 HwiP_debugMon_handler 00009b73 HwiP_destruct 00009bdd HwiP_disable 00009879 HwiP_disableInt 00009bf9 HwiP_enable 000097f1 HwiP_enableInt 0000b54f HwiP_hardFault_handler 0000d81d HwiP_inISR 00009c11 HwiP_init 0000b4e5 HwiP_interrupt_handler 0000b563 HwiP_memFault_handler 0000b53b HwiP_nmi_handler 0000b5db HwiP_pendSV_handler 00009bb9 HwiP_post 0000b59f HwiP_reserved_handler 0000985d HwiP_restore 00009911 HwiP_restoreInt 000099eb HwiP_setPri 0000b5b3 HwiP_svc_handler 0000b58b HwiP_usageFault_handler 0000cf83 Module_clockDisable 0000cfcf Module_clockEnable 0000cd27 Module_clockSetFrequency 0000a1af MpuP_RegionAttrs_init 0000a32d MpuP_disable 0000a2cf MpuP_enable 0000a36b MpuP_init 0000a35b MpuP_isEnable 0000a1dd MpuP_setRegion 0000c187 Pinmux_config 0000d8ed Pinmux_init 0000db05 PowerClock_deinit 0000dad7 PowerClock_init 0000c485 SOC_moduleClockEnable 0000a59f SOC_moduleSetClockFrequency 0000dae3 Sciclient_deinit 0000c0e9 Sciclient_getContext 0000bd89 Sciclient_getCurrentContext 0000d01d Sciclient_getDevId 0000c3ef Sciclient_init 0000c041 Sciclient_pmGetModuleClkNumParent 0000c223 Sciclient_pmGetModuleClkParent 0000c517 Sciclient_pmGetModuleState 0000c5a3 Sciclient_pmModuleClkRequest 0000c357 Sciclient_pmModuleGetClkStatus 0000b07d Sciclient_pmQueryModuleClkFreq 0000b3d9 Sciclient_pmSetModuleClkFreq 0000c2bd Sciclient_pmSetModuleClkParent 0000ccc9 Sciclient_pmSetModuleRst 0000c62f Sciclient_pmSetModuleState 00009c99 Sciclient_service 0000d4b5 SysTickTimerP_Params_init 0000da19 SysTickTimerP_getCount 0000da2b SysTickTimerP_getReloadCount 0000a751 SysTickTimerP_setup 0000d965 SysTickTimerP_start 0000d97f SysTickTimerP_stop 0000d7ad System_deinit 0000d6e1 System_init 0000daa5 TI_memset_small 0003510c _CIOBUF_ 0000c7cb _DebugP_assert 0000d841 _DebugP_assertNoLog 0000d13d _DebugP_logZone 00035310 __BSS_END 00033588 __BSS_START 0003510c __CIOBUF_ 00011b28 __STACK_END 00004000 __STACK_SIZE 00008000 __SYSMEM_SIZE UNDEFED __TI_CINIT_Base UNDEFED __TI_CINIT_Limit UNDEFED __TI_Handler_Table_Base UNDEFED __TI_Handler_Table_Limit 0000d371 __TI_auto_init_nobinit_nopinit 0000d419 __TI_cleanup 000355c4 __TI_cleanup_ptr 0000c845 __TI_closefile 0000cf35 __TI_doflush 000355c8 __TI_dtors_ptr 0003552c __TI_ft_end ffffffff __TI_pprof_out_hndl ffffffff __TI_prof_data_size ffffffff __TI_prof_data_start 0000d4e5 __TI_readmsg 00000000 __TI_static_base__ 0003522c __TI_tmpnams 0000d44d __TI_writemsg 0000cc07 __TI_wrt_ok 0000a3f3 __adddf3 0000d069 __aeabi_d2iz 0000d1c5 __aeabi_d2uiz 0000a3f3 __aeabi_dadd 0000cba5 __aeabi_dcmpeq 0000cbe1 __aeabi_dcmpge 0000cbf5 __aeabi_dcmpgt 0000cbcd __aeabi_dcmple 0000cbb9 __aeabi_dcmplt 0000d515 __aeabi_dcmpun 0000ae19 __aeabi_ddiv 0000b5f1 __aeabi_dmul 0000a3e9 __aeabi_dsub 0000d3a9 __aeabi_f2d 0000d601 __aeabi_i2d 0000c6bb __aeabi_ldiv0 0000d9fd __aeabi_memclr 0000d9fd __aeabi_memclr4 0000d9fd __aeabi_memclr8 0000d9f1 __aeabi_memset 0000d9f1 __aeabi_memset4 0000d9f1 __aeabi_memset8 0000d90d __aeabi_ui2d 0000da05 __aeabi_uldivmod ffffffff __binit__ 0000c929 __cmpdf2 0000ae19 __divdf3 0000c929 __eqdf2 0000d3a9 __extendsfdf2 0000d069 __fixdfsi 0000d1c5 __fixunsdfsi 0000d601 __floatsidf 0000d90d __floatunsidf 0000c8b9 __gedf2 0000c8b9 __gtdf2 0000c929 __ledf2 0000c929 __ltdf2 0000db0d __mpu_init 0000b5f1 __muldf3 0000c929 __nedf2 0000db28 __stack 00030000 __start___llvm_prf_bits 00030000 __start___llvm_prf_cnts 00030000 __stop___llvm_prf_bits 00030000 __stop___llvm_prf_cnts 0000a3e9 __subdf3 0000be3d __udivmoddi4 0000d515 __unorddf2 0000ce35 _c_int00 00035400 _device 00035310 _ftable 000355dc _lock 0000c927 _nop 00035478 _stream 00000200 _sys_memory UNDEFED _system_post_cinit 0000d889 _system_pre_init 000355e0 _unlock 0000db25 abort 0000b1a5 aligned_alloc ffffffff binit 0000cc69 close 00030000 ctl_buffer 0000d733 dcl_df22_main 000355e4 df22_controller 0000d545 exit 0000d481 finddevice 0000c6bd fputc 0000b6ed free 0000db1d fseek 0000ca71 fseeko 000355ac gAddrTranslateConfig 000354c8 gAddrTranslateRegionConfig 00035568 gClockConfig 000352d0 gClockCtrl 000355e8 gDebugLogZone 00034e8c gHwiCtrl 00000000 gHwiP_vectorTable 00033548 gMpuConfig 00033554 gMpuRegionConfig 00033208 gSciclientMap 00035530 gSciclientSecProxyCfg 000355ec gSocModules 000355b8 gSocModulesClockFrequency 0000cad9 getdevice 00031904 in_buffer 0000d65d lseek 0000d7d3 main 0000db15 malloc 0000b1a5 memalign 00035308 parmbuf 0000daf1 putchar 0000d9dd putchar_ 0000db21 remove 0000b9ad setvbuf 0000d689 unlink 0000d785 vprintf_ 0000d6b5 write GLOBAL SYMBOLS: SORTED BY Symbol Address address name ------- ---- 00000000 __TI_static_base__ 00000000 gHwiP_vectorTable 00000200 _sys_memory 00004000 __STACK_SIZE 00008000 __SYSMEM_SIZE 000097f1 HwiP_enableInt 0000985d HwiP_restore 00009879 HwiP_disableInt 00009911 HwiP_restoreInt 000099ad HwiP_clearInt 000099eb HwiP_setPri 00009aa9 HwiP_Params_init 00009ad1 HwiP_construct 00009b73 HwiP_destruct 00009bb9 HwiP_post 00009bdd HwiP_disable 00009bf9 HwiP_enable 00009c11 HwiP_init 00009c99 Sciclient_service 0000a1af MpuP_RegionAttrs_init 0000a1dd MpuP_setRegion 0000a2cf MpuP_enable 0000a32d MpuP_disable 0000a35b MpuP_isEnable 0000a36b MpuP_init 0000a3e9 __aeabi_dsub 0000a3e9 __subdf3 0000a3f3 __adddf3 0000a3f3 __aeabi_dadd 0000a59f SOC_moduleSetClockFrequency 0000a751 SysTickTimerP_setup 0000a8d7 Board_deinit 0000a8d9 DF22_runTest 0000aa41 ClockP_init 0000ae19 __aeabi_ddiv 0000ae19 __divdf3 0000b07d Sciclient_pmQueryModuleClkFreq 0000b1a3 Board_driversClose 0000b1a5 aligned_alloc 0000b1a5 memalign 0000b3d9 Sciclient_pmSetModuleClkFreq 0000b4e5 HwiP_interrupt_handler 0000b53b HwiP_nmi_handler 0000b54f HwiP_hardFault_handler 0000b563 HwiP_memFault_handler 0000b577 HwiP_busFault_handler 0000b58b HwiP_usageFault_handler 0000b59f HwiP_reserved_handler 0000b5b3 HwiP_svc_handler 0000b5c7 HwiP_debugMon_handler 0000b5db HwiP_pendSV_handler 0000b5ef Board_init 0000b5f1 __aeabi_dmul 0000b5f1 __muldf3 0000b6ed free 0000b7e5 AddrTranslateP_getLocalAddr 0000b9ab Dpl_deinit 0000b9ad setvbuf 0000bc19 AddrTranslateP_init 0000bcd1 ClockP_timerTickIsr 0000bd89 Sciclient_getCurrentContext 0000be3b Drivers_close 0000be3d __udivmoddi4 0000c041 Sciclient_pmGetModuleClkNumParent 0000c0e7 Drivers_open 0000c0e9 Sciclient_getContext 0000c187 Pinmux_config 0000c223 Sciclient_pmGetModuleClkParent 0000c2bd Sciclient_pmSetModuleClkParent 0000c357 Sciclient_pmModuleGetClkStatus 0000c3ef Sciclient_init 0000c485 SOC_moduleClockEnable 0000c517 Sciclient_pmGetModuleState 0000c5a3 Sciclient_pmModuleClkRequest 0000c62f Sciclient_pmSetModuleState 0000c6bb __aeabi_ldiv0 0000c6bd fputc 0000c745 ClockP_getTimeUsec 0000c7cb _DebugP_assert 0000c845 __TI_closefile 0000c8b9 __gedf2 0000c8b9 __gtdf2 0000c927 _nop 0000c929 __cmpdf2 0000c929 __eqdf2 0000c929 __ledf2 0000c929 __ltdf2 0000c929 __nedf2 0000ca71 fseeko 0000cad9 getdevice 0000cb41 HOSTrename 0000cba5 __aeabi_dcmpeq 0000cbb9 __aeabi_dcmplt 0000cbcd __aeabi_dcmple 0000cbe1 __aeabi_dcmpge 0000cbf5 __aeabi_dcmpgt 0000cc07 __TI_wrt_ok 0000cc69 close 0000ccc9 Sciclient_pmSetModuleRst 0000cd27 Module_clockSetFrequency 0000cd85 HOSTlseek 0000cddd HOSTopen 0000ce35 _c_int00 0000ce8d HOSTread 0000cee1 HOSTwrite 0000cf35 __TI_doflush 0000cf83 Module_clockDisable 0000cfcf Module_clockEnable 0000d01d Sciclient_getDevId 0000d069 __aeabi_d2iz 0000d069 __fixdfsi 0000d0b1 Dpl_init 0000d0f9 HOSTunlink 0000d13d _DebugP_logZone 0000d1c5 __aeabi_d2uiz 0000d1c5 __fixunsdfsi 0000d289 HOSTclose 0000d371 __TI_auto_init_nobinit_nopinit 0000d3a9 __aeabi_f2d 0000d3a9 __extendsfdf2 0000d419 __TI_cleanup 0000d44d __TI_writemsg 0000d477 C$$IO$$ 0000d481 finddevice 0000d4b5 SysTickTimerP_Params_init 0000d4e5 __TI_readmsg 0000d515 __aeabi_dcmpun 0000d515 __unorddf2 0000d545 exit 0000d601 __aeabi_i2d 0000d601 __floatsidf 0000d62f DebugP_logZoneEnable 0000d65d lseek 0000d689 unlink 0000d6b5 write 0000d6e1 System_init 0000d733 dcl_df22_main 0000d785 vprintf_ 0000d7ad System_deinit 0000d7d3 main 0000d81d HwiP_inISR 0000d841 _DebugP_assertNoLog 0000d889 _system_pre_init 0000d8ed Pinmux_init 0000d90d __aeabi_ui2d 0000d90d __floatunsidf 0000d92d CSL_secProxyGetDataAddr 0000d965 SysTickTimerP_start 0000d97f SysTickTimerP_stop 0000d9b1 AddrTranslateP_Params_init 0000d9dd putchar_ 0000d9f1 __aeabi_memset 0000d9f1 __aeabi_memset4 0000d9f1 __aeabi_memset8 0000d9fd __aeabi_memclr 0000d9fd __aeabi_memclr4 0000d9fd __aeabi_memclr8 0000da05 __aeabi_uldivmod 0000da19 SysTickTimerP_getCount 0000da2b SysTickTimerP_getReloadCount 0000da6d ClockP_getTimerCount 0000daa5 TI_memset_small 0000dab3 Board_driversOpen 0000dad7 PowerClock_init 0000dae3 Sciclient_deinit 0000daf1 putchar 0000dafd ClockP_timerClearOverflowInt 0000db05 PowerClock_deinit 0000db0d __mpu_init 0000db15 malloc 0000db1d fseek 0000db21 remove 0000db24 C$$EXIT 0000db25 abort 0000db28 __stack 00011b28 __STACK_END 00030000 __start___llvm_prf_bits 00030000 __start___llvm_prf_cnts 00030000 __stop___llvm_prf_bits 00030000 __stop___llvm_prf_cnts 00030000 ctl_buffer 00031904 in_buffer 00033208 gSciclientMap 00033548 gMpuConfig 00033554 gMpuRegionConfig 00033588 __BSS_START 00034e8c gHwiCtrl 0003510c _CIOBUF_ 0003510c __CIOBUF_ 0003522c __TI_tmpnams 000352d0 gClockCtrl 00035308 parmbuf 00035310 __BSS_END 00035310 _ftable 00035400 _device 00035478 _stream 000354c8 gAddrTranslateRegionConfig 0003552c __TI_ft_end 00035530 gSciclientSecProxyCfg 00035568 gClockConfig 000355ac gAddrTranslateConfig 000355b8 gSocModulesClockFrequency 000355c4 __TI_cleanup_ptr 000355c8 __TI_dtors_ptr 000355dc _lock 000355e0 _unlock 000355e4 df22_controller 000355e8 gDebugLogZone 000355ec gSocModules ffffffff __TI_pprof_out_hndl ffffffff __TI_prof_data_size ffffffff __TI_prof_data_start ffffffff __binit__ ffffffff binit UNDEFED __TI_CINIT_Base UNDEFED __TI_CINIT_Limit UNDEFED __TI_Handler_Table_Base UNDEFED __TI_Handler_Table_Limit UNDEFED _system_post_cinit [219 symbols]
Everything looks correct, note that dclfuncs is mapped to the highest address (0x355f8) with length 0x76, no other segment is mapped higher than it.
And upon loading the program, I would have the following error:
BLAZAR_Cortex_M4F_0: File Loader: Verification failed: Values at address 0x000355F8 do not match Please verify target memory and memory map. BLAZAR_Cortex_M4F_0: GEL: File: C:\Users\css_ws\SitaraTest_dev\dcl_df22_am243x-lp_m4fss0-0_nortos_ti-arm-clang\Debug\dcl_df22_am243x-lp_m4fss0-0_nortos_ti-arm-clang.out: a data verification error occurred, file load failed.
I also double checked the memory profile using memory browser, and the following memory does look correct to me, 0x355F8 + 0x76 of length.
I also tried out M4F_IRAM, the same issue occurred as well. Is there anything that I'm failing to notice? Any suggestions or lead would be greatly appreciated.
Best,
Sen Wang