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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
请问启动代码中这句是什么意思 __user_initial_stackheap
" `) X" V# t- O3 R; ELDR r0,=bottom_of_heap
. y. C* k3 P9 O( k& ~1 {MOV pc,lr
# y, C! J1 E6 z+ A, w" f;/* 分配堆空间 */
7 K4 t' P  x7 o% n$ l+ C1 ^AREA Myheap, DATA, NOINIT, ALIGN=2 bottom_of_heap SPACE 256 ;库函数的堆空间
% e8 l, M3 d2 n# `" d
8 |! D6 q5 b; r) ~3 A3 D问题是: ' T5 J0 k3 q& C6 i8 [
1.这个函数在哪里被调用 & C5 M. ~& s# g$ d% n
2.赋值给 r0 以后就完事了 r0 起什么作用
( n7 M5 T( ~" J  A& }# \* l0 V
& _8 c  ^. a- `6 p3 Z

该用户从未签到

3#
发表于 2022-12-7 13:38 | 只看该作者
内存分配方式有三种:
: ]* Q2 {/ y' o1 z8 p1 从静态存储区域分配。6 ~+ O* m' \+ S' O$ k6 B# D3 r  T
内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。 例如全局变量,static变量。
& h% Q9 S1 U0 ]# Y9 u1 V2 v/ g2 在栈上创建。2 _) S# z  H) _8 c
在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。
8 P! G2 O) g) P' R, o: s3 |栈内存 分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。% g. B* T) o. r& k" @9 j; L! a
3 从堆上分配,亦称动态内存分配。: H) r" P- b# P
程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 17:05 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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