feat(CAN): 实现CAN FD协议栈优化和发送队列机制
- 将CAN收发缓冲区扩展至64字节以支持CAN FD协议 - 添加发送队列机制防止高负载时消息丢失 - 优化中断处理流程,直接读取消息数据避免DMA竞争 - 修改编译配置指向Release版本目录 - 调整OTA处理逻辑将Flash擦除操作移至主循环执行 BREAKING CHANGE: 缓冲区大小调整可能影响现有CAN通信协议实现
This commit is contained in:
@@ -6,185 +6,183 @@ Memory Map of the image
|
||||
|
||||
Image Entry point : 0x08000165
|
||||
|
||||
Load Region LR_ROM0 (Base: 0x08000000, Size: 0x00005038, Max: 0x08006000, ABSOLUTE)
|
||||
Load Region LR_ROM0 (Base: 0x08000000, Size: 0x00005148, Max: 0x08006000, ABSOLUTE)
|
||||
|
||||
Execution Region ER_ROM0 (Base: 0x08000000, Size: 0x00004f40, Max: 0x08006000, ABSOLUTE)
|
||||
Execution Region ER_ROM0 (Base: 0x08000000, Size: 0x00005050, Max: 0x08006000, ABSOLUTE)
|
||||
|
||||
Base Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x08000000 0x00000150 Data RO 887 RESET startup_gd32c10x.o
|
||||
0x08000150 0x00000000 Code RO 1051 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
|
||||
0x08000150 0x00000004 Code RO 1476 .ARM.Collect$$$$00000003 mc_w.l(entry4.o)
|
||||
0x08000154 0x00000004 Code RO 1479 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
|
||||
0x08000158 0x00000000 Code RO 1481 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
|
||||
0x08000158 0x00000000 Code RO 1483 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
|
||||
0x08000158 0x00000008 Code RO 1484 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
|
||||
0x08000160 0x00000000 Code RO 1486 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
|
||||
0x08000160 0x00000000 Code RO 1488 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
|
||||
0x08000160 0x00000004 Code RO 1477 .ARM.Collect$$$$00002714 mc_w.l(entry4.o)
|
||||
0x08000164 0x0000002c Code RO 888 * .text startup_gd32c10x.o
|
||||
0x08000190 0x00000024 Code RO 1058 .text mc_w.l(memcpya.o)
|
||||
0x080001b4 0x00000024 Code RO 1060 .text mc_w.l(memseta.o)
|
||||
0x080001d8 0x0000001a Code RO 1062 .text mc_w.l(memcmp.o)
|
||||
0x080001f2 0x00000002 Code RO 1504 .text mc_w.l(abort.o)
|
||||
0x080001f4 0x00000030 Code RO 1831 .text mc_w.l(init.o)
|
||||
0x08000224 0x000000b8 Code RO 175 .text.CAN0_RX0_IRQHandler Can.o
|
||||
0x080002dc 0x0000004a Code RO 177 .text.DMA0_Channel4_IRQHandler Can.o
|
||||
0x08000326 0x00000002 PAD
|
||||
0x08000328 0x00000026 Code RO 179 .text.DMA0_Channel5_IRQHandler Can.o
|
||||
0x0800034e 0x00000002 PAD
|
||||
0x08000350 0x0000016a Code RO 97 .text.EXTI5_9_IRQHandler initial.o
|
||||
0x080004ba 0x00000002 PAD
|
||||
0x080004bc 0x00000342 Code RO 894 .text.SystemInit system_gd32c10x.o
|
||||
0x080007fe 0x00000002 PAD
|
||||
0x08000800 0x00000012 Code RO 84 .text.USART0_init initial.o
|
||||
0x08000812 0x00000002 PAD
|
||||
0x08000814 0x00000198 Code RO 29 .text._Z11mix_columnsPh aes128.o
|
||||
0x080009ac 0x000000ba Code RO 139 .text._Z13move_app_datav OTA.o
|
||||
0x08000a66 0x00000002 PAD
|
||||
0x08000a68 0x00000238 Code RO 37 .text._Z14aes128_set_keyP14aes128_contextPKh aes128.o
|
||||
0x08000ca0 0x000008e2 Code RO 35 .text._Z15inv_mix_columnsPh aes128.o
|
||||
0x08001582 0x00000002 PAD
|
||||
0x08001584 0x000003c8 Code RO 43 .text._Z20aes128_decrypt_blockP14aes128_contextPKhPh aes128.o
|
||||
0x0800194c 0x000003e6 Code RO 39 .text._Z20aes128_encrypt_blockP14aes128_contextPKhPh aes128.o
|
||||
0x08001d32 0x00000002 PAD
|
||||
0x08001d34 0x00000210 Code RO 133 .text._Z24calculate_crc32_with_keyPKhS0_Ph OTA.o
|
||||
0x08001f44 0x0000002c Code RO 45 .text._Z26aes128_ecb_decrypt_48bytesP14aes128_contextPKhPh aes128.o
|
||||
0x08001f70 0x00000148 Code RO 115 .text._Z7OTA_SETjj OTA.o
|
||||
0x080020b8 0x0000044e Code RO 131 .text._ZN10OTAHandler16handleOTAMessageEjPhh OTA.o
|
||||
0x08002506 0x00000002 PAD
|
||||
0x08002508 0x000000ae Code RO 123 .text._ZN10OTAHandler17jumpToApplicationEv OTA.o
|
||||
0x080025b6 0x00000002 PAD
|
||||
0x080025b8 0x0000008a Code RO 127 .text._ZN10OTAHandler20eraseApplicationAreaEv OTA.o
|
||||
0x08002642 0x00000002 PAD
|
||||
0x08002644 0x00000080 Code RO 129 .text._ZN10OTAHandler20writeApplicationDataEjPhj OTA.o
|
||||
0x080026c4 0x0000009c Code RO 119 .text._ZN10OTAHandler7processEv OTA.o
|
||||
0x08002760 0x00000028 Code RO 917 .text._ZN10__cxxabiv121__isOurExceptionClassEPK21_Unwind_Control_Block libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002788 0x00000060 Code RO 945 .text._ZN10__cxxabiv1L22__cxa_end_cleanup_implEv libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x080027e8 0x0000004c Code RO 171 .text._ZN14CAN_transmiter10sendBackupEv Can.o
|
||||
0x08002834 0x0000008c Code RO 167 .text._ZN14CAN_transmiter12sendDATA_ACKEjPh Can.o
|
||||
0x080028c0 0x0000014e Code RO 169 .text._ZN14CAN_transmiter15CANFD_AsyncSendEjhPh Can.o
|
||||
0x08002a0e 0x00000002 PAD
|
||||
0x08002a10 0x00000042 Code RO 165 .text._ZN14CAN_transmiter19communication_checkEv Can.o
|
||||
0x08002a52 0x00000002 PAD
|
||||
0x08002a54 0x0000003c Code RO 163 .text._ZN14CAN_transmiter4initEv Can.o
|
||||
0x08002a90 0x00000086 Code RO 6 .text._ZN16BootloaderSystem3runEv main.o
|
||||
0x08002b16 0x00000002 PAD
|
||||
0x08002b18 0x00000074 Code RO 988 .text._ZSt11__terminatePFvvE libcppabi_wx.l(cxa_handlers.cpp.o)
|
||||
0x08002b8c 0x00000030 Code RO 979 .text._ZSt9terminatev libcppabi_wx.l(cxa_handlers.cpp.o)
|
||||
0x08002bbc 0x0000000a Code RO 974 .text.__clang_call_terminate libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002bc6 0x00000002 PAD
|
||||
0x08002bc8 0x0000006c Code RO 922 .text.__cxa_begin_catch libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002c34 0x0000000a Code RO 1343 .text.__cxa_get_globals libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x08002c3e 0x0000000a Code RO 1345 .text.__cxa_get_globals_fast libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x08002c48 0x00000026 Code RO 228 .text.can_deinit gd32c10x_can.o
|
||||
0x08002c6e 0x00000002 PAD
|
||||
0x08002c70 0x00000114 Code RO 234 .text.can_fd_init gd32c10x_can.o
|
||||
0x08002d84 0x000000b2 Code RO 236 .text.can_filter_init gd32c10x_can.o
|
||||
0x08002e36 0x00000002 PAD
|
||||
0x08002e38 0x00000176 Code RO 232 .text.can_init gd32c10x_can.o
|
||||
0x08002fae 0x00000002 PAD
|
||||
0x08002fb0 0x00000008 Code RO 278 .text.can_interrupt_enable gd32c10x_can.o
|
||||
0x08002fb8 0x00000016 Code RO 288 .text.can_interrupt_flag_clear gd32c10x_can.o
|
||||
0x08002fce 0x00000002 PAD
|
||||
0x08002fd0 0x00000066 Code RO 286 .text.can_interrupt_flag_get gd32c10x_can.o
|
||||
0x08003036 0x00000002 PAD
|
||||
0x08003038 0x000001f4 Code RO 262 .text.can_message_receive gd32c10x_can.o
|
||||
0x0800322c 0x000001f0 Code RO 256 .text.can_message_transmit gd32c10x_can.o
|
||||
0x0800341c 0x00000018 Code RO 266 .text.can_receive_message_length_get gd32c10x_can.o
|
||||
0x08003434 0x00000072 Code RO 230 .text.can_struct_para_init gd32c10x_can.o
|
||||
0x080034a6 0x00000002 PAD
|
||||
0x080034a8 0x000001b0 Code RO 161 .text.canfd_config Can.o
|
||||
0x08003658 0x00000238 Code RO 99 .text.check_sleep initial.o
|
||||
0x08003890 0x00000066 Code RO 314 .text.crc_block_data_calculate gd32c10x_crc.o
|
||||
0x080038f6 0x00000002 PAD
|
||||
0x080038f8 0x00000012 Code RO 304 .text.crc_data_register_reset gd32c10x_crc.o
|
||||
0x0800390a 0x00000002 PAD
|
||||
0x0800390c 0x00000018 Code RO 302 .text.crc_deinit gd32c10x_crc.o
|
||||
0x08003924 0x00000024 Code RO 66 .text.delay_1ms systick.o
|
||||
0x08003948 0x00000028 Code RO 64 .text.delay_1us systick.o
|
||||
0x08003970 0x00000018 Code RO 68 .text.delay_decrement systick.o
|
||||
0x08003988 0x00000024 Code RO 368 .text.dma_channel_disable gd32c10x_dma.o
|
||||
0x080039ac 0x00000024 Code RO 366 .text.dma_channel_enable gd32c10x_dma.o
|
||||
0x080039d0 0x00000074 Code RO 356 .text.dma_init gd32c10x_dma.o
|
||||
0x08003a44 0x00000022 Code RO 402 .text.dma_interrupt_enable gd32c10x_dma.o
|
||||
0x08003a66 0x00000002 PAD
|
||||
0x08003a68 0x0000000e Code RO 400 .text.dma_interrupt_flag_clear gd32c10x_dma.o
|
||||
0x08003a76 0x00000002 PAD
|
||||
0x08003a78 0x0000003a Code RO 398 .text.dma_interrupt_flag_get gd32c10x_dma.o
|
||||
0x08003ab2 0x00000002 PAD
|
||||
0x08003ab4 0x0000001a Code RO 354 .text.dma_struct_para_init gd32c10x_dma.o
|
||||
0x08003ace 0x00000002 PAD
|
||||
0x08003ad0 0x00000096 Code RO 93 .text.enter_deep_sleep initial.o
|
||||
0x08003b66 0x00000002 PAD
|
||||
0x08003b68 0x00000090 Code RO 419 .text.exti_init gd32c10x_exti.o
|
||||
0x08003bf8 0x00000012 Code RO 423 .text.exti_interrupt_disable gd32c10x_exti.o
|
||||
0x08003c0a 0x00000002 PAD
|
||||
0x08003c0c 0x00000010 Code RO 421 .text.exti_interrupt_enable gd32c10x_exti.o
|
||||
0x08003c1c 0x0000000c Code RO 439 .text.exti_interrupt_flag_clear gd32c10x_exti.o
|
||||
0x08003c28 0x00000012 Code RO 437 .text.exti_interrupt_flag_get gd32c10x_exti.o
|
||||
0x08003c3a 0x00000002 PAD
|
||||
0x08003c3c 0x0000000c Code RO 510 .text.fmc_flag_clear gd32c10x_fmc.o
|
||||
0x08003c48 0x00000012 Code RO 472 .text.fmc_lock gd32c10x_fmc.o
|
||||
0x08003c5a 0x00000002 PAD
|
||||
0x08003c5c 0x00000166 Code RO 476 .text.fmc_page_erase gd32c10x_fmc.o
|
||||
0x08003dc2 0x00000002 PAD
|
||||
0x08003dc4 0x00000026 Code RO 470 .text.fmc_unlock gd32c10x_fmc.o
|
||||
0x08003dea 0x00000002 PAD
|
||||
0x08003dec 0x000001aa Code RO 482 .text.fmc_word_program gd32c10x_fmc.o
|
||||
0x08003f96 0x00000002 PAD
|
||||
0x08003f98 0x0000002c Code RO 86 .text.fputc initial.o
|
||||
0x08003fc4 0x00000098 Code RO 211 .text.gd_eval_com_init gd32c10x_eval.o
|
||||
0x0800405c 0x00000004 Code RO 566 .text.gpio_bit_reset gd32c10x_gpio.o
|
||||
0x08004060 0x00000048 Code RO 582 .text.gpio_exti_source_select gd32c10x_gpio.o
|
||||
0x080040a8 0x000002c0 Code RO 562 .text.gpio_init gd32c10x_gpio.o
|
||||
0x08004368 0x00000080 Code RO 580 .text.gpio_pin_remap_config gd32c10x_gpio.o
|
||||
0x080043e8 0x00000022 Code RO 8 .text.main main.o
|
||||
0x0800440a 0x00000002 PAD
|
||||
0x0800440c 0x00000060 Code RO 609 .text.nvic_irq_enable gd32c10x_misc.o
|
||||
0x0800446c 0x0000001c Code RO 613 .text.nvic_vector_table_set gd32c10x_misc.o
|
||||
0x08004488 0x000000c6 Code RO 642 .text.pmu_to_deepsleepmode gd32c10x_pmu.o
|
||||
0x0800454e 0x00000002 PAD
|
||||
0x08004550 0x00000012 Code RO 731 .text.rcu_all_reset_flag_clear gd32c10x_rcu.o
|
||||
0x08004562 0x00000002 PAD
|
||||
0x08004564 0x0000010c Code RO 759 .text.rcu_clock_freq_get gd32c10x_rcu.o
|
||||
0x08004670 0x00000010 Code RO 757 .text.rcu_deepsleep_voltage_set gd32c10x_rcu.o
|
||||
0x08004680 0x00000020 Code RO 679 .text.rcu_periph_clock_disable gd32c10x_rcu.o
|
||||
0x080046a0 0x0000001e Code RO 677 .text.rcu_periph_clock_enable gd32c10x_rcu.o
|
||||
0x080046be 0x00000002 PAD
|
||||
0x080046c0 0x00000020 Code RO 687 .text.rcu_periph_reset_disable gd32c10x_rcu.o
|
||||
0x080046e0 0x0000001e Code RO 685 .text.rcu_periph_reset_enable gd32c10x_rcu.o
|
||||
0x080046fe 0x00000002 PAD
|
||||
0x08004700 0x00000014 Code RO 693 .text.rcu_system_clock_source_config gd32c10x_rcu.o
|
||||
0x08004714 0x00000002 Code RO 91 .text.scanAppFlashContent initial.o
|
||||
0x08004716 0x00000002 PAD
|
||||
0x08004718 0x00000020 Code RO 70 .text.system_soft_reset systick.o
|
||||
0x08004738 0x00000048 Code RO 62 .text.systick_config systick.o
|
||||
0x08004780 0x00000006 Code RO 1328 .text.unlikely.abort_message libcppabi_wx.l(abort_message.cpp.o)
|
||||
0x08004786 0x00000002 PAD
|
||||
0x08004788 0x0000006a Code RO 775 .text.usart_baudrate_set gd32c10x_usart.o
|
||||
0x080047f2 0x00000002 PAD
|
||||
0x080047f4 0x00000008 Code RO 801 .text.usart_data_transmit gd32c10x_usart.o
|
||||
0x080047fc 0x0000007a Code RO 773 .text.usart_deinit gd32c10x_usart.o
|
||||
0x08004876 0x00000002 PAD
|
||||
0x08004878 0x0000000a Code RO 783 .text.usart_enable gd32c10x_usart.o
|
||||
0x08004882 0x00000002 PAD
|
||||
0x08004884 0x00000010 Code RO 863 .text.usart_flag_get gd32c10x_usart.o
|
||||
0x08004894 0x00000014 Code RO 789 .text.usart_receive_config gd32c10x_usart.o
|
||||
0x080048a8 0x00000014 Code RO 787 .text.usart_transmit_config gd32c10x_usart.o
|
||||
0x080048bc 0x0000000e Code RO 1920 i.__scatterload_copy mc_w.l(handlers.o)
|
||||
0x080048ca 0x00000002 Code RO 1921 i.__scatterload_null mc_w.l(handlers.o)
|
||||
0x080048cc 0x0000000e Code RO 1922 i.__scatterload_zeroinit mc_w.l(handlers.o)
|
||||
0x080048da 0x00000002 PAD
|
||||
0x080048dc 0x00000024 Code RO 1054 i.puts mc_w.l(puts.o)
|
||||
0x08004900 0x00000100 Data RO 50 .rodata._ZL4sbox aes128.o
|
||||
0x08004a00 0x00000010 Data RO 143 .rodata._ZL8K_master OTA.o
|
||||
0x08004a10 0x00000400 Data RO 145 .rodata._ZZ24calculate_crc32_with_keyPKhS0_PhE9crc_table OTA.o
|
||||
0x08004e10 0x00000008 Data RO 761 .rodata.cst8 gd32c10x_rcu.o
|
||||
0x08004e18 0x00000007 Data RO 290 .rodata.g_can_fdlength_table gd32c10x_can.o
|
||||
0x08004e1f 0x00000100 Data RO 49 .rodata.inv_sbox aes128.o
|
||||
0x08004f1f 0x00000001 PAD
|
||||
0x08004f20 0x00000020 Data RO 1919 Region$$Table anon$$obj.o
|
||||
0x08000000 0x00000150 Data RO 892 RESET startup_gd32c10x.o
|
||||
0x08000150 0x00000000 Code RO 1056 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
|
||||
0x08000150 0x00000004 Code RO 1481 .ARM.Collect$$$$00000003 mc_w.l(entry4.o)
|
||||
0x08000154 0x00000004 Code RO 1484 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
|
||||
0x08000158 0x00000000 Code RO 1486 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
|
||||
0x08000158 0x00000000 Code RO 1488 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
|
||||
0x08000158 0x00000008 Code RO 1489 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
|
||||
0x08000160 0x00000000 Code RO 1491 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
|
||||
0x08000160 0x00000000 Code RO 1493 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
|
||||
0x08000160 0x00000004 Code RO 1482 .ARM.Collect$$$$00002714 mc_w.l(entry4.o)
|
||||
0x08000164 0x0000002c Code RO 893 * .text startup_gd32c10x.o
|
||||
0x08000190 0x00000024 Code RO 1063 .text mc_w.l(memcpya.o)
|
||||
0x080001b4 0x00000024 Code RO 1065 .text mc_w.l(memseta.o)
|
||||
0x080001d8 0x0000001a Code RO 1067 .text mc_w.l(memcmp.o)
|
||||
0x080001f2 0x00000002 Code RO 1509 .text mc_w.l(abort.o)
|
||||
0x080001f4 0x00000030 Code RO 1836 .text mc_w.l(init.o)
|
||||
0x08000224 0x0000008a Code RO 175 .text.CAN0_RX0_IRQHandler Can.o
|
||||
0x080002ae 0x00000002 PAD
|
||||
0x080002b0 0x0000004a Code RO 177 .text.DMA0_Channel4_IRQHandler Can.o
|
||||
0x080002fa 0x00000002 PAD
|
||||
0x080002fc 0x00000026 Code RO 179 .text.DMA0_Channel5_IRQHandler Can.o
|
||||
0x08000322 0x00000002 PAD
|
||||
0x08000324 0x0000016a Code RO 97 .text.EXTI5_9_IRQHandler initial.o
|
||||
0x0800048e 0x00000002 PAD
|
||||
0x08000490 0x00000342 Code RO 899 .text.SystemInit system_gd32c10x.o
|
||||
0x080007d2 0x00000002 PAD
|
||||
0x080007d4 0x00000012 Code RO 84 .text.USART0_init initial.o
|
||||
0x080007e6 0x00000002 PAD
|
||||
0x080007e8 0x00000198 Code RO 29 .text._Z11mix_columnsPh aes128.o
|
||||
0x08000980 0x000000ba Code RO 139 .text._Z13move_app_datav OTA.o
|
||||
0x08000a3a 0x00000002 PAD
|
||||
0x08000a3c 0x00000238 Code RO 37 .text._Z14aes128_set_keyP14aes128_contextPKh aes128.o
|
||||
0x08000c74 0x000008e2 Code RO 35 .text._Z15inv_mix_columnsPh aes128.o
|
||||
0x08001556 0x00000002 PAD
|
||||
0x08001558 0x000003c8 Code RO 43 .text._Z20aes128_decrypt_blockP14aes128_contextPKhPh aes128.o
|
||||
0x08001920 0x000003e6 Code RO 39 .text._Z20aes128_encrypt_blockP14aes128_contextPKhPh aes128.o
|
||||
0x08001d06 0x00000002 PAD
|
||||
0x08001d08 0x00000210 Code RO 133 .text._Z24calculate_crc32_with_keyPKhS0_Ph OTA.o
|
||||
0x08001f18 0x0000002c Code RO 45 .text._Z26aes128_ecb_decrypt_48bytesP14aes128_contextPKhPh aes128.o
|
||||
0x08001f44 0x00000148 Code RO 115 .text._Z7OTA_SETjj OTA.o
|
||||
0x0800208c 0x0000045e Code RO 131 .text._ZN10OTAHandler16handleOTAMessageEjPhh OTA.o
|
||||
0x080024ea 0x00000002 PAD
|
||||
0x080024ec 0x000000ae Code RO 125 .text._ZN10OTAHandler17jumpToApplicationEv OTA.o
|
||||
0x0800259a 0x00000002 PAD
|
||||
0x0800259c 0x0000008a Code RO 121 .text._ZN10OTAHandler20eraseApplicationAreaEv OTA.o
|
||||
0x08002626 0x00000002 PAD
|
||||
0x08002628 0x00000080 Code RO 129 .text._ZN10OTAHandler20writeApplicationDataEjPhj OTA.o
|
||||
0x080026a8 0x000000b4 Code RO 119 .text._ZN10OTAHandler7processEv OTA.o
|
||||
0x0800275c 0x00000028 Code RO 922 .text._ZN10__cxxabiv121__isOurExceptionClassEPK21_Unwind_Control_Block libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002784 0x00000060 Code RO 950 .text._ZN10__cxxabiv1L22__cxa_end_cleanup_implEv libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x080027e4 0x000000ac Code RO 171 .text._ZN14CAN_transmiter10sendBackupEv Can.o
|
||||
0x08002890 0x00000040 Code RO 167 .text._ZN14CAN_transmiter12sendDATA_ACKEjPh Can.o
|
||||
0x080028d0 0x00000288 Code RO 169 .text._ZN14CAN_transmiter15CANFD_AsyncSendEjhPh Can.o
|
||||
0x08002b58 0x00000042 Code RO 165 .text._ZN14CAN_transmiter19communication_checkEv Can.o
|
||||
0x08002b9a 0x00000002 PAD
|
||||
0x08002b9c 0x00000040 Code RO 163 .text._ZN14CAN_transmiter4initEv Can.o
|
||||
0x08002bdc 0x00000086 Code RO 6 .text._ZN16BootloaderSystem3runEv main.o
|
||||
0x08002c62 0x00000002 PAD
|
||||
0x08002c64 0x00000074 Code RO 993 .text._ZSt11__terminatePFvvE libcppabi_wx.l(cxa_handlers.cpp.o)
|
||||
0x08002cd8 0x00000030 Code RO 984 .text._ZSt9terminatev libcppabi_wx.l(cxa_handlers.cpp.o)
|
||||
0x08002d08 0x0000000a Code RO 979 .text.__clang_call_terminate libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002d12 0x00000002 PAD
|
||||
0x08002d14 0x0000006c Code RO 927 .text.__cxa_begin_catch libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002d80 0x0000000a Code RO 1348 .text.__cxa_get_globals libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x08002d8a 0x0000000a Code RO 1350 .text.__cxa_get_globals_fast libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x08002d94 0x00000026 Code RO 233 .text.can_deinit gd32c10x_can.o
|
||||
0x08002dba 0x00000002 PAD
|
||||
0x08002dbc 0x00000114 Code RO 239 .text.can_fd_init gd32c10x_can.o
|
||||
0x08002ed0 0x000000b2 Code RO 241 .text.can_filter_init gd32c10x_can.o
|
||||
0x08002f82 0x00000002 PAD
|
||||
0x08002f84 0x00000176 Code RO 237 .text.can_init gd32c10x_can.o
|
||||
0x080030fa 0x00000002 PAD
|
||||
0x080030fc 0x00000008 Code RO 283 .text.can_interrupt_enable gd32c10x_can.o
|
||||
0x08003104 0x00000016 Code RO 293 .text.can_interrupt_flag_clear gd32c10x_can.o
|
||||
0x0800311a 0x00000002 PAD
|
||||
0x0800311c 0x00000066 Code RO 291 .text.can_interrupt_flag_get gd32c10x_can.o
|
||||
0x08003182 0x00000002 PAD
|
||||
0x08003184 0x000001f4 Code RO 267 .text.can_message_receive gd32c10x_can.o
|
||||
0x08003378 0x000001f0 Code RO 261 .text.can_message_transmit gd32c10x_can.o
|
||||
0x08003568 0x00000072 Code RO 235 .text.can_struct_para_init gd32c10x_can.o
|
||||
0x080035da 0x00000002 PAD
|
||||
0x080035dc 0x000001b0 Code RO 161 .text.canfd_config Can.o
|
||||
0x0800378c 0x00000238 Code RO 99 .text.check_sleep initial.o
|
||||
0x080039c4 0x00000066 Code RO 319 .text.crc_block_data_calculate gd32c10x_crc.o
|
||||
0x08003a2a 0x00000002 PAD
|
||||
0x08003a2c 0x00000012 Code RO 309 .text.crc_data_register_reset gd32c10x_crc.o
|
||||
0x08003a3e 0x00000002 PAD
|
||||
0x08003a40 0x00000018 Code RO 307 .text.crc_deinit gd32c10x_crc.o
|
||||
0x08003a58 0x00000024 Code RO 66 .text.delay_1ms systick.o
|
||||
0x08003a7c 0x00000028 Code RO 64 .text.delay_1us systick.o
|
||||
0x08003aa4 0x00000018 Code RO 68 .text.delay_decrement systick.o
|
||||
0x08003abc 0x00000024 Code RO 371 .text.dma_channel_enable gd32c10x_dma.o
|
||||
0x08003ae0 0x00000074 Code RO 361 .text.dma_init gd32c10x_dma.o
|
||||
0x08003b54 0x00000022 Code RO 407 .text.dma_interrupt_enable gd32c10x_dma.o
|
||||
0x08003b76 0x00000002 PAD
|
||||
0x08003b78 0x0000000e Code RO 405 .text.dma_interrupt_flag_clear gd32c10x_dma.o
|
||||
0x08003b86 0x00000002 PAD
|
||||
0x08003b88 0x0000003a Code RO 403 .text.dma_interrupt_flag_get gd32c10x_dma.o
|
||||
0x08003bc2 0x00000002 PAD
|
||||
0x08003bc4 0x0000001a Code RO 359 .text.dma_struct_para_init gd32c10x_dma.o
|
||||
0x08003bde 0x00000002 PAD
|
||||
0x08003be0 0x00000096 Code RO 93 .text.enter_deep_sleep initial.o
|
||||
0x08003c76 0x00000002 PAD
|
||||
0x08003c78 0x00000090 Code RO 424 .text.exti_init gd32c10x_exti.o
|
||||
0x08003d08 0x00000012 Code RO 428 .text.exti_interrupt_disable gd32c10x_exti.o
|
||||
0x08003d1a 0x00000002 PAD
|
||||
0x08003d1c 0x00000010 Code RO 426 .text.exti_interrupt_enable gd32c10x_exti.o
|
||||
0x08003d2c 0x0000000c Code RO 444 .text.exti_interrupt_flag_clear gd32c10x_exti.o
|
||||
0x08003d38 0x00000012 Code RO 442 .text.exti_interrupt_flag_get gd32c10x_exti.o
|
||||
0x08003d4a 0x00000002 PAD
|
||||
0x08003d4c 0x0000000c Code RO 515 .text.fmc_flag_clear gd32c10x_fmc.o
|
||||
0x08003d58 0x00000012 Code RO 477 .text.fmc_lock gd32c10x_fmc.o
|
||||
0x08003d6a 0x00000002 PAD
|
||||
0x08003d6c 0x00000166 Code RO 481 .text.fmc_page_erase gd32c10x_fmc.o
|
||||
0x08003ed2 0x00000002 PAD
|
||||
0x08003ed4 0x00000026 Code RO 475 .text.fmc_unlock gd32c10x_fmc.o
|
||||
0x08003efa 0x00000002 PAD
|
||||
0x08003efc 0x000001aa Code RO 487 .text.fmc_word_program gd32c10x_fmc.o
|
||||
0x080040a6 0x00000002 PAD
|
||||
0x080040a8 0x0000002c Code RO 86 .text.fputc initial.o
|
||||
0x080040d4 0x00000098 Code RO 216 .text.gd_eval_com_init gd32c10x_eval.o
|
||||
0x0800416c 0x00000004 Code RO 571 .text.gpio_bit_reset gd32c10x_gpio.o
|
||||
0x08004170 0x00000048 Code RO 587 .text.gpio_exti_source_select gd32c10x_gpio.o
|
||||
0x080041b8 0x000002c0 Code RO 567 .text.gpio_init gd32c10x_gpio.o
|
||||
0x08004478 0x00000080 Code RO 585 .text.gpio_pin_remap_config gd32c10x_gpio.o
|
||||
0x080044f8 0x00000022 Code RO 8 .text.main main.o
|
||||
0x0800451a 0x00000002 PAD
|
||||
0x0800451c 0x00000060 Code RO 614 .text.nvic_irq_enable gd32c10x_misc.o
|
||||
0x0800457c 0x0000001c Code RO 618 .text.nvic_vector_table_set gd32c10x_misc.o
|
||||
0x08004598 0x000000c6 Code RO 647 .text.pmu_to_deepsleepmode gd32c10x_pmu.o
|
||||
0x0800465e 0x00000002 PAD
|
||||
0x08004660 0x00000012 Code RO 736 .text.rcu_all_reset_flag_clear gd32c10x_rcu.o
|
||||
0x08004672 0x00000002 PAD
|
||||
0x08004674 0x0000010c Code RO 764 .text.rcu_clock_freq_get gd32c10x_rcu.o
|
||||
0x08004780 0x00000010 Code RO 762 .text.rcu_deepsleep_voltage_set gd32c10x_rcu.o
|
||||
0x08004790 0x00000020 Code RO 684 .text.rcu_periph_clock_disable gd32c10x_rcu.o
|
||||
0x080047b0 0x0000001e Code RO 682 .text.rcu_periph_clock_enable gd32c10x_rcu.o
|
||||
0x080047ce 0x00000002 PAD
|
||||
0x080047d0 0x00000020 Code RO 692 .text.rcu_periph_reset_disable gd32c10x_rcu.o
|
||||
0x080047f0 0x0000001e Code RO 690 .text.rcu_periph_reset_enable gd32c10x_rcu.o
|
||||
0x0800480e 0x00000002 PAD
|
||||
0x08004810 0x00000014 Code RO 698 .text.rcu_system_clock_source_config gd32c10x_rcu.o
|
||||
0x08004824 0x00000002 Code RO 91 .text.scanAppFlashContent initial.o
|
||||
0x08004826 0x00000002 PAD
|
||||
0x08004828 0x00000020 Code RO 70 .text.system_soft_reset systick.o
|
||||
0x08004848 0x00000048 Code RO 62 .text.systick_config systick.o
|
||||
0x08004890 0x00000006 Code RO 1333 .text.unlikely.abort_message libcppabi_wx.l(abort_message.cpp.o)
|
||||
0x08004896 0x00000002 PAD
|
||||
0x08004898 0x0000006a Code RO 780 .text.usart_baudrate_set gd32c10x_usart.o
|
||||
0x08004902 0x00000002 PAD
|
||||
0x08004904 0x00000008 Code RO 806 .text.usart_data_transmit gd32c10x_usart.o
|
||||
0x0800490c 0x0000007a Code RO 778 .text.usart_deinit gd32c10x_usart.o
|
||||
0x08004986 0x00000002 PAD
|
||||
0x08004988 0x0000000a Code RO 788 .text.usart_enable gd32c10x_usart.o
|
||||
0x08004992 0x00000002 PAD
|
||||
0x08004994 0x00000010 Code RO 868 .text.usart_flag_get gd32c10x_usart.o
|
||||
0x080049a4 0x00000014 Code RO 794 .text.usart_receive_config gd32c10x_usart.o
|
||||
0x080049b8 0x00000014 Code RO 792 .text.usart_transmit_config gd32c10x_usart.o
|
||||
0x080049cc 0x0000000e Code RO 1925 i.__scatterload_copy mc_w.l(handlers.o)
|
||||
0x080049da 0x00000002 Code RO 1926 i.__scatterload_null mc_w.l(handlers.o)
|
||||
0x080049dc 0x0000000e Code RO 1927 i.__scatterload_zeroinit mc_w.l(handlers.o)
|
||||
0x080049ea 0x00000002 PAD
|
||||
0x080049ec 0x00000024 Code RO 1059 i.puts mc_w.l(puts.o)
|
||||
0x08004a10 0x00000100 Data RO 50 .rodata._ZL4sbox aes128.o
|
||||
0x08004b10 0x00000010 Data RO 143 .rodata._ZL8K_master OTA.o
|
||||
0x08004b20 0x00000400 Data RO 145 .rodata._ZZ24calculate_crc32_with_keyPKhS0_PhE9crc_table OTA.o
|
||||
0x08004f20 0x00000008 Data RO 766 .rodata.cst8 gd32c10x_rcu.o
|
||||
0x08004f28 0x00000007 Data RO 295 .rodata.g_can_fdlength_table gd32c10x_can.o
|
||||
0x08004f2f 0x00000100 Data RO 49 .rodata.inv_sbox aes128.o
|
||||
0x0800502f 0x00000001 PAD
|
||||
0x08005030 0x00000020 Data RO 1924 Region$$Table anon$$obj.o
|
||||
|
||||
|
||||
Execution Region RW_NOINIT (Base: 0x20000000, Size: 0x00000000, Max: 0x00007200, ABSOLUTE, UNINIT)
|
||||
@@ -192,36 +190,40 @@ Memory Map of the image
|
||||
**** No section assigned to this execution region ****
|
||||
|
||||
|
||||
Execution Region RW_RAM0 (Base: 0x20000000, Size: 0x00000a78, Max: 0x00007200, ABSOLUTE)
|
||||
Execution Region RW_RAM0 (Base: 0x20000000, Size: 0x00000d70, Max: 0x00007200, ABSOLUTE)
|
||||
|
||||
Base Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x20000000 0x00000004 Data RW 1490 .data mc_w.l(stdout.o)
|
||||
0x20000000 0x00000004 Data RW 1495 .data mc_w.l(stdout.o)
|
||||
0x20000004 0x000000e8 Data RW 183 .data.CAN0_transmiter Can.o
|
||||
0x200000ec 0x00000004 Data RW 900 .data.SystemCoreClock system_gd32c10x.o
|
||||
0x200000f0 0x00000004 Data RW 1338 .data.__cxa_terminate_handler libcppabi_wx.l(cxa_default_handlers.cpp.o)
|
||||
0x200000ec 0x00000004 Data RW 905 .data.SystemCoreClock system_gd32c10x.o
|
||||
0x200000f0 0x00000004 Data RW 1343 .data.__cxa_terminate_handler libcppabi_wx.l(cxa_default_handlers.cpp.o)
|
||||
0x200000f4 0x00000004 PAD
|
||||
0x200000f8 0x00000004 Zero RW 72 .bss._ZL5delay systick.o
|
||||
0x200000fc 0x0000000c Zero RW 1347 .bss._ZN10__cxxabiv1L10eh_globalsE libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x20000108 0x00000001 Zero RW 142 .bss._ZZN10OTAHandler7processEvE4zero OTA.o
|
||||
0x20000109 0x00000007 PAD
|
||||
0x20000110 0x00000008 Zero RW 186 .bss.can_rx_buffer Can.o
|
||||
0x20000118 0x00000008 Zero RW 187 .bss.can_tx_buffer Can.o
|
||||
0x20000120 0x0000001c Zero RW 184 .bss.dma_rx_parameter Can.o
|
||||
0x2000013c 0x0000001c Zero RW 185 .bss.dma_tx_parameter Can.o
|
||||
0x20000158 0x00000110 Zero RW 141 .bss.ota OTA.o
|
||||
0x20000268 0x00000004 Zero RW 658 .bss.pmu_to_deepsleepmode.reg_snap.0 gd32c10x_pmu.o
|
||||
0x2000026c 0x00000004 Zero RW 659 .bss.pmu_to_deepsleepmode.reg_snap.1 gd32c10x_pmu.o
|
||||
0x20000270 0x00000004 Zero RW 660 .bss.pmu_to_deepsleepmode.reg_snap.2 gd32c10x_pmu.o
|
||||
0x20000274 0x00000004 Zero RW 661 .bss.pmu_to_deepsleepmode.reg_snap.3 gd32c10x_pmu.o
|
||||
0x20000278 0x00000800 Zero RW 885 STACK startup_gd32c10x.o
|
||||
0x200000f8 0x00000001 Zero RW 191 .bss._ZL13tx_queue_tail Can.o
|
||||
0x200000f9 0x00000001 Zero RW 189 .bss._ZL14tx_queue_count Can.o
|
||||
0x200000fa 0x00000002 PAD
|
||||
0x200000fc 0x00000004 Zero RW 72 .bss._ZL5delay systick.o
|
||||
0x20000100 0x00000240 Zero RW 190 .bss._ZL8tx_queue Can.o
|
||||
0x20000340 0x0000000c Zero RW 1352 .bss._ZN10__cxxabiv1L10eh_globalsE libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x2000034c 0x00000001 Zero RW 142 .bss._ZZN10OTAHandler7processEvE4zero OTA.o
|
||||
0x2000034d 0x00000003 PAD
|
||||
0x20000350 0x00000040 Zero RW 186 .bss.can_rx_buffer Can.o
|
||||
0x20000390 0x00000040 Zero RW 187 .bss.can_tx_buffer Can.o
|
||||
0x200003d0 0x0000001c Zero RW 184 .bss.dma_rx_parameter Can.o
|
||||
0x200003ec 0x0000001c Zero RW 185 .bss.dma_tx_parameter Can.o
|
||||
0x20000408 0x00000158 Zero RW 141 .bss.ota OTA.o
|
||||
0x20000560 0x00000004 Zero RW 663 .bss.pmu_to_deepsleepmode.reg_snap.0 gd32c10x_pmu.o
|
||||
0x20000564 0x00000004 Zero RW 664 .bss.pmu_to_deepsleepmode.reg_snap.1 gd32c10x_pmu.o
|
||||
0x20000568 0x00000004 Zero RW 665 .bss.pmu_to_deepsleepmode.reg_snap.2 gd32c10x_pmu.o
|
||||
0x2000056c 0x00000004 Zero RW 666 .bss.pmu_to_deepsleepmode.reg_snap.3 gd32c10x_pmu.o
|
||||
0x20000570 0x00000800 Zero RW 890 STACK startup_gd32c10x.o
|
||||
|
||||
|
||||
Execution Region ARM_LIB_HEAP (Base: 0x20000a78, Size: 0x00000c00, Max: 0x00000c00, ABSOLUTE)
|
||||
Execution Region ARM_LIB_HEAP (Base: 0x20000d70, Size: 0x00000c00, Max: 0x00000c00, ABSOLUTE)
|
||||
|
||||
Base Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x20000a78 0x00000c00 Zero RW 1 ARM_LIB_HEAP.bss anon$$obj.o
|
||||
0x20000d70 0x00000c00 Zero RW 1 ARM_LIB_HEAP.bss anon$$obj.o
|
||||
|
||||
|
||||
Execution Region ARM_LIB_STACK (Base: 0x20007e00, Size: 0x00000200, Max: 0x00000200, ABSOLUTE)
|
||||
|
||||
Reference in New Issue
Block a user