****************************************************************************** TI ARM Clang Linker PC v4.0.0 ****************************************************************************** >> Linked Thu Oct 23 15:02:08 2025 OUTPUT FILE NAME: ENTRY POINT SYMBOL: "_c_int00_noargs" address: 0000487d MEMORY CONFIGURATION name origin length used unused attr fill ---------------------- -------- --------- -------- -------- ---- -------- FLASH 00000000 00010000 00005710 0000a8f0 R X SRAM 20200000 00008000 00000464 00007b9c RW X BCR_CONFIG 41c00000 00000080 00000000 00000080 R BSL_CONFIG 41c00100 00000080 00000000 00000080 R SEGMENT ALLOCATION MAP run origin load origin length init length attrs members ---------- ----------- ---------- ----------- ----- ------- 00000000 00000000 00005710 00005710 r-x 00000000 00000000 000000c0 000000c0 r-- .intvecs 000000c0 000000c0 000051c0 000051c0 r-x .text 00005280 00005280 00000438 00000438 r-- .rodata 000056b8 000056b8 00000058 00000058 r-- .cinit 20200000 20200000 00000265 00000000 rw- 20200000 20200000 00000143 00000000 rw- .bss 20200144 20200144 00000121 00000000 rw- .data 20207e00 20207e00 00000200 00000000 rw- 20207e00 20207e00 00000200 00000000 rw- .stack SECTION ALLOCATION MAP output attributes/ section page origin length input sections -------- ---- ---------- ---------- ---------------- .intvecs 0 00000000 000000c0 00000000 000000c0 startup_mspm0g110x_ticlang.o (.intvecs) .text 0 000000c0 000051c0 000000c0 00000c14 bq76952.o (.text.bq76952_check_config) 00000cd4 00000474 debug.o (.text.debug_print_afe_data) 00001148 000003b0 comm.o (.text.get_normal_data) 000014f8 00000328 smach.o (.text.smach_init_state_handler) 00001820 00000208 debug.o (.text.debug_print_fg_data) 00001a28 00000192 libclang_rt.builtins.a : adddf3.S.obj (.text.adddf3_subdf3) 00001bba 00000002 : aeabi_div0.c.obj (.text.__aeabi_idiv0) 00001bbc 0000014c debug.o (.text.int_to_str) 00001d08 00000140 ti_msp_dl_config.o (.text.SYSCFG_DL_GPIO_init) 00001e48 00000138 i2c.o (.text.i2c_read_reg) 00001f80 00000118 i2c.o (.text.i2c_write_reg) 00002098 0000010c bq76952.o (.text.get_reg) 000021a4 0000010c main.o (.text.task_monitor_pc_connection) 000022b0 00000108 debug.o (.text.debug_print_sys_data) 000023b8 000000f0 comm.o (.text.build_bms_msg) 000024a8 000000e4 libclang_rt.builtins.a : muldf3.S.obj (.text.__muldf3) 0000258c 000000d8 : addsf3.S.obj (.text) 00002664 000000d0 bq76952.o (.text.get_min_max_delta_cell_voltages) 00002734 000000cc debug.o (.text.float_to_str) 00002800 000000c8 i2c.o (.text.I2C0_IRQHandler) 000028c8 000000c8 i2c.o (.text.I2C1_IRQHandler) 00002990 000000c0 smach.o (.text.check_operation_state) 00002a50 000000b8 bq76952.o (.text.subcmd) 00002b08 000000a8 bq76952.o (.text.bq76952_read_all_voltages) 00002bb0 000000a8 i2c.o (.text.i2c_is_target_responding) 00002c58 000000a0 bq76952.o (.text.direct_cmd) 00002cf8 00000094 main.o (.text.init) 00002d8c 00000094 smach.o (.text.normal_operation_state_handler) 00002e20 0000008c ti_msp_dl_config.o (.text.SYSCFG_DL_initPower) 00002eac 0000008c libclang_rt.builtins.a : mulsf3.S.obj (.text.__mulsf3) 00002f38 0000008c debug.o (.text.format_key_value_pair) 00002fc4 00000088 main.o (.text.main) 0000304c 00000088 bq34z100.o (.text.standard_cmd) 000030d4 00000084 ti_msp_dl_config.o (.text.__NVIC_SetPriority) 00003158 00000080 smach.o (.text.evaluate_chg_dsg_permission) 000031d8 0000007c comm.o (.text.UART0_IRQHandler) 00003254 0000007c uart.o (.text.UART1_IRQHandler) 000032d0 0000007c uart.o (.text.uart_init) 0000334c 0000007c libc.a : copy_decompress_lzss.c.obj (.text:decompress:lzss) 000033c8 00000078 ti_msp_dl_config.o (.text.SYSCFG_DL_I2C_P_init) 00003440 00000078 ti_msp_dl_config.o (.text.SYSCFG_DL_I2C_R_init) 000034b8 00000076 bq76952.o (.text.read_voltage) 0000352e 00000002 --HOLE-- [fill = 0] 00003530 00000074 libclang_rt.builtins.a : truncdfsf2.S.obj (.text.__truncdfsf2) 000035a4 00000070 bq76952.o (.text.bq76952_full_reset_all) 00003614 0000006a bq34z100.o (.text.bq34z100_read_all_data) 0000367e 0000006a bq76952.o (.text.bq76952_read_all_data) 000036e8 00000064 bq76952.o (.text.bq76952_read_safety_status) 0000374c 00000064 bq76952.o (.text.read_temperature) 000037b0 00000062 libclang_rt.builtins.a : aeabi_fcmp.S.obj (.text.__aeabi_fcmp) 00003812 00000002 --HOLE-- [fill = 0] 00003814 00000060 uart.o (.text.uart_puts) 00003874 0000005c bq34z100.o (.text.bq34z100_read_temperature) 000038d0 0000005c bq76952.o (.text.cmd_only_subcmd) 0000392c 0000005c comm.o (.text.comm_send_bms_msg) 00003988 0000005a debug.o (.text.reverse_str) 000039e2 00000002 --HOLE-- [fill = 0] 000039e4 00000056 libclang_rt.builtins.a : aeabi_idivmod.S.obj (.text.__aeabi_idivmod) 00003a3a 00000054 driverlib.a : dl_i2c.o (.text.DL_I2C_fillControllerTXFIFO) 00003a8e 00000002 --HOLE-- [fill = 0] 00003a90 00000054 smach.o (.text.limited_operation_state_handler) 00003ae4 00000052 driverlib.a : dl_crc.o (.text.DL_CRC_calculateBlock16) 00003b36 00000002 --HOLE-- [fill = 0] 00003b38 00000050 i2c.o (.text.DL_I2C_startControllerTransfer) 00003b88 00000050 ti_msp_dl_config.o (.text.SYSCFG_DL_UART_COMM_init) 00003bd8 00000050 ti_msp_dl_config.o (.text.SYSCFG_DL_UART_PRINT_init) 00003c28 00000050 ti_msp_dl_config.o (.text.SysTick_Config) 00003c78 00000050 smach.o (.text.fail_safe_operation_state_handler) 00003cc8 0000004c driverlib.a : dl_uart.o (.text.DL_UART_init) 00003d14 0000004c ti_msp_dl_config.o (.text.DL_UART_setBaudRateDivisor) 00003d60 0000004c gpio.o (.text.GROUP1_IRQHandler) 00003dac 0000004a ti_msp_dl_config.o (.text.DL_WWDT_initWatchdogMode) 00003df6 00000002 --HOLE-- [fill = 0] 00003df8 0000004a libclang_rt.builtins.a : fixdfsi.S.obj (.text.__fixdfsi) 00003e42 00000048 smach.o (.text.smach_operation_state_machine) 00003e8a 00000002 --HOLE-- [fill = 0] 00003e8c 00000040 libclang_rt.builtins.a : extendsfdf2.S.obj (.text.__extendsfdf2) 00003ecc 00000040 led.o (.text.led_flash_ms) 00003f0c 0000003e bq76952.o (.text.bq76952_read_all_temperatures) 00003f4a 00000002 --HOLE-- [fill = 0] 00003f4c 0000003c ti_msp_dl_config.o (.text.DL_GPIO_initPeripheralInputFunctionFeatures) 00003f88 0000003c libclang_rt.builtins.a : floatsisf.S.obj (.text.__floatsisf) 00003fc4 0000003c : comparesf2.S.obj (.text.__gtsf2) 00004000 0000003c assert.o (.text.assert_handler) 0000403c 0000003c bq76952.o (.text.bq76952_partial_reset_all) 00004078 0000003c bq76952.o (.text.bq76952_read_cc2_counts) 000040b4 0000003c libc.a : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit) 000040f0 0000003a libclang_rt.builtins.a : comparesf2.S.obj (.text.__eqsf2) 0000412a 00000002 --HOLE-- [fill = 0] 0000412c 0000003a : muldsi3.S.obj (.text.__muldsi3) 00004166 00000038 ti_msp_dl_config.o (.text.DL_CRC_init) 0000419e 00000002 --HOLE-- [fill = 0] 000041a0 00000038 libclang_rt.builtins.a : fixsfsi.S.obj (.text.__fixsfsi) 000041d8 00000038 bq76952.o (.text.bq76952_read_cb_active_cells) 00004210 00000038 bq76952.o (.text.bq76952_read_cb_active_time) 00004248 00000036 bq76952.o (.text.bq76952_read_pack_current) 0000427e 00000002 --HOLE-- [fill = 0] 00004280 00000034 ti_msp_dl_config.o (.text.DL_GPIO_initDigitalInputFeatures) 000042b4 00000034 driverlib.a : dl_i2c.o (.text.DL_I2C_setClockConfig) 000042e8 00000034 timer.o (.text.timer_time_since) 0000431c 00000030 bq34z100.o (.text.bq34z100_read_control_status) 0000434c 00000030 bq34z100.o (.text.bq34z100_read_current) 0000437c 00000030 bq34z100.o (.text.bq34z100_read_cycle_count) 000043ac 00000030 bq34z100.o (.text.bq34z100_read_flags) 000043dc 00000030 bq34z100.o (.text.bq34z100_read_full_charge_capacity) 0000440c 00000030 bq34z100.o (.text.bq34z100_read_qmax_dod_0) 0000443c 00000030 bq34z100.o (.text.bq34z100_read_qmax_passed_q) 0000446c 00000030 bq34z100.o (.text.bq34z100_read_recommended_charge_current) 0000449c 00000030 bq34z100.o (.text.bq34z100_read_remaining_capacity) 000044cc 00000030 bq34z100.o (.text.bq34z100_read_voltage) 000044fc 00000030 bq76952.o (.text.get_battery_status) 0000452c 00000030 timer.o (.text.timer_delay_ms) 0000455c 0000002c ti_msp_dl_config.o (.text.SYSCFG_DL_WWDT1_init) 00004588 0000002c ti_msp_dl_config.o (.text.SYSCFG_DL_init) 000045b4 0000002c i2c.o (.text.__NVIC_ClearPendingIRQ) 000045e0 0000002c uart.o (.text.__NVIC_ClearPendingIRQ) 0000460c 0000002c i2c.o (.text.__NVIC_EnableIRQ) 00004638 0000002c uart.o (.text.__NVIC_EnableIRQ) 00004664 0000002c led.o (.text.led_off) 00004690 0000002c led.o (.text.led_on) 000046bc 0000002c libc.a : strncpy.c.obj (.text.strncpy) 000046e8 0000002a : strncat.c.obj (.text.strncat) 00004712 00000028 driverlib.a : dl_i2c.o (.text.DL_Common_updateReg) 0000473a 00000028 : dl_uart.o (.text.DL_Common_updateReg) 00004762 00000028 i2c.o (.text.DL_Common_updateReg) 0000478a 00000028 ti_msp_dl_config.o (.text.DL_Common_updateReg) 000047b2 00000002 --HOLE-- [fill = 0] 000047b4 00000028 ti_msp_dl_config.o (.text.DL_I2C_setControllerRXFIFOThreshold) 000047dc 00000028 ti_msp_dl_config.o (.text.DL_I2C_setControllerTXFIFOThreshold) 00004804 00000028 ti_msp_dl_config.o (.text.SYSCFG_DL_CRC_init) 0000482c 00000028 bq34z100.o (.text.bq34z100_read_learned_status) 00004854 00000028 bq76952.o (.text.bq76952_read_fet_status) 0000487c 00000028 libc.a : boot_cortex_m.c.obj (.text:_c_int00_noargs) 000048a4 00000026 driverlib.a : dl_i2c.o (.text.DL_I2C_flushControllerTXFIFO) 000048ca 00000026 ti_msp_dl_config.o (.text.DL_I2C_setAnalogGlitchFilterPulseWidth) 000048f0 00000026 debug.o (.text.debug_print_all_data) 00004916 00000002 --HOLE-- [fill = 0] 00004918 00000024 driverlib.a : dl_crc.o (.text.DL_CRC_feedData16) 0000493c 00000024 : dl_crc.o (.text.DL_CRC_setSeed16) 00004960 00000024 ti_msp_dl_config.o (.text.DL_CRC_setSeed16) 00004984 00000024 driverlib.a : dl_i2c.o (.text.DL_I2C_isControllerTXFIFOEmpty) 000049a8 00000024 : dl_uart.o (.text.DL_UART_setClockConfig) 000049cc 00000024 i2c.o (.text.i2c_init) 000049f0 00000024 smach.o (.text.smach_init_fail_safe_state_handler) 00004a14 00000024 uart.o (.text.uart_tx) 00004a38 00000022 bq34z100.o (.text.bq34z100_read_grid_number) 00004a5a 00000002 --HOLE-- [fill = 0] 00004a5c 00000020 ti_msp_dl_config.o (.text.DL_GPIO_initPeripheralInputFunction) 00004a7c 00000020 ti_msp_dl_config.o (.text.DL_I2C_setTimeoutACount) 00004a9c 00000020 ti_msp_dl_config.o (.text.DL_WWDT_setActiveWindow) 00004abc 00000020 bq34z100.o (.text.bq34z100_read_max_error) 00004adc 00000020 bq34z100.o (.text.bq34z100_read_soc) 00004afc 00000020 bq34z100.o (.text.bq34z100_read_soh) 00004b1c 0000001e ti_msp_dl_config.o (.text.DL_UART_setOversampling) 00004b3a 0000001e bq76952.o (.text.bq76952_read_sleep_status) 00004b58 0000001c gpio.o (.text.DL_GPIO_clearInterruptStatus) 00004b74 0000001c ti_msp_dl_config.o (.text.DL_GPIO_clearInterruptStatus) 00004b90 0000001c ti_msp_dl_config.o (.text.DL_GPIO_enableHiZ) 00004bac 0000001c ti_msp_dl_config.o (.text.DL_GPIO_enableInterrupt) 00004bc8 0000001c ti_msp_dl_config.o (.text.DL_GPIO_initDigitalInput) 00004be4 0000001c ti_msp_dl_config.o (.text.DL_GPIO_initPeripheralOutputFunction) 00004c00 0000001c ti_msp_dl_config.o (.text.DL_GPIO_setLowerPinsPolarity) 00004c1c 0000001c ti_msp_dl_config.o (.text.DL_I2C_enableInterrupt) 00004c38 0000001c ti_msp_dl_config.o (.text.DL_I2C_enableTimeoutA) 00004c54 0000001c i2c.o (.text.DL_I2C_isControllerRXFIFOEmpty) 00004c70 0000001c driverlib.a : dl_i2c.o (.text.DL_I2C_isControllerTXFIFOFull) 00004c8c 0000001c ti_msp_dl_config.o (.text.DL_SYSCTL_setSYSOSCFreq) 00004ca8 0000001c comm.o (.text.DL_UART_disableInterrupt) 00004cc4 0000001c uart.o (.text.DL_UART_disableInterrupt) 00004ce0 0000001c ti_msp_dl_config.o (.text.DL_UART_enableInterrupt) 00004cfc 0000001c uart.o (.text.DL_UART_enableInterrupt) 00004d18 00000018 ti_msp_dl_config.o (.text.DL_CRC_enablePower) 00004d30 00000018 ti_msp_dl_config.o (.text.DL_CRC_reset) 00004d48 00000018 ti_msp_dl_config.o (.text.DL_GPIO_enableOutput) 00004d60 00000018 ti_msp_dl_config.o (.text.DL_GPIO_enablePower) 00004d78 00000018 gpio.o (.text.DL_GPIO_getEnabledInterruptStatus) 00004d90 00000018 ti_msp_dl_config.o (.text.DL_GPIO_initDigitalOutput) 00004da8 00000018 ti_msp_dl_config.o (.text.DL_GPIO_reset) 00004dc0 00000018 bq76952.o (.text.DL_GPIO_setPins) 00004dd8 00000018 led.o (.text.DL_GPIO_setPins) 00004df0 00000018 main.o (.text.DL_GPIO_setPins) 00004e08 00000018 smach.o (.text.DL_GPIO_setPins) 00004e20 00000018 ti_msp_dl_config.o (.text.DL_GPIO_setPins) 00004e38 00000018 ti_msp_dl_config.o (.text.DL_GPIO_setUpperPinsPolarity) 00004e50 00000018 assert.o (.text.DL_GPIO_togglePins) 00004e68 00000018 ti_msp_dl_config.o (.text.DL_I2C_enableAnalogGlitchFilter) 00004e80 00000018 ti_msp_dl_config.o (.text.DL_I2C_enableController) 00004e98 00000018 ti_msp_dl_config.o (.text.DL_I2C_enableControllerClockStretching) 00004eb0 00000018 ti_msp_dl_config.o (.text.DL_I2C_enablePower) 00004ec8 00000018 ti_msp_dl_config.o (.text.DL_I2C_reset) 00004ee0 00000018 ti_msp_dl_config.o (.text.DL_I2C_setTimerPeriod) 00004ef8 00000018 driverlib.a : dl_i2c.o (.text.DL_I2C_startFlushControllerTXFIFO) 00004f10 00000018 : dl_i2c.o (.text.DL_I2C_stopFlushControllerTXFIFO) 00004f28 00000018 ti_msp_dl_config.o (.text.DL_SYSCTL_setBORThreshold) 00004f40 00000018 uart.o (.text.DL_UART_clearInterruptStatus) 00004f58 00000018 ti_msp_dl_config.o (.text.DL_UART_enablePower) 00004f70 00000018 ti_msp_dl_config.o (.text.DL_UART_reset) 00004f88 00000018 ti_msp_dl_config.o (.text.DL_WWDT_enablePower) 00004fa0 00000018 ti_msp_dl_config.o (.text.DL_WWDT_reset) 00004fb8 00000016 main.o (.text.DL_GPIO_readPins) 00004fce 00000016 smach.o (.text.DL_GPIO_readPins) 00004fe4 00000016 driverlib.a : dl_i2c.o (.text.DL_I2C_transmitControllerData) 00004ffa 00000016 : dl_uart.o (.text.DL_UART_disable) 00005010 00000016 ti_msp_dl_config.o (.text.DL_UART_enable) 00005026 00000016 comm.o (.text.DL_UART_transmitData) 0000503c 00000016 uart.o (.text.DL_UART_transmitData) 00005052 00000016 ti_msp_dl_config.o (.text.SYSCFG_DL_SYSCTL_init) 00005068 00000016 bq76952.o (.text.bq76952_all_fets_on) 0000507e 00000016 libc.a : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset) 00005094 00000014 driverlib.a : dl_crc.o (.text.DL_CRC_getResult16) 000050a8 00000014 : dl_common.o (.text.DL_Common_delayCycles) 000050bc 00000014 bq76952.o (.text.DL_GPIO_clearPins) 000050d0 00000014 led.o (.text.DL_GPIO_clearPins) 000050e4 00000014 main.o (.text.DL_GPIO_clearPins) 000050f8 00000014 smach.o (.text.DL_GPIO_clearPins) 0000510c 00000014 ti_msp_dl_config.o (.text.DL_GPIO_clearPins) 00005120 00000014 i2c.o (.text.DL_I2C_getControllerStatus) 00005134 00000014 i2c.o (.text.DL_I2C_receiveControllerData) 00005148 00000014 ti_msp_dl_config.o (.text.DL_I2C_resetControllerTransfer) 0000515c 00000014 main.o (.text.DL_WWDT_restart) 00005170 00000012 i2c.o (.text.DL_I2C_getPendingInterrupt) 00005182 00000012 comm.o (.text.DL_UART_getPendingInterrupt) 00005194 00000012 uart.o (.text.DL_UART_getPendingInterrupt) 000051a6 00000012 libc.a : memcpy16.S.obj (.text:TI_memcpy_small) 000051b8 00000012 : copy_decompress_none.c.obj (.text:decompress:none) 000051ca 00000002 --HOLE-- [fill = 0] 000051cc 00000010 timer.o (.text.SysTick_Handler) 000051dc 00000010 main.o (.text.task_run_op_state_machine) 000051ec 00000010 main.o (.text.task_service_watchdog) 000051fc 0000000e libc.a : strlen.c.obj (.text.strlen) 0000520a 0000000e : memset16.S.obj (.text:TI_memset_small) 00005218 0000000c ti_msp_dl_config.o (.text.SYSCFG_DL_SYSTICK_init) 00005224 0000000c libclang_rt.builtins.a : aeabi_memset.S.obj (.text.__aeabi_memclr) 00005230 0000000c main.o (.text.mcu_post_syscfg_init) 0000523c 0000000c timer.o (.text.timer_time_now) 00005248 00000008 libclang_rt.builtins.a : aeabi_memcpy.S.obj (.text.__aeabi_memcpy) 00005250 00000008 i2c.o (.text.i2c_get_rx_buf) 00005258 00000004 startup_mspm0g110x_ticlang.o (.text.Default_Handler) 0000525c 00000004 startup_mspm0g110x_ticlang.o (.text.Reset_Handler) 00005260 00000010 libc.a : boot_cortex_m.c.obj (.tramp._c_int00_noargs.1) 00005270 00000004 : pre_init.c.obj (.text._system_pre_init) 00005274 00000004 : exit.c.obj (.text:abort) 00005278 00000008 --HOLE-- [fill = 0] .cinit 0 000056b8 00000058 000056b8 00000033 (.cinit..data.load) [load image, compression = lzss] 000056eb 00000001 --HOLE-- [fill = 0] 000056ec 0000000c (__TI_handler_table) 000056f8 00000008 (.cinit..bss.load) [load image, compression = zero_init] 00005700 00000010 (__TI_cinit_table) .rodata 0 00005280 00000438 00005280 00000041 main.o (.rodata.str1.85095937171257613211) 000052c1 00000034 main.o (.rodata.str1.154625869844930676871) 000052f5 00000022 main.o (.rodata.str1.112316381026718746961) 00005317 00000020 smach.o (.rodata.str1.159985013692919287581) 00005337 0000001f smach.o (.rodata.str1.153125072264506597071) 00005356 0000001e smach.o (.rodata.str1.114425903462468982031) 00005374 0000001e smach.o (.rodata.str1.161897919348887697771) 00005392 0000001e smach.o (.rodata.str1.81778567983449897421) 000053b0 0000001e smach.o (.rodata.str1.98982560013294203511) 000053ce 0000001d smach.o (.rodata.str1.11342630435590896771) 000053eb 0000001b main.o (.rodata.str1.86471476837976968151) 00005406 0000001b smach.o (.rodata.str1.91820499182353998231) 00005421 0000001a main.o (.rodata.str1.160653413980716791581) 0000543b 00000019 smach.o (.rodata.str1.148004092241066738511) 00005454 00000019 smach.o (.rodata.str1.156699448143367465601) 0000546d 00000016 main.o (.rodata.str1.119450953567366866201) 00005483 00000016 smach.o (.rodata.str1.140283146708960277301) 00005499 00000016 smach.o (.rodata.str1.23273028166984622191) 000054af 00000016 smach.o (.rodata.str1.28198853231069735271) 000054c5 00000016 smach.o (.rodata.str1.67532722410198120381) 000054db 00000013 smach.o (.rodata.str1.184345024443812417751) 000054ee 00000013 smach.o (.rodata.str1.4356418836113175021) 00005501 00000011 smach.o (.rodata.str1.40413247057649615081) 00005512 00000011 debug.o (.rodata.str1.47671024505461739081) 00005523 00000011 smach.o (.rodata.str1.84218343322469126721) 00005534 00000010 bq76952.o (.rodata.g_vcell_modes) 00005544 0000000e debug.o (.rodata.str1.127879606393445644291) 00005552 0000000e debug.o (.rodata.str1.95048493443995247801) 00005560 0000000c debug.o (.rodata.str1.118782871646506848931) 0000556c 0000000c debug.o (.rodata.str1.177509495153030911491) 00005578 0000000c debug.o (.rodata.str1.30246052257753262701) 00005584 0000000c debug.o (.rodata.str1.73493826191332166131) 00005590 0000000b debug.o (.rodata.str1.146614714842246918291) 0000559b 0000000b debug.o (.rodata.str1.162410815551088308201) 000055a6 0000000b debug.o (.rodata.str1.53836022920340888311) 000055b1 00000001 debug.o (.rodata.str1.120457802525827472791) 000055b2 0000000a ti_msp_dl_config.o (.rodata.gUART_COMMConfig) 000055bc 0000000a ti_msp_dl_config.o (.rodata.gUART_PRINTConfig) 000055c6 0000000a smach.o (.rodata.str1.138362104376677037151) 000055d0 0000000a debug.o (.rodata.str1.180218187834169085421) 000055da 0000000a main.o (.rodata.str1.65134826008485262751) 000055e4 0000000a debug.o (.rodata.str1.8788735900158355911) 000055ee 00000009 debug.o (.rodata.str1.87125319786527440291) 000055f7 00000008 debug.o (.rodata.str1.118660305183209337391) 000055ff 00000008 debug.o (.rodata.str1.130578447197330336811) 00005607 00000008 debug.o (.rodata.str1.132624101823357300921) 0000560f 00000008 smach.o (.rodata.str1.136874789256340742751) 00005617 00000008 debug.o (.rodata.str1.44459127957433328551) 0000561f 00000007 debug.o (.rodata.str1.129420616788415491061) 00005626 00000007 debug.o (.rodata.str1.156223050316639232841) 0000562d 00000007 debug.o (.rodata.str1.74920310080096359081) 00005634 00000007 debug.o (.rodata.str1.84296006072733073001) 0000563b 00000007 debug.o (.rodata.str1.8735557699836980521) 00005642 00000006 debug.o (.rodata.str1.105111328040508492161) 00005648 00000006 debug.o (.rodata.str1.107723826326254210991) 0000564e 00000006 debug.o (.rodata.str1.13809767784058232901) 00005654 00000006 debug.o (.rodata.str1.50008389889255960531) 0000565a 00000006 debug.o (.rodata.str1.52631960067003951741) 00005660 00000006 debug.o (.rodata.str1.59402512409259746421) 00005666 00000006 debug.o (.rodata.str1.68730977469606832621) 0000566c 00000005 debug.o (.rodata.str1.128001817229822930701) 00005671 00000005 debug.o (.rodata.str1.131081142613999646651) 00005676 00000005 debug.o (.rodata.str1.17761245910502933701) 0000567b 00000005 debug.o (.rodata.str1.90870480996222960721) 00005680 00000004 main.o (.rodata.str1.155201083668551774721) 00005684 00000004 debug.o (.rodata.str1.177135091232925671911) 00005688 00000004 debug.o (.rodata.str1.180194299770731918241) 0000568c 00000004 debug.o (.rodata.str1.60938571300950173111) 00005690 00000003 bq76952.o (.rodata.g_temp_snsrs) 00005693 00000003 debug.o (.rodata.str1.136084426954932936851) 00005696 00000003 debug.o (.rodata.str1.169299606276977411481) 00005699 00000003 debug.o (.rodata.str1.176585267234649334491) 0000569c 00000003 debug.o (.rodata.str1.54887520941627701141) 0000569f 00000003 smach.o (.rodata.str1.67570153393054473681) 000056a2 00000003 debug.o (.rodata.str1.93050629041573028041) 000056a5 00000003 main.o (.rodata.str1.98889259741212687581) 000056a8 00000002 ti_msp_dl_config.o (.rodata.gI2C_PClockConfig) 000056aa 00000002 ti_msp_dl_config.o (.rodata.gI2C_RClockConfig) 000056ac 00000002 ti_msp_dl_config.o (.rodata.gUART_COMMClockConfig) 000056ae 00000002 ti_msp_dl_config.o (.rodata.gUART_PRINTClockConfig) 000056b0 00000002 debug.o (.rodata.str1.104648832621598311821) 000056b2 00000002 main.o (.rodata.str1.12403535450089303471) 000056b4 00000002 debug.o (.rodata.str1.152180694567024800731) 000056b6 00000002 debug.o (.rodata.str1.76037719108012677801) .init_array * 0 00000000 00000000 UNINITIALIZED .binit 0 00000000 00000000 .bss 0 20200000 00000143 UNINITIALIZED 20200000 00000062 comm.o (.bss.g_tx_buf) 20200062 0000005c comm.o (.bss.g_normal_data) 202000be 00000040 debug.o (.bss.g_tx_buf) 202000fe 00000020 i2c.o (.bss.g_i2c_rx_buf) 2020011e 00000008 debug.o (.bss.g_str_buf1) 20200126 00000008 debug.o (.bss.g_str_buf2) 2020012e 00000008 debug.o (.bss.g_str_buf3) 20200136 00000001 i2c.o (.bss.g_i2c_p_controller_status) 20200137 00000001 i2c.o (.bss.g_i2c_r_controller_status) 20200138 00000004 i2c.o (.bss.g_i2c_rx_cnt) 2020013c 00000004 (.common:g_systick_cnt) 20200140 00000001 comm.o (.bss.g_idx) 20200141 00000001 comm.o (.bss.g_msg_len) 20200142 00000001 comm.o (.bss.g_uart_comm_status) .data 0 20200144 00000121 UNINITIALIZED 20200144 000000d8 main.o (.data.g_bms) 2020021c 0000003c main.o (.data.g_tasks) 20200258 00000004 uart.o (.data.g_p_char) 2020025c 00000004 i2c.o (.data.g_p_nack_i2c_inst) 20200260 00000001 uart.o (.data.g_uart_print_status) 20200261 00000001 main.o (.data.task_monitor_pc_connection.connect_cnt) 20200262 00000001 main.o (.data.task_monitor_pc_connection.disconnect_cnt) 20200263 00000001 main.o (.data.task_monitor_pc_connection.is_all_fets_on_cmd_issued) 20200264 00000001 main.o (.data.task_monitor_pc_connection.prev_pin_state) .stack 0 20207e00 00000200 UNINITIALIZED 20207e00 00000004 libc.a : boot_cortex_m.c.obj (.stack) 20207e04 000001fc --HOLE-- __llvm_prf_cnts * 0 20200000 00000000 UNINITIALIZED __llvm_prf_bits * 0 20200000 00000000 UNINITIALIZED MODULE SUMMARY Module code ro data rw data ------ ---- ------- ------- .\ startup_mspm0g110x_ticlang.o 8 192 0 +--+------------------------------+-------+---------+---------+ Total: 8 192 0 .\Source\ bq76952.o 5240 19 0 debug.o 2728 318 88 smach.o 1614 470 0 comm.o 1468 0 193 i2c.o 1498 0 42 main.o 682 245 280 bq34z100.o 984 0 0 uart.o 588 0 5 led.o 196 0 0 gpio.o 128 0 0 timer.o 128 0 0 assert.o 84 0 4 +--+------------------------------+-------+---------+---------+ Total: 15338 1052 612 .\syscfg\ ti_msp_dl_config.o 2670 28 0 +--+------------------------------+-------+---------+---------+ Total: 2670 28 0 C:/ti/mspm0_sdk_2_01_00_03/source/ti/driverlib/lib/ticlang/m0p/mspm0g1x0x_g3x0x/driverlib.a dl_i2c.o 348 0 0 dl_crc.o 174 0 0 dl_uart.o 174 0 0 dl_common.o 20 0 0 +--+------------------------------+-------+---------+---------+ Total: 716 0 0 C:\ti\ccs1271\ccs\tools\compiler\ti-cgt-armllvm_4.0.0.LTS\lib\armv6m-ti-none-eabi/c/libc.a copy_decompress_lzss.c.obj 124 0 0 autoinit.c.obj 60 0 0 boot_cortex_m.c.obj 56 0 0 strncpy.c.obj 44 0 0 strncat.c.obj 42 0 0 copy_zero_init.c.obj 22 0 0 copy_decompress_none.c.obj 18 0 0 memcpy16.S.obj 18 0 0 memset16.S.obj 14 0 0 strlen.c.obj 14 0 0 exit.c.obj 4 0 0 pre_init.c.obj 4 0 0 +--+------------------------------+-------+---------+---------+ Total: 420 0 0 C:\ti\ccs1271\ccs\tools\compiler\ti-cgt-armllvm_4.0.0.LTS\lib\armv6m-ti-none-eabi/libclang_rt.builtins.a adddf3.S.obj 402 0 0 muldf3.S.obj 228 0 0 addsf3.S.obj 216 0 0 mulsf3.S.obj 140 0 0 comparesf2.S.obj 118 0 0 truncdfsf2.S.obj 116 0 0 aeabi_fcmp.S.obj 98 0 0 aeabi_idivmod.S.obj 86 0 0 fixdfsi.S.obj 74 0 0 extendsfdf2.S.obj 64 0 0 floatsisf.S.obj 60 0 0 muldsi3.S.obj 58 0 0 fixsfsi.S.obj 56 0 0 aeabi_memset.S.obj 12 0 0 aeabi_memcpy.S.obj 8 0 0 aeabi_div0.c.obj 2 0 0 +--+------------------------------+-------+---------+---------+ Total: 1738 0 0 Stack: 0 0 512 Linker Generated: 0 87 0 +--+------------------------------+-------+---------+---------+ Grand Total: 20890 1359 1124 LINKER GENERATED COPY TABLES __TI_cinit_table @ 00005700 records: 2, size/record: 8, table size: 16 .data: load addr=000056b8, load size=00000033 bytes, run addr=20200144, run size=00000121 bytes, compression=lzss .bss: load addr=000056f8, load size=00000008 bytes, run addr=20200000, run size=00000143 bytes, compression=zero_init LINKER GENERATED HANDLER TABLE __TI_handler_table @ 000056ec records: 3, size/record: 4, table size: 12 index: 0, handler: __TI_decompress_lzss index: 1, handler: __TI_decompress_none index: 2, handler: __TI_zero_init FAR CALL TRAMPOLINES callee name trampoline name callee addr tramp addr call addr call info -------------- ----------- --------- ---------------- _c_int00_noargs $Tramp$TT$L$PI$$_c_int00_noargs 0000487d 00005260 0000525c startup_mspm0g110x_ticlang.o (.text.Reset_Handler) [1 trampolines] [1 trampoline calls] GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name address name ------- ---- 00005259 ADC0_IRQHandler 00005259 ADC1_IRQHandler 00005274 C$$EXIT 00003ae5 DL_CRC_calculateBlock16 000050a9 DL_Common_delayCycles 00003a3b DL_I2C_fillControllerTXFIFO 000048a5 DL_I2C_flushControllerTXFIFO 000042b5 DL_I2C_setClockConfig 00003cc9 DL_UART_init 000049a9 DL_UART_setClockConfig 00005259 DMA_IRQHandler 00005259 Default_Handler 00005259 GROUP0_IRQHandler 00003d61 GROUP1_IRQHandler 00005259 HardFault_Handler 00002801 I2C0_IRQHandler 000028c9 I2C1_IRQHandler 00005259 NMI_Handler 00005259 PendSV_Handler 00005259 RTC_IRQHandler 0000525d Reset_Handler 00005259 SPI0_IRQHandler 00005259 SPI1_IRQHandler 00005259 SVC_Handler 00004805 SYSCFG_DL_CRC_init 00001d09 SYSCFG_DL_GPIO_init 000033c9 SYSCFG_DL_I2C_P_init 00003441 SYSCFG_DL_I2C_R_init 00005053 SYSCFG_DL_SYSCTL_init 00005219 SYSCFG_DL_SYSTICK_init 00003b89 SYSCFG_DL_UART_COMM_init 00003bd9 SYSCFG_DL_UART_PRINT_init 0000455d SYSCFG_DL_WWDT1_init 00004589 SYSCFG_DL_init 00002e21 SYSCFG_DL_initPower 000051cd SysTick_Handler 00005259 TIMA0_IRQHandler 00005259 TIMA1_IRQHandler 00005259 TIMG0_IRQHandler 00005259 TIMG12_IRQHandler 00005259 TIMG6_IRQHandler 00005259 TIMG7_IRQHandler 00005259 TIMG8_IRQHandler 000051a7 TI_memcpy_small 0000520b TI_memset_small 000031d9 UART0_IRQHandler 00003255 UART1_IRQHandler 00005259 UART2_IRQHandler 00005259 UART3_IRQHandler 20208000 __STACK_END 00000200 __STACK_SIZE 00000000 __TI_ATRegion0_region_sz 00000000 __TI_ATRegion0_src_addr 00000000 __TI_ATRegion0_trg_addr 00000000 __TI_ATRegion1_region_sz 00000000 __TI_ATRegion1_src_addr 00000000 __TI_ATRegion1_trg_addr 00000000 __TI_ATRegion2_region_sz 00000000 __TI_ATRegion2_src_addr 00000000 __TI_ATRegion2_trg_addr 00005700 __TI_CINIT_Base 00005710 __TI_CINIT_Limit 00005710 __TI_CINIT_Warm 000056ec __TI_Handler_Table_Base 000056f8 __TI_Handler_Table_Limit 000040b5 __TI_auto_init_nobinit_nopinit 0000334d __TI_decompress_lzss 000051b9 __TI_decompress_none ffffffff __TI_pprof_out_hndl ffffffff __TI_prof_data_size ffffffff __TI_prof_data_start 00000000 __TI_static_base__ 0000507f __TI_zero_init_nomemset 00001a33 __adddf3 00002597 __addsf3 00003531 __aeabi_d2f 00003df9 __aeabi_d2iz 00001a33 __aeabi_dadd 000024a9 __aeabi_dmul 00001a29 __aeabi_dsub 00003e8d __aeabi_f2d 000041a1 __aeabi_f2iz 00002597 __aeabi_fadd 000037b1 __aeabi_fcmpeq 000037ed __aeabi_fcmpge 00003801 __aeabi_fcmpgt 000037d9 __aeabi_fcmple 000037c5 __aeabi_fcmplt 00002ead __aeabi_fmul 0000258d __aeabi_fsub 00003f89 __aeabi_i2f 000039e5 __aeabi_idiv 00001bbb __aeabi_idiv0 000039e5 __aeabi_idivmod 00005225 __aeabi_memclr 00005225 __aeabi_memclr4 00005225 __aeabi_memclr8 00005249 __aeabi_memcpy 00005249 __aeabi_memcpy4 00005249 __aeabi_memcpy8 ffffffff __binit__ 000040f1 __cmpsf2 000040f1 __eqsf2 00003e8d __extendsfdf2 00003df9 __fixdfsi 000041a1 __fixsfsi 00003f89 __floatsisf 00003fc5 __gesf2 00003fc5 __gtsf2 000040f1 __lesf2 000040f1 __ltsf2 UNDEFED __mpu_init 000024a9 __muldf3 0000412d __muldsi3 00002ead __mulsf3 000040f1 __nesf2 20207e00 __stack 20200000 __start___llvm_prf_bits 20200000 __start___llvm_prf_cnts 20200000 __stop___llvm_prf_bits 20200000 __stop___llvm_prf_cnts 00001a29 __subdf3 0000258d __subsf3 00003531 __truncdfsf2 0000487d _c_int00_noargs UNDEFED _system_post_cinit 00005271 _system_pre_init 00005275 abort 00004001 assert_handler ffffffff binit 00003615 bq34z100_read_all_data 0000431d bq34z100_read_control_status 0000434d bq34z100_read_current 0000437d bq34z100_read_cycle_count 000043ad bq34z100_read_flags 000043dd bq34z100_read_full_charge_capacity 00004a39 bq34z100_read_grid_number 0000482d bq34z100_read_learned_status 00004abd bq34z100_read_max_error 0000440d bq34z100_read_qmax_dod_0 0000443d bq34z100_read_qmax_passed_q 0000446d bq34z100_read_recommended_charge_current 0000449d bq34z100_read_remaining_capacity 00004add bq34z100_read_soc 00004afd bq34z100_read_soh 00003875 bq34z100_read_temperature 000044cd bq34z100_read_voltage 00005069 bq76952_all_fets_on 000000c1 bq76952_check_config 000035a5 bq76952_full_reset_all 0000403d bq76952_partial_reset_all 0000367f bq76952_read_all_data 00003f0d bq76952_read_all_temperatures 00002b09 bq76952_read_all_voltages 000041d9 bq76952_read_cb_active_cells 00004211 bq76952_read_cb_active_time 00004079 bq76952_read_cc2_counts 00004855 bq76952_read_fet_status 00004249 bq76952_read_pack_current 000036e9 bq76952_read_safety_status 00004b3b bq76952_read_sleep_status 0000392d comm_send_bms_msg 00000cd5 debug_print_afe_data 000048f1 debug_print_all_data 00001821 debug_print_fg_data 000022b1 debug_print_sys_data 20200144 g_bms 2020013c g_systick_cnt 2020021c g_tasks 00005690 g_temp_snsrs 00005534 g_vcell_modes 00002665 get_min_max_delta_cell_voltages 00005251 i2c_get_rx_buf 000049cd i2c_init 00002bb1 i2c_is_target_responding 00001e49 i2c_read_reg 00001f81 i2c_write_reg 00000000 interruptVectors 00003ecd led_flash_ms 00004665 led_off 00004691 led_on 00002fc5 main 000049f1 smach_init_fail_safe_state_handler 000014f9 smach_init_state_handler 00003e43 smach_operation_state_machine 000051fd strlen 000046e9 strncat 000046bd strncpy 0000452d timer_delay_ms 0000523d timer_time_now 000042e9 timer_time_since 000032d1 uart_init 00003815 uart_puts 00004a15 uart_tx GLOBAL SYMBOLS: SORTED BY Symbol Address address name ------- ---- 00000000 __TI_ATRegion0_region_sz 00000000 __TI_ATRegion0_src_addr 00000000 __TI_ATRegion0_trg_addr 00000000 __TI_ATRegion1_region_sz 00000000 __TI_ATRegion1_src_addr 00000000 __TI_ATRegion1_trg_addr 00000000 __TI_ATRegion2_region_sz 00000000 __TI_ATRegion2_src_addr 00000000 __TI_ATRegion2_trg_addr 00000000 __TI_static_base__ 00000000 interruptVectors 000000c1 bq76952_check_config 00000200 __STACK_SIZE 00000cd5 debug_print_afe_data 000014f9 smach_init_state_handler 00001821 debug_print_fg_data 00001a29 __aeabi_dsub 00001a29 __subdf3 00001a33 __adddf3 00001a33 __aeabi_dadd 00001bbb __aeabi_idiv0 00001d09 SYSCFG_DL_GPIO_init 00001e49 i2c_read_reg 00001f81 i2c_write_reg 000022b1 debug_print_sys_data 000024a9 __aeabi_dmul 000024a9 __muldf3 0000258d __aeabi_fsub 0000258d __subsf3 00002597 __addsf3 00002597 __aeabi_fadd 00002665 get_min_max_delta_cell_voltages 00002801 I2C0_IRQHandler 000028c9 I2C1_IRQHandler 00002b09 bq76952_read_all_voltages 00002bb1 i2c_is_target_responding 00002e21 SYSCFG_DL_initPower 00002ead __aeabi_fmul 00002ead __mulsf3 00002fc5 main 000031d9 UART0_IRQHandler 00003255 UART1_IRQHandler 000032d1 uart_init 0000334d __TI_decompress_lzss 000033c9 SYSCFG_DL_I2C_P_init 00003441 SYSCFG_DL_I2C_R_init 00003531 __aeabi_d2f 00003531 __truncdfsf2 000035a5 bq76952_full_reset_all 00003615 bq34z100_read_all_data 0000367f bq76952_read_all_data 000036e9 bq76952_read_safety_status 000037b1 __aeabi_fcmpeq 000037c5 __aeabi_fcmplt 000037d9 __aeabi_fcmple 000037ed __aeabi_fcmpge 00003801 __aeabi_fcmpgt 00003815 uart_puts 00003875 bq34z100_read_temperature 0000392d comm_send_bms_msg 000039e5 __aeabi_idiv 000039e5 __aeabi_idivmod 00003a3b DL_I2C_fillControllerTXFIFO 00003ae5 DL_CRC_calculateBlock16 00003b89 SYSCFG_DL_UART_COMM_init 00003bd9 SYSCFG_DL_UART_PRINT_init 00003cc9 DL_UART_init 00003d61 GROUP1_IRQHandler 00003df9 __aeabi_d2iz 00003df9 __fixdfsi 00003e43 smach_operation_state_machine 00003e8d __aeabi_f2d 00003e8d __extendsfdf2 00003ecd led_flash_ms 00003f0d bq76952_read_all_temperatures 00003f89 __aeabi_i2f 00003f89 __floatsisf 00003fc5 __gesf2 00003fc5 __gtsf2 00004001 assert_handler 0000403d bq76952_partial_reset_all 00004079 bq76952_read_cc2_counts 000040b5 __TI_auto_init_nobinit_nopinit 000040f1 __cmpsf2 000040f1 __eqsf2 000040f1 __lesf2 000040f1 __ltsf2 000040f1 __nesf2 0000412d __muldsi3 000041a1 __aeabi_f2iz 000041a1 __fixsfsi 000041d9 bq76952_read_cb_active_cells 00004211 bq76952_read_cb_active_time 00004249 bq76952_read_pack_current 000042b5 DL_I2C_setClockConfig 000042e9 timer_time_since 0000431d bq34z100_read_control_status 0000434d bq34z100_read_current 0000437d bq34z100_read_cycle_count 000043ad bq34z100_read_flags 000043dd bq34z100_read_full_charge_capacity 0000440d bq34z100_read_qmax_dod_0 0000443d bq34z100_read_qmax_passed_q 0000446d bq34z100_read_recommended_charge_current 0000449d bq34z100_read_remaining_capacity 000044cd bq34z100_read_voltage 0000452d timer_delay_ms 0000455d SYSCFG_DL_WWDT1_init 00004589 SYSCFG_DL_init 00004665 led_off 00004691 led_on 000046bd strncpy 000046e9 strncat 00004805 SYSCFG_DL_CRC_init 0000482d bq34z100_read_learned_status 00004855 bq76952_read_fet_status 0000487d _c_int00_noargs 000048a5 DL_I2C_flushControllerTXFIFO 000048f1 debug_print_all_data 000049a9 DL_UART_setClockConfig 000049cd i2c_init 000049f1 smach_init_fail_safe_state_handler 00004a15 uart_tx 00004a39 bq34z100_read_grid_number 00004abd bq34z100_read_max_error 00004add bq34z100_read_soc 00004afd bq34z100_read_soh 00004b3b bq76952_read_sleep_status 00005053 SYSCFG_DL_SYSCTL_init 00005069 bq76952_all_fets_on 0000507f __TI_zero_init_nomemset 000050a9 DL_Common_delayCycles 000051a7 TI_memcpy_small 000051b9 __TI_decompress_none 000051cd SysTick_Handler 000051fd strlen 0000520b TI_memset_small 00005219 SYSCFG_DL_SYSTICK_init 00005225 __aeabi_memclr 00005225 __aeabi_memclr4 00005225 __aeabi_memclr8 0000523d timer_time_now 00005249 __aeabi_memcpy 00005249 __aeabi_memcpy4 00005249 __aeabi_memcpy8 00005251 i2c_get_rx_buf 00005259 ADC0_IRQHandler 00005259 ADC1_IRQHandler 00005259 DMA_IRQHandler 00005259 Default_Handler 00005259 GROUP0_IRQHandler 00005259 HardFault_Handler 00005259 NMI_Handler 00005259 PendSV_Handler 00005259 RTC_IRQHandler 00005259 SPI0_IRQHandler 00005259 SPI1_IRQHandler 00005259 SVC_Handler 00005259 TIMA0_IRQHandler 00005259 TIMA1_IRQHandler 00005259 TIMG0_IRQHandler 00005259 TIMG12_IRQHandler 00005259 TIMG6_IRQHandler 00005259 TIMG7_IRQHandler 00005259 TIMG8_IRQHandler 00005259 UART2_IRQHandler 00005259 UART3_IRQHandler 0000525d Reset_Handler 00005271 _system_pre_init 00005274 C$$EXIT 00005275 abort 00005534 g_vcell_modes 00005690 g_temp_snsrs 000056ec __TI_Handler_Table_Base 000056f8 __TI_Handler_Table_Limit 00005700 __TI_CINIT_Base 00005710 __TI_CINIT_Limit 00005710 __TI_CINIT_Warm 20200000 __start___llvm_prf_bits 20200000 __start___llvm_prf_cnts 20200000 __stop___llvm_prf_bits 20200000 __stop___llvm_prf_cnts 2020013c g_systick_cnt 20200144 g_bms 2020021c g_tasks 20207e00 __stack 20208000 __STACK_END ffffffff __TI_pprof_out_hndl ffffffff __TI_prof_data_size ffffffff __TI_prof_data_start ffffffff __binit__ ffffffff binit UNDEFED __mpu_init UNDEFED _system_post_cinit [194 symbols]