分配栈空间的三种方式(基于适配qemu的FreeRTOS分析)

1、定义全局的数组

在这里插入图片描述

  • 定义的全局数组属于bss段,相当于把bss段的一部分作为栈空间,栈空间的大小就是数组的大小
  • 如果把栈空间放在bss段,则在bss段清零时会多清零一段地址空间

2、在链接脚本中指定

在这里插入图片描述

  • 用链接脚本在所有段的后面增加stack段,在上一个段的尾部增加_stack_top大小作为栈的最高地址,用_stack_top符号记录
  • 栈空间的大小由_stack_size指定
  • 栈的所在地址是根据链接时候动态指定的

3、直接在代码里指定栈空间起始地址

在这里插入图片描述

  • 直接在代码中指定栈空间最高位地址,但是没有指定栈空间的大小
  • 相当于0x80000000开始放bin文件,0x80000000到0x80010000的0x10000空间除了烧录bin文件,剩下的空间作为栈空间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/266456.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

消费增值:一种改变消费观念的新模式

据统计,全球电子商务市场在过去的五年内以每年20%的速度增长,预计到2025年将达到5.5万亿美元。然而,在这个庞大的市场中,消费者在购物后往往只获得了商品或服务本身,而没有获得更多的附加价值。为了改变这种消费观念&a…

LeetCode-1008. 前序遍历构造二叉搜索树【栈 树 二叉搜索树 数组 二叉树 单调栈】

LeetCode-1008. 前序遍历构造二叉搜索树【栈 树 二叉搜索树 数组 二叉树 单调栈】 题目描述:解题思路一:题目大致意思就是给定一个二叉树的前序遍历,求对应的二叉搜索树。一种比较特殊的点是「二叉搜索树」的中序遍历的结果是【有序序列】&am…

学习人工智能-基础篇

背景 随着大模型的火爆,人工智能再次被推到高潮,其实它在众多行业领域已经落地很多应用,并给社会带来了巨大的经济价值。其中包括互联网、教育、金融、医疗、交通、物流等等。在测试领域也有一些落地的案例,作为测试人员&#xf…

WooCommerce商城个人微信支付网关 适合个人微信收款

点击获取WooCommerce商城个人微信支付网关 适合个人微信收款原文https://gplwp.eastfu.com/product/woocommerce-ge-ren-wei-xin-zhi-fu-wang-guan-shi-he-ge-ren/ 个人微信支付网关接口,无需提现,100%资金安全,官方清算,金额无限…

STM32F407-14.1.0-01高级定时器简介

TIM1 和 TIM8 简介 高级控制定时器(TIM1 和 TIM8)包含一个 16 位自动重载计数器,该计数器由可编程预分频器驱动。 此类定时器可用于各种用途,包括测量输入信号的脉冲宽度(输入捕获),或者生成输出…

软件运行原理 - 内存模型 - 栈内存

说明 C/C软件运行时,内存根据使用方式的不同分为堆内存和栈内存,栈内存使用有以下特征: 栈内存使用(申请、释放)由系统自动分配和释放,程序员不用做任何操作。栈内存重复使用,进入函数时数据入…

vscode汉化

安装插件 Chinese (Simplified) (简体中文) Language Pack for 重新打开,若还是没有汉化: 【CtrlShiftp】 输入“configure display language”,回车键 选择刚刚安装的 中文(简体)

Oracle(2-15)RMAN Incomplete Recovery

文章目录 一、基础知识1、The Procedure 不完全恢复步骤2、UNTIL TIME Example 基于时间的恢复3、UNTIL SEOUENCE Example 基于序列的恢复 二、基础操作1、不完全恢复准备工作2、不完全恢复开始恢复 RMAN Incomplete Recovery RMAN的不完全恢复 目标: 使用“UNTIL T…

使用MFC实现数据输出真的好方便(C++)

void CMFCApplication1Dlg::OnEnKillfocusEdit1() { //失去焦点就在上部的框显示 CString cont; GetDlgItemTextW(IDC_STATIC2, cont); cont L"你好啊\n"; SetDlgItemTextW(IDC_STATIC2,cont); // TODO: 在此添加控件通知处理程序代码 }

Breach 1.0

靶机环境 该靶机的ip地址配置的是静态IP地址,192..168.110.140 因此我们直接利用仅主机模式,配置为网段192.168.110.0/24网段即可! kali攻击机上配置两个网卡!一个用于访问靶机,另一个网卡适用于出网! 信…

JVM性能调优

遇到以下情况,就需要考虑进行JVM调优了: Heap内存(老年代)持续上涨达到设置的最大内存值; Full GC 次数频繁; GC 停顿时间过长(超过1秒); 应用出现OutOfMemory 等内存异常…

力扣111. 二叉树的最小深度

给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:2 示例 2: 输入…