OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11482|回复: 13

关于STM32的地址问题

[复制链接]

18

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2012-6-26
在线时间
0 小时
发表于 2012-6-28 15:54:53 | 显示全部楼层 |阅读模式

原子哥,你好!
请问一下第一个问题,在你的例程:外部中断实验,为什么没有对外部中断配置寄存器EXTICR进行配置呢?
第二个问题:我们是把程序烧写到FLASH的起始地址,也就是0X08000000这个地方,一上电就是从这个地址运行呢还是搬到0x00000000地址开始执行呢?
第三个问题:硬件的地址0X00000000---0X07FFFFFF这段地址空间是用来干吗的呢?
期待您的回答,谢谢

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-6-28 18:26:19 | 显示全部楼层
回复【楼主位】jianwenchang:
---------------------------------
1,有.
2,从0X08000000开始.
3,这个地址空间,压根就不存在.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2256
金钱
2256
注册时间
2010-12-16
在线时间
206 小时
发表于 2012-6-29 00:48:04 | 显示全部楼层
回复【楼主位】jianwenchang:
---------------------------------
1.不知道.
2.当B0连接GND时,0x08000000映射到0x00000000,内核取指是从0x0开始的,只不过这时0x0的数据和0x08000000一致.这可以用内存查看器查看0x0和0x08000000的内容.
3.0x0到0x7ffff根据BOOT引脚的复位值映射到FLASH,RAM或者SYSTEM MEMORY.
0x80000到0x7ffffff为保留空间.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复 支持 反对

使用道具 举报

18

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2012-6-26
在线时间
0 小时
 楼主| 发表于 2012-6-29 01:17:35 | 显示全部楼层
回复【3楼】shihantu:
---------------------------------
谢谢您的回答,对于您的回答的第3个问题,我还有两点不解
1,映射的方向问题,我认为是根据BOOT引脚的选择,把FLASH,RAM或者SYSTEM MEMORY的地址空间映射到了0x0到0x7ffffP空间,而不是把
0x0到0x7ffff映射到FLASH,RAM或者SYSTEM MEMORY
2,地址空间0x00000000--0x7fffffff数据手册上标的是CODE区,为什么是保留空间呢?
   把FLASH,RAM或者SYSTEM MEMORY映射到这个空间那这个空间也用起来了啊.不知道我这理解有错没
  望解答,谢谢
回复 支持 反对

使用道具 举报

18

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2012-6-26
在线时间
0 小时
 楼主| 发表于 2012-6-29 01:19:43 | 显示全部楼层
回复【2楼】正点原子:
-------------------------
谢谢原子兄,对于第3个问题,数据手册上的MAP图注明的是CODE,这个地址为什么不存在呢?
谢谢
回复 支持 反对

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2256
金钱
2256
注册时间
2010-12-16
在线时间
206 小时
发表于 2012-6-29 01:39:13 | 显示全部楼层
回复【4楼】jianwenchang:
---------------------------------
1.以RM为准.
2.我不知道你看的是那份手册.我的手册Code区是0x0到0x1fffffff.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复 支持 反对

使用道具 举报

18

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2012-6-26
在线时间
0 小时
 楼主| 发表于 2012-6-29 02:10:17 | 显示全部楼层
回复【6楼】shihantu:
---------------------------------
谢谢,我的手册上code区也是0x0到0x1fffffff,但为什么说它是保留空间呢,如果选择启动方式,把0x08000000映射到0x00000000
就不保留了吗?
另外,以RM为准指的是什么呢,映射的方向我真模糊了,还望解答,谢谢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-6-29 09:06:33 | 显示全部楼层
回复【7楼】 jianwenchang :
---------------------------------
你想想,从0~0X1FFFFFFF的空间如果存在,那么STM32的内存不是达到512M字节+标称的flash大小了???
有哪个MCU能有这么大的自带FLASH???
所以,铁定这个区间在STM32里面是没有真实存在的,只是有可能做了什么映射啥的,就不知道了,要看数据手册.
RM就是参考手册.






我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

18

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2012-6-26
在线时间
0 小时
 楼主| 发表于 2012-6-29 10:13:43 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
谢谢原子大侠的回答,现在还有以下两点不明白:
1,如数据手册上说:从主闪存存储器启动,主闪存存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(0x0800 0000)访问它。我对这句话不太理解:CPU一上电始终从地址(0x0000 0000)处取指令从(0x20000000)取数据运行用户程序,因为是映射关系,从0x00000000处开始就是等效从flash起始地址0x0800 0000处开始吗?或者说是把地址0x0800 0000的内容复制到0x0000 0000?
2,从内置SRAM启动,代码最初也是放FLASH的主存储区(0x08000000),只是运行后把这些地址映射到0x2000 0000处吗?也就是说SRAM可以类似于PC的内存?

这个问题困扰我很久了,请原子兄耐心解答一下,特别感谢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-6-29 12:43:14 | 显示全部楼层
1,是等效,肯定不是复制.这也没啥不好懂的啊?比如你的网名是:jianwenchang ,而你老爸给你取的名字又是另外一个.这样这两个名字,其实都是指一个人.
2,这个SRAM启动,一般是你事先通过特定的方法(比如JTAG下载到SRAM),拷贝到SRAM(比如0X2000 0000),然后STM32直接从SRAM启动.也有一种办法,通过0X08000000的程序,将内部代码/外部代码先拷贝到SRAM的特定区域,然后设置中断偏移等必要条件之后,通过重定向PC指针,强行执行SRAM里面的代码.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

18

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2012-6-26
在线时间
0 小时
 楼主| 发表于 2012-6-29 13:14:14 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
嗯,多谢原子大侠,这个问题算是明白了,特别鸣谢
回复 支持 反对

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2013-5-22 16:49:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2013-11-26
在线时间
0 小时
发表于 2013-12-20 11:28:30 | 显示全部楼层
我也鸣谢
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-9-24
在线时间
0 小时
发表于 2014-10-23 12:40:46 | 显示全部楼层
这个问题也困扰我很久了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-30 02:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表