[讨论] 关于STM32内存映射的问题讨论

liutogo   2015-7-25 11:03 楼主
最近看STM32F4的DataSheet,发现的一小疑惑,想通过坛友确认一下。 Image 3.png 关于STM32F401: Memories – Up to 256 Kbytes of Flash memory – Up to 64 Kbytes of SRAM 在STM32F401的0x0000 0000 -- 0x3FFF FFFF之间的一些理解,求指正。 (1)0x0000 0000 - 0x0003 FFFF 通过BOOT PIN选定 BOOT模式,将对应的存储空间映射到此段的地址上。(这一段的理解自己拿不准) (2)0x0004 0000 - 0x07FF FFFF Flash存储空间,大小正好和之前介绍的STM32F401的256K Flash对应上 (3)0x1FFF 0000 - 0x1FFF 7A0F System 存储空间,算是STM32厂家的固话代码,用于IAP Bootloader使用 (4)0x1FFF C000 - 0x1FFF C007 Options Bytes,控制器运行参数选项(这块不太熟,求扩展知识) (5)0x2000 0000 - 0x2000 FFFF 不用说了,就是STM32F401的64K SRAM空间了 以上说法是自己的理解,求更正扩充。 之前也瞅了一眼Freescale Kinetis 的Memory map,觉得不同半导体厂商的存数分配都各具特色,不过都逃不出ARM Cortex制定的框框。 BY THE WAY: 问一下在MDK 中定义了一个常量,如何查看这个常量在存储空间中的位置? const uint32_t BSP_ver = BSP_VERSION; 我尝试在调试的时候,将BSP_ver加入Watch1、Memory1监视窗,都看不到结果。 BSP_ver 该变量在程序中没有被引用,会不会是编译器优化,不过我的优化等级是Level - 0啊,应该不是吧。 本帖最后由 liutogo 于 2015-7-25 11:20 编辑

回复评论 (1)

虽然自己也没怎么去了解这些地址,不过按你的了解我想了下感觉差不多就这样了。
点赞  2015-7-25 11:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复