OpenEdv-开源电子网

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

MDK 启动文件的链接

[复制链接]

40

主题

144

帖子

0

精华

高级会员

Rank: 4

积分
513
金钱
513
注册时间
2013-7-26
在线时间
72 小时
发表于 2017-8-26 15:39:45 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 16777216 于 2017-8-26 15:42 编辑

在看STM32的启动文件,突然有两个问题

1.堆栈的初始地址是怎么分配下来的,启动文件有
[mw_shl_code=c,true]Stack_Size      EQU     0x00000400

                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp
                                                  
; <h> Heap Configuration
;   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>

Heap_Size       EQU     0x00000200

                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem        SPACE   Heap_Size
__heap_limit[/mw_shl_code]

1.1但是起始地址应该是在链接的环节分配的吧?这个在哪里看的? 1.2 Stack_Mem       SPACE   Stack_Size       这里的标号  Stack_Mem       表示的是什么

2.启动文件的汇编没有入口  ENTRY啊? 哪里是入口?


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

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-8-26 18:29:31 | 显示全部楼层
Stack_Mem就是堆!通过SPACE来预留一段内存给堆,预留的大小为Stack_Size!入口不需要一定得ENTRY来指定!从上往下,依次执行指令。
回复

使用道具 举报

40

主题

144

帖子

0

精华

高级会员

Rank: 4

积分
513
金钱
513
注册时间
2013-7-26
在线时间
72 小时
 楼主| 发表于 2017-8-26 20:35:14 | 显示全部楼层
zuozhongkai 发表于 2017-8-26 18:29
Stack_Mem就是堆!通过SPACE来预留一段内存给堆,预留的大小为Stack_Size!入口不需要一定得ENTRY来指定! ...

Stack_Mem 应该是个标号吧,然后他表示首地址是吧。
问题1.1 这个链接相关的怎么查询呢?
回复

使用道具 举报

40

主题

144

帖子

0

精华

高级会员

Rank: 4

积分
513
金钱
513
注册时间
2013-7-26
在线时间
72 小时
 楼主| 发表于 2017-8-26 20:39:51 | 显示全部楼层
zuozhongkai 发表于 2017-8-26 18:29
Stack_Mem就是堆!通过SPACE来预留一段内存给堆,预留的大小为Stack_Size!入口不需要一定得ENTRY来指定! ...

那这样的话  
__heap_base 和 Heap_Mem  不是重复了么,表示的东西是一样的?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-15 17:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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