wwwheihei 发表于 2018-8-15 10:02:55

stm32f030 iap中配置ram起始地址为ox200000c0是怎么算出来的?

本帖最后由 wwwheihei 于 2018-8-15 13:51 编辑

https://www.stmcu.org.cn/module/forum/data/attachment/forum/201605/17/111445e0uv6632b3zmlcp6.pngstm32f030    iap中配置ram起始地址为ox200000c0是怎么算出来的?0x20000000~ox200000c0肯定是放的中断向量表,但是怎么算出来的我不知道,为什么一定是c0?

chaplin1999-262 发表于 2018-8-15 14:20:56

f0的中断向量是48个 ,每个向量是32位的(4BYTE)。48*4 = 192 = 0xC0

す疯Ⅱ恒す 发表于 2018-8-15 11:19:59

自己定的。其实可以完全设置为0x20000000都可以啊。

发表于 2018-8-15 11:37:00

这个要看设计方案了,可能预留一些空间作为其他使用。也可能是故意的。
Copy the vector table from the Flash (mapped at the base of the application loadaddress) to the base address of the SRAM at 0x2000 0000.

bargagebaobei 发表于 2018-8-15 11:58:21

默认设置 自己也可以更改

wwwheihei 发表于 2018-8-15 13:50:14

す疯Ⅱ恒す 发表于 2018-8-15 11:19
自己定的。其实可以完全设置为0x20000000都可以啊。

他前面放的中断向量表

wwwheihei 发表于 2018-8-15 13:52:02

安 发表于 2018-8-15 11:37
这个要看设计方案了,可能预留一些空间作为其他使用。也可能是故意的。
Copy the vector table from the Fl ...

0x20000000~ox200000c0肯定是放的中断向量表,但是怎么算出来的我不知道,为什么一定是c0?

发表于 2018-8-15 14:02:12

看工程配置的是FLASH的向量还是RAM的向量。如果故意留给中断向量的,也是符合设计的。这个还是根据实际使用来用的。

wwwheihei 发表于 2018-8-15 15:02:05

chaplin1999-262 发表于 2018-8-15 14:20
f0的中断向量是48个 ,每个向量是32位的(4BYTE)。48*4 = 192 = 0xC0

但是我在map里面查看却不是c0
__Vectors_Size                           0x000000b4   Number         0startup_stm32f030.o ABSOLUTE
    __Vectors                              0x08002000   Data         4startup_stm32f030.o(RESET)
    __Vectors_End                            0x080020b4   Data         0startup_stm32f030.o(RESET)

feixiang20 发表于 2018-8-15 23:21:30

这个主要看你的官方资料的限定,不用那么纠结
页: [1]
查看完整版本: stm32f030 iap中配置ram起始地址为ox200000c0是怎么算出来的?