wwwheihei 发表于 2018-8-27 10:50:35

关于stm32烧录文件和map文件的问题

1.为什么这些中断地址为同一个地址?0x0800211b
   ADC1_2_IRQHandler                        0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    CAN1_RX1_IRQHandler                      0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    CAN1_SCE_IRQHandler                      0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    DMA1_Channel1_IRQHandler               0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    DMA1_Channel2_IRQHandler               0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    DMA1_Channel3_IRQHandler               0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    DMA1_Channel4_IRQHandler               0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    DMA1_Channel5_IRQHandler               0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    DMA1_Channel6_IRQHandler               0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    DMA1_Channel7_IRQHandler               0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    EXTI0_IRQHandler                         0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    EXTI15_10_IRQHandler                     0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    EXTI1_IRQHandler                         0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    EXTI2_IRQHandler                         0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    EXTI3_IRQHandler                         0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    EXTI4_IRQHandler                         0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    EXTI9_5_IRQHandler                     0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    FLASH_IRQHandler                         0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    I2C1_ER_IRQHandler                     0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    I2C1_EV_IRQHandler                     0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    I2C2_ER_IRQHandler                     0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    I2C2_EV_IRQHandler                     0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    PVD_IRQHandler                           0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    RCC_IRQHandler                           0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    RTCAlarm_IRQHandler                      0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    RTC_IRQHandler                           0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    SPI1_IRQHandler                        0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    SPI2_IRQHandler                        0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    TAMPER_IRQHandler                        0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    TIM1_BRK_IRQHandler                      0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    TIM1_CC_IRQHandler                     0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    TIM1_TRG_COM_IRQHandler                  0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    TIM1_UP_IRQHandler                     0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    TIM3_IRQHandler                        0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    TIM4_IRQHandler                        0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    USBWakeUp_IRQHandler                     0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    USB_HP_CAN1_TX_IRQHandler                0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    USB_LP_CAN1_RX0_IRQHandler               0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)
    WWDG_IRQHandler                        0x0800211b   Thumb Code   0startup_stm32f10x_md.o(.text)

2。 __main 地址为0x080020ed,应该是在图片中D00CF8DF 中的0c处?为什么不是字节对其的地方?0x080020ec   的d0又是什么?
__Vectors                                     0x08002000   Data         4startup_stm32f10x_md.o(RESET)
    __Vectors_End                            0x080020ec   Data         0startup_stm32f10x_md.o(RESET)
    __main                                 0x080020ed   Thumb Code   0

wenyangzeng 发表于 2018-8-27 13:30:35

除非使用汇编低级语言,否则C编译器自动设置所有地址,这些无需用户关心的。

tyhjrwx2011 发表于 2018-8-27 13:44:18

1.默认没使用的中断,都用了一个空函数,所以地址相同
2.
1)0x080020ed,在Thumb2模式下
2)0x080020ec才是真正的入口地址

具体可以查看文档《Cortex-M3权威指南》

wwwheihei 发表于 2018-8-27 15:56:16

本帖最后由 wwwheihei 于 2018-8-27 16:17 编辑

tyhjrwx2011 发表于 2018-8-27 13:44
1.默认没使用的中断,都用了一个空函数,所以地址相同
2.
1)0x080020ed,在Thumb2模式下

这个在权威指南里有?大概说一下第几页?

robin_zhu 发表于 2018-8-27 17:15:31


谢谢分享。。。

wwwheihei 发表于 2018-8-27 17:26:38

robin_zhu 发表于 2018-8-27 17:15
谢谢分享。。。

这并不是分享谢谢

feixiang20 发表于 2018-8-28 00:25:12

编码自动设置,你可以尝试修改几个参数看看效果

wwwheihei 发表于 2018-8-28 08:01:33

feixiang20 发表于 2018-8-28 00:25
编码自动设置,你可以尝试修改几个参数看看效果

好我多观察一下
页: [1]
查看完整版本: 关于stm32烧录文件和map文件的问题