硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5491|回复: 7
收起左侧

[有问必答] map文件中,__initial_sp栈顶指针的位置的疑问

[复制链接]

3

主题

12

回帖

21

积分

新手上路

积分
21
发表于 2019-1-22 15:56:04 | 显示全部楼层 |阅读模式
由于我选的芯片是MM32f103CBT  片内ram是20K的,为什么   __initial_sp                             0x200040f8   
不是应该放在  0x20004ff8 在ram的最后面的吗?
sp.png
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2019-1-22 16:05:12 | 显示全部楼层
由于堆栈是乡下增长,为什么栈顶不是在ram的最末尾呢?
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2019-1-22 16:06:09 | 显示全部楼层
请大家指教一下,知道的说说,不知道的也来顶一下
回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2019-1-22 16:42:53 | 显示全部楼层
这里的sp位置是根据你的代码和stack设定的大小,计算出来的。。。所以,没有固定在地址的末端。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2019-1-22 16:43:53 | 显示全部楼层
不是从RAM末尾设置的栈,而是配置多大,用多少。

这个并不影响你栈向下生长
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2019-1-22 17:03:14 | 显示全部楼层
还是不太清楚,为什么不放在最末尾
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2019-1-22 17:12:55 | 显示全部楼层
bian 发表于 2019-1-22 17:03
还是不太清楚,为什么不放在最末尾

这个只是MDK的一种默认做法而已,没有为什么。
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2019-1-22 17:24:08 | 显示全部楼层
好,先不管它了
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 07:26 , Processed in 0.199863 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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