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