Files
GD32_BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf.map
T
cbb 05069e3057 feat(cproject): 移除CAN DMA相关代码并优化编译配置
- 移除了CAN模块中的DMA相关代码,包括can_dma_init函数、
  DMA中断处理函数以及相关的全局变量和头文件包含

- 更新了项目构建配置,将优化级别从balanced改为size以减小
  固件体积

- 添加了-fno-exceptions和-fno-rtti编译选项以进一步优化代码

- 升级了GD32C10x_DFP包版本至1.5.0

- 调整了OTA跳转逻辑,增加了更安全的中断和外设关闭处理

- 修复了Flash写入时的重复包处理逻辑,增加错误标志清理机制

- 将AES加密算法中的gf_mul函数标记为noinline属性
2026-07-26 23:08:02 +08:00

210 lines
16 KiB
Plaintext

Component: Arm Compiler for Embedded 6.24 Tool: armlink [5f371500]
==============================================================================
Memory Map of the image
Image Entry point : 0x08000165
Load Region LR_ROM0 (Base: 0x08000000, Size: 0x00003488, Max: 0x00006000, ABSOLUTE)
Execution Region ER_ROM0 (Base: 0x08000000, Size: 0x00003398, Max: 0x00006000, ABSOLUTE)
Base Addr Size Type Attr Idx E Section Name Object
0x08000000 0x00000150 Data RO 854 RESET startup_gd32c10x.o
0x08000150 0x00000000 Code RO 884 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x08000150 0x00000004 Code RO 1164 .ARM.Collect$$$$00000003 mc_w.l(entry4.o)
0x08000154 0x00000004 Code RO 1167 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x08000158 0x00000000 Code RO 1169 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x08000158 0x00000000 Code RO 1171 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x08000158 0x00000008 Code RO 1172 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x08000160 0x00000000 Code RO 1174 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
0x08000160 0x00000000 Code RO 1176 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
0x08000160 0x00000004 Code RO 1165 .ARM.Collect$$$$00002714 mc_w.l(entry4.o)
0x08000164 0x0000002c Code RO 855 * .text startup_gd32c10x.o
0x08000190 0x00000040 Code RO 893 .text mc_w.l(memmovea.o)
0x080001d0 0x00000024 Code RO 895 .text mc_w.l(memseta.o)
0x080001f4 0x0000001a Code RO 897 .text mc_w.l(memcmp.o)
0x0800020e 0x00000062 Code RO 1190 .text mc_w.l(uldiv.o)
0x08000270 0x00000030 Code RO 1203 .text mc_w.l(init.o)
0x080002a0 0x0000001e Code RO 1205 .text mc_w.l(llshl.o)
0x080002be 0x00000020 Code RO 1207 .text mc_w.l(llushr.o)
0x080002de 0x00000002 PAD
0x080002e0 0x0000008c Code RO 187 .text.CAN0_RX0_IRQHandler Can.o
0x0800036c 0x00000080 Code RO 107 .text.EXTI5_9_IRQHandler initial.o
0x080003ec 0x0000000c Code RO 52 .text.OUTLINED_FUNCTION_0 aes128.o
0x080003f8 0x00000006 Code RO 149 .text.OUTLINED_FUNCTION_0 OTA.o
0x080003fe 0x0000000c Code RO 219 .text.OUTLINED_FUNCTION_0 gd32c10x_eval.o
0x0800040a 0x00000012 Code RO 298 .text.OUTLINED_FUNCTION_0 gd32c10x_can.o
0x0800041c 0x0000000a Code RO 390 .text.OUTLINED_FUNCTION_0 gd32c10x_exti.o
0x08000426 0x0000000a Code RO 704 .text.OUTLINED_FUNCTION_0 gd32c10x_rcu.o
0x08000430 0x0000000a Code RO 832 .text.OUTLINED_FUNCTION_0 gd32c10x_usart.o
0x0800043a 0x00000010 Code RO 867 .text.OUTLINED_FUNCTION_0 system_gd32c10x.o
0x0800044a 0x00000006 Code RO 54 .text.OUTLINED_FUNCTION_1 aes128.o
0x08000450 0x0000000c Code RO 300 .text.OUTLINED_FUNCTION_1 gd32c10x_can.o
0x0800045c 0x00000008 Code RO 392 .text.OUTLINED_FUNCTION_1 gd32c10x_exti.o
0x08000464 0x0000000a Code RO 869 .text.OUTLINED_FUNCTION_1 system_gd32c10x.o
0x0800046e 0x0000000a Code RO 56 .text.OUTLINED_FUNCTION_2 aes128.o
0x08000478 0x00000008 Code RO 871 .text.OUTLINED_FUNCTION_2 system_gd32c10x.o
0x08000480 0x0000000e Code RO 58 .text.OUTLINED_FUNCTION_3 aes128.o
0x0800048e 0x00000008 Code RO 710 .text.OUTLINED_FUNCTION_3 gd32c10x_rcu.o
0x08000496 0x00000006 Code RO 714 .text.OUTLINED_FUNCTION_5 gd32c10x_rcu.o
0x0800049c 0x0000000e Code RO 716 .text.OUTLINED_FUNCTION_6 gd32c10x_rcu.o
0x080004aa 0x00000002 PAD
0x080004ac 0x00000194 Code RO 861 .text.SystemInit system_gd32c10x.o
0x08000640 0x00000010 Code RO 95 .text.USART0_init initial.o
0x08000650 0x00000034 Code RO 28 .text._Z10shift_rowsPh aes128.o
0x08000684 0x0000008a Code RO 30 .text._Z11mix_columnsPh aes128.o
0x0800070e 0x00000016 Code RO 24 .text._Z13add_round_keyPhPKh aes128.o
0x08000724 0x00000018 Code RO 32 .text._Z13inv_sub_bytesPh aes128.o
0x0800073c 0x000000a8 Code RO 147 .text._Z13move_app_datav OTA.o
0x080007e4 0x00000022 Code RO 105 .text._Z13write_ADDRESSjj initial.o
0x08000806 0x00000002 PAD
0x08000808 0x000000d0 Code RO 40 .text._Z14aes128_set_keyP14aes128_contextPKh aes128.o
0x080008d8 0x00000034 Code RO 34 .text._Z14inv_shift_rowsPh aes128.o
0x0800090c 0x000000f4 Code RO 36 .text._Z15inv_mix_columnsPh aes128.o
0x08000a00 0x0000001c Code RO 131 .text._Z16send_error_frameh OTA.o
0x08000a1c 0x000000e4 Code RO 135 .text._Z19validateApplicationv OTA.o
0x08000b00 0x00000054 Code RO 46 .text._Z20aes128_decrypt_blockP14aes128_contextPKhPh aes128.o
0x08000b54 0x0000004c Code RO 42 .text._Z20aes128_encrypt_blockP14aes128_contextPKhPh aes128.o
0x08000ba0 0x00000034 Code RO 143 .text._Z21getDeviceSerialNumberPh OTA.o
0x08000bd4 0x00000044 Code RO 141 .text._Z24calculate_crc32_with_keyPKhS0_Ph OTA.o
0x08000c18 0x00000020 Code RO 48 .text._Z26aes128_ecb_decrypt_48bytesP14aes128_contextPKhPh aes128.o
0x08000c38 0x00000070 Code RO 123 .text._Z7OTA_SETjj OTA.o
0x08000ca8 0x00000018 Code RO 26 .text._Z9sub_bytesPh aes128.o
0x08000cc0 0x00000024 Code RO 38 .text._ZL6gf_mulhh aes128.o
0x08000ce4 0x00000378 Code RO 139 .text._ZN10OTAHandler16handleOTAMessageEjPhh OTA.o
0x0800105c 0x00000170 Code RO 133 .text._ZN10OTAHandler17jumpToApplicationEv OTA.o
0x080011cc 0x000000d0 Code RO 129 .text._ZN10OTAHandler20eraseApplicationAreaEv OTA.o
0x0800129c 0x000000a0 Code RO 137 .text._ZN10OTAHandler20writeApplicationDataEjPhj OTA.o
0x0800133c 0x000000e0 Code RO 127 .text._ZN10OTAHandler7processEv OTA.o
0x0800141c 0x0000000e Code RO 183 .text._ZN14CAN_transmiter10sendBackupEv Can.o
0x0800142a 0x0000003a Code RO 179 .text._ZN14CAN_transmiter12sendDATA_ACKEjPh Can.o
0x08001464 0x0000011c Code RO 181 .text._ZN14CAN_transmiter15CANFD_AsyncSendEjhPh Can.o
0x08001580 0x00000030 Code RO 177 .text._ZN14CAN_transmiter19communication_checkEv Can.o
0x080015b0 0x00000022 Code RO 175 .text._ZN14CAN_transmiter4initEv Can.o
0x080015d2 0x00000002 PAD
0x080015d4 0x00000018 Code RO 4 .text._ZN16BootloaderSystem12initHardwareEv main.o
0x080015ec 0x0000013c Code RO 6 .text._ZN16BootloaderSystem3runEv main.o
0x08001728 0x00000024 Code RO 236 .text.can_deinit gd32c10x_can.o
0x0800174c 0x000000c4 Code RO 242 .text.can_fd_init gd32c10x_can.o
0x08001810 0x000000a0 Code RO 244 .text.can_filter_init gd32c10x_can.o
0x080018b0 0x00000064 Code RO 171 .text.can_gpio_init Can.o
0x08001914 0x00000124 Code RO 240 .text.can_init gd32c10x_can.o
0x08001a38 0x00000008 Code RO 286 .text.can_interrupt_enable gd32c10x_can.o
0x08001a40 0x0000000c Code RO 296 .text.can_interrupt_flag_clear gd32c10x_can.o
0x08001a4c 0x0000005c Code RO 294 .text.can_interrupt_flag_get gd32c10x_can.o
0x08001aa8 0x0000010c Code RO 270 .text.can_message_receive gd32c10x_can.o
0x08001bb4 0x00000114 Code RO 264 .text.can_message_transmit gd32c10x_can.o
0x08001cc8 0x000000a2 Code RO 238 .text.can_struct_para_init gd32c10x_can.o
0x08001d6a 0x00000002 PAD
0x08001d6c 0x000000a4 Code RO 173 .text.canfd_config Can.o
0x08001e10 0x0000003c Code RO 109 .text.check_sleep initial.o
0x08001e4c 0x00000010 Code RO 326 .text.crc_block_data_calculate gd32c10x_crc.o
0x08001e5c 0x00000010 Code RO 316 .text.crc_data_register_reset gd32c10x_crc.o
0x08001e6c 0x00000018 Code RO 314 .text.crc_deinit gd32c10x_crc.o
0x08001e84 0x0000000c Code RO 77 .text.delay_1ms systick.o
0x08001e90 0x00000020 Code RO 75 .text.delay_1us systick.o
0x08001eb0 0x00000014 Code RO 79 .text.delay_decrement systick.o
0x08001ec4 0x00000090 Code RO 103 .text.enter_deep_sleep initial.o
0x08001f54 0x0000005c Code RO 368 .text.exti_init gd32c10x_exti.o
0x08001fb0 0x00000008 Code RO 372 .text.exti_interrupt_disable gd32c10x_exti.o
0x08001fb8 0x0000000c Code RO 370 .text.exti_interrupt_enable gd32c10x_exti.o
0x08001fc4 0x00000008 Code RO 388 .text.exti_interrupt_flag_clear gd32c10x_exti.o
0x08001fcc 0x00000010 Code RO 386 .text.exti_interrupt_flag_get gd32c10x_exti.o
0x08001fdc 0x00000008 Code RO 465 .text.fmc_flag_clear gd32c10x_fmc.o
0x08001fe4 0x0000000c Code RO 425 .text.fmc_lock gd32c10x_fmc.o
0x08001ff0 0x00000038 Code RO 429 .text.fmc_page_erase gd32c10x_fmc.o
0x08002028 0x00000048 Code RO 431 .text.fmc_ready_wait gd32c10x_fmc.o
0x08002070 0x00000020 Code RO 423 .text.fmc_unlock gd32c10x_fmc.o
0x08002090 0x0000002c Code RO 437 .text.fmc_word_program gd32c10x_fmc.o
0x080020bc 0x00000024 Code RO 97 .text.fputc initial.o
0x080020e0 0x00000084 Code RO 217 .text.gd_eval_com_init gd32c10x_eval.o
0x08002164 0x00000004 Code RO 508 .text.gpio_bit_reset gd32c10x_gpio.o
0x08002168 0x00000044 Code RO 524 .text.gpio_exti_source_select gd32c10x_gpio.o
0x080021ac 0x000000ac Code RO 504 .text.gpio_init gd32c10x_gpio.o
0x08002258 0x00000078 Code RO 522 .text.gpio_pin_remap_config gd32c10x_gpio.o
0x080022d0 0x0000000a Code RO 8 .text.main main.o
0x080022da 0x00000002 PAD
0x080022dc 0x00000074 Code RO 551 .text.nvic_irq_enable gd32c10x_misc.o
0x08002350 0x00000018 Code RO 555 .text.nvic_vector_table_set gd32c10x_misc.o
0x08002368 0x00000098 Code RO 584 .text.pmu_to_deepsleepmode gd32c10x_pmu.o
0x08002400 0x00000010 Code RO 674 .text.rcu_all_reset_flag_clear gd32c10x_rcu.o
0x08002410 0x000000e4 Code RO 702 .text.rcu_clock_freq_get gd32c10x_rcu.o
0x080024f4 0x00000010 Code RO 700 .text.rcu_deepsleep_voltage_set gd32c10x_rcu.o
0x08002504 0x00000010 Code RO 622 .text.rcu_periph_clock_disable gd32c10x_rcu.o
0x08002514 0x00000010 Code RO 620 .text.rcu_periph_clock_enable gd32c10x_rcu.o
0x08002524 0x00000010 Code RO 630 .text.rcu_periph_reset_disable gd32c10x_rcu.o
0x08002534 0x00000014 Code RO 628 .text.rcu_periph_reset_enable gd32c10x_rcu.o
0x08002548 0x00000010 Code RO 636 .text.rcu_system_clock_source_config gd32c10x_rcu.o
0x08002558 0x000000a0 Code RO 101 .text.scanAppFlashContent initial.o
0x080025f8 0x00000020 Code RO 81 .text.system_soft_reset systick.o
0x08002618 0x00000038 Code RO 73 .text.systick_config systick.o
0x08002650 0x00000040 Code RO 732 .text.usart_baudrate_set gd32c10x_usart.o
0x08002690 0x00000008 Code RO 758 .text.usart_data_transmit gd32c10x_usart.o
0x08002698 0x00000064 Code RO 730 .text.usart_deinit gd32c10x_usart.o
0x080026fc 0x0000000a Code RO 740 .text.usart_enable gd32c10x_usart.o
0x08002706 0x00000010 Code RO 820 .text.usart_flag_get gd32c10x_usart.o
0x08002716 0x0000000e Code RO 746 .text.usart_receive_config gd32c10x_usart.o
0x08002724 0x0000000e Code RO 744 .text.usart_transmit_config gd32c10x_usart.o
0x08002732 0x00000002 PAD
0x08002734 0x00000020 Code RO 1110 i.__0printf$8 mc_w.l(printf8.o)
0x08002754 0x0000000e Code RO 1215 i.__scatterload_copy mc_w.l(handlers.o)
0x08002762 0x00000002 Code RO 1216 i.__scatterload_null mc_w.l(handlers.o)
0x08002764 0x0000000e Code RO 1217 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x08002772 0x00000002 PAD
0x08002774 0x00000410 Code RO 1117 i._printf_core mc_w.l(printf8.o)
0x08002b84 0x00000024 Code RO 1118 i._printf_post_padding mc_w.l(printf8.o)
0x08002ba8 0x0000002e Code RO 1119 i._printf_pre_padding mc_w.l(printf8.o)
0x08002bd6 0x00000002 PAD
0x08002bd8 0x00000024 Code RO 887 i.puts mc_w.l(puts.o)
0x08002bfc 0x00000100 Data RO 61 .rodata._ZL4sbox aes128.o
0x08002cfc 0x00000010 Data RO 155 .rodata._ZL8K_master OTA.o
0x08002d0c 0x00000400 Data RO 156 .rodata._ZZ24calculate_crc32_with_keyPKhS0_PhE9crc_table OTA.o
0x0800310c 0x00000008 Data RO 718 .rodata.cst8 gd32c10x_rcu.o
0x08003114 0x00000007 Data RO 302 .rodata.g_can_fdlength_table gd32c10x_can.o
0x0800311b 0x00000100 Data RO 60 .rodata.inv_sbox aes128.o
0x0800321b 0x00000046 Data RO 11 .rodata.str1.1 main.o
0x08003261 0x00000041 Data RO 111 .rodata.str1.1 initial.o
0x080032a2 0x000000d6 Data RO 153 .rodata.str1.1 OTA.o
0x08003378 0x00000020 Data RO 1214 Region$$Table anon$$obj.o
Execution Region RW_NOINIT (Base: 0x20000000, Size: 0x00000000, Max: 0x00007200, ABSOLUTE, UNINIT)
**** No section assigned to this execution region ****
Execution Region RW_RAM0 (Base: 0x20000000, Size: 0x00000cf8, Max: 0x00007200, ABSOLUTE)
Base Addr Size Type Attr Idx E Section Name Object
0x20000000 0x00000004 Data RW 1178 .data mc_w.l(stdout.o)
0x20000004 0x000000e8 Data RW 191 .data.CAN0_transmiter Can.o
0x200000ec 0x00000004 Data RW 873 .data.SystemCoreClock system_gd32c10x.o
0x200000f0 0x00000054 Zero RW 193 .bss..L_MergedGlobals Can.o
0x20000144 0x00000010 Zero RW 604 .bss..L_MergedGlobals gd32c10x_pmu.o
0x20000154 0x00000004 Zero RW 83 .bss._ZL5delay systick.o
0x20000158 0x00000240 Zero RW 192 .bss._ZL8tx_queue Can.o
0x20000398 0x00000001 Zero RW 152 .bss._ZZN10OTAHandler7processEvE4zero OTA.o
0x20000399 0x00000003 PAD
0x2000039c 0x00000158 Zero RW 151 .bss.ota OTA.o
0x200004f4 0x00000004 PAD
0x200004f8 0x00000800 Zero RW 852 STACK startup_gd32c10x.o
Execution Region ARM_LIB_HEAP (Base: 0x20000cf8, Size: 0x00000c00, Max: 0x00000c00, ABSOLUTE)
Base Addr Size Type Attr Idx E Section Name Object
0x20000cf8 0x00000c00 Zero RW 1 ARM_LIB_HEAP.bss anon$$obj.o
Execution Region ARM_LIB_STACK (Base: 0x20007e00, Size: 0x00000200, Max: 0x00000200, ABSOLUTE)
Base Addr Size Type Attr Idx E Section Name Object
0x20007e00 0x00000200 Zero RW 2 ARM_LIB_STACK.bss anon$$obj.o