OpenEdv-开源电子网

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

关于寄存器在单片机中的位置

[复制链接]

30

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2013-11-14
在线时间
7 小时
发表于 2014-10-13 17:29:19 | 显示全部楼层 |阅读模式
5金钱
比如GPIOB->CRL,这个寄存器的地址是在SRAM中还是在Flash中呢?

最佳答案

查看完整内容[请看2#楼]

都不是,而是属于内部地址。
学海无涯,回不了头!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-10-13 17:29:20 | 显示全部楼层
都不是,而是属于内部地址。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2014-10-13 18:40:13 | 显示全部楼层
stm32参考手册     28 ---存储器映射,你的概念可能有些混淆了
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

30

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2013-11-14
在线时间
7 小时
 楼主| 发表于 2014-10-14 08:56:23 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
那是不是  SRAM FLASH 内核的寄存器  这三个都有不同的地址范围? 比如我设置了一个变量  想存在flash中,只需要指定这个变量的地址到flash的地址范围中的任何一个就可以了呢?
还有个问题就是,在OTG_FS非周期性TX FIFO长度寄存器(OTG_FS_GNPTXFSIZ) 这个寄存器中,非周期性接收FIFO在RAM里的起始地址,这里的RAM是指SRAM吗?我所知道的是RAM是作为数据暂时的存放地点,比如计算是的中间结果的数据就是存放在这里面的,那么我指定了这个非周期性接收FIFO的地址,那么cpu在执行计算的时候,不会占用我已经指定了的位置的数据么?
学海无涯,回不了头!!
回复

使用道具 举报

30

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2013-11-14
在线时间
7 小时
 楼主| 发表于 2014-10-14 09:01:54 | 显示全部楼层
回复【2楼】龙之谷:
---------------------------------
我不太理解。。那个寄存器的地址  SRAM的地址 和flash的地址,这三个地址是各自有各自的地址范围的么?都是相互之间不重复?
还有个问题就是,在OTG_FS非周期性TX FIFO长度寄存器(OTG_FS_GNPTXFSIZ) 这个寄存器中,非周期性接收FIFO在RAM里的起始地址,这里的RAM是指SRAM吗?我所知道的是RAM是作为数据暂时的存放地点,比如计算是的中间结果的数据就是存放在这里面的,那么我指定了这个非周期性接收FIFO的地址,那么cpu在执行计算的时候,不会占用我已经指定了的位置的数据么
学海无涯,回不了头!!
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2014-10-14 12:19:29 | 显示全部楼层
回复【5楼】电子小手:
---------------------------------
SRAM的地址 和flash的地址,这三个地址是各自有各自的地址范围的,相互之间不交叉,比如并列的交通工具自行车、三轮车、公交车会共用一个元器件吗?
第二行的问题理解不是很清楚,你问题的回答可能是:SRAM是作为数据暂时的存放地点,这个是你的变量存放的地方,计算机计算时的中间结果在寄存器中,不会占用此空间,寄存器A、B就是暂存寄存器,这个在汇编基础里有,可以看一下。由于问题没有太理解,回答仅供参考,原子哥或其他高手的答案更具可信。
不要着急问题,缕清思路,选好表达方式,用最直白清晰的语言提问。
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-10-14 23:15:23 | 显示全部楼层
回复【4楼】电子小手:
---------------------------------
是不同地址。
flash里面只能定义常量,不能定义变量。
RAM肯定就是SRAM了。
这些地址都是编译器分配的,不会让你重复。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-30 19:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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