找回密码
 注册
关于网站域名变更的通知
查看: 242|回复: 2
打印 上一主题 下一主题

请问启动代码中这句是什么意思

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-12-7 10:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
请问启动代码中这句是什么意思 __user_initial_stackheap 0 S* v4 C$ o4 ]' D$ c6 i& L
LDR r0,=bottom_of_heap % N) ^9 f( o* b  e
MOV pc,lr
. {9 ?1 w+ G3 z! b: F. t1 D;/* 分配堆空间 */ ( M+ ~/ }! b' ?# ~' q- A
AREA Myheap, DATA, NOINIT, ALIGN=2 bottom_of_heap SPACE 256 ;库函数的堆空间 # n# ]2 p7 q( p/ g$ i- A4 C
0 O; Q8 A$ y# M; f2 S8 f4 P, {6 p
问题是: ' F1 Q/ B8 w$ Z0 E, ]
1.这个函数在哪里被调用 5 c8 o9 b( {! q- K4 V& K
2.赋值给 r0 以后就完事了 r0 起什么作用 - u3 ]2 H- z% t$ _, o3 _5 A

4 b" X# K1 ~0 c. x' _( Y8 e: x# B. X

该用户从未签到

2#
发表于 2022-12-7 11:27 | 只看该作者
堆和栈的分配函数,由 ADS 提供的初始化代码调用,具体参考配套的《ARM 微控制器基础与实战》相关部分。

该用户从未签到

3#
发表于 2022-12-7 13:38 | 只看该作者
内存分配方式有三种:
3 ^& W% B0 P* n' \4 x1 从静态存储区域分配。
: C% W% L, k$ h% F2 m内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。 例如全局变量,static变量。
1 Z( t+ r- W- x' L1 C  @2 在栈上创建。
& d* w# M  J* N1 d% t3 C9 U在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。. M" O, l0 R" D1 S3 N4 i: p( {4 s
栈内存 分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。  ^# W" M/ y+ \7 Q
3 从堆上分配,亦称动态内存分配。9 w2 Q0 R4 J& ^- c, i! Z# b0 [& G
程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-9-11 02:51 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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