当前位置: 首页 > news >正文

FreeRTOS缩小bss段的处理

bss太大了,有60多M,客户要求处理一下   

readelf -s  app.elf  | grep "OBJECT"
发现有一条
592: 8800dd78 0x4000000 OBJECT  LOCAL  DEFAULT   15 ucHeap
长度64M,地址8800dd78刚好在bss段里,bss段地址如下:
readelf -S  app.elf
 [15] .bss              NOBITS          8800aee0 0bc218 4890eac 00  WA  0   0  4

于是需要把ucHeap单独放到一段

ucHeap是freeRTOS里内存分配里的一个静态变量,freeRTOS的堆分配都是在这个ucHeap上

/* Allocate the memory for the heap. */
#if ( configAPPLICATION_ALLOCATED_HEAP == 1 )
/* The application writer has already defined the array used for the RTOS
* heap - probably so it can be placed in a special segment or address. */extern uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
#elsestatic uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
#endif /* configAPPLICATION_ALLOCATED_HEAP */

修改方式如下

a、FreeRTOSConfig.h里定义
#define configAPPLICATION_ALLOCATED_HEAP 1

b、增加一个ucHeaps段0x06000000==100,663,296,100M,应该够了,调整一下段地址
ucHeaps                               0x84000000   0x06000000

c、程序里定义一个
uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__((section(".ucHeap"))) __attribute__((aligned(4096)));

重新编译一个app.elf就行了

相关文章:

FreeRTOS缩小bss段的处理

bss太大了,有60多M,客户要求处理一下 readelf -s app.elf | grep "OBJECT" 发现有一条 592: 8800dd78 0x4000000 OBJECT LOCAL DEFAULT 15 ucHeap 长度64M,地址8800dd78刚好在bss段里,bss段地址如下&#xff…...

STM32数字示波器+详细注释+上位机程序+硬件

目录 1、设计指标: 2、功能: 3、上位机的程序 ​4、测试的照片 5、PCB 6、模拟电路板 7、程序 资料下载地址:STM32数字示波器详细注释上位机程序硬件 1、设计指标: 主控: STM32…...

【平衡二叉树】AVL树(双旋)

🎉博主首页: 有趣的中国人 🎉专栏首页: C进阶 🎉其它专栏: C初阶 | Linux | 初阶数据结构 小伙伴们大家好,本片文章将会讲解AVL树的左双选和右双旋的相关内容。 如果看到最后您觉得这篇文章写…...

【保姆级介绍自动化的讲解】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…...

【大数据面试题】27 讲下Doris的物化视图

一步一个脚印,一天一道面试题。 物化视图概念 物化视图,顾名思义,是将一个查询的结果预先计算并存储为物理表的形式。这意味着,原本需要在运行时动态执行的复杂查询,现在变成了直接从已经计算好的结果表中读取数据&a…...

kylin 使用心得

Kylin操作系统是一种基于Linux的操作系统,主要在中国使用,由中国国内的开发团队维护。它的目标是为了提供一个稳定、安全、易于使用的操作环境。以下是一些用户可能基于Kylin操作系统的使用心得: 1. **界面友好**:Kylin操作系统通…...

在线音乐系统

文章目录 在线音乐系统一、项目演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目(9.9¥带走) 在线音乐系统 一、项目演示 音乐网站 二、项目介绍 基于springbootvue的前后端分离在线音乐系统 登录角色 : 用户、管理员 用…...

LeetCode算法题:49. 字母异位词分组(Java)

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat", …...

第五课,输入函数、布尔类型、比较运算和if判断

一,输入函数input() 与输出函数print()相对应的,是输入函数input(),前者是把程序中的数据展示给外界(比如电脑屏幕上),而后者是把外界(比如键盘)的数据输入进程序中 input()函数可…...

数学建模——线性回归模型

目录 1.线性回归模型的具体步骤和要点: 1.收集数据: 2.探索性数据分析: 3.选择模型: 4.拟合模型: 5.评估模型: 1.R平方(R-squared): 2.调整R平方(Ad…...

景源畅信:抖音小店比较冷门的品类分享?

在抖音小店的世界里,热门品类总是吸引着众多商家和消费者的目光。然而,就像星空中的繁星,虽不那么耀眼却依然存在的冷门品类同样值得我们关注。它们或许不似服装、美妆那样日进斗金,但正是这些小众市场的存在,为平台带…...

java项目之企业资产管理系统(springboot+vue+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的企业资产管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 管理员功能有个人中心&…...

[ardunio ide导入blinker库]

1 blinker库下载地址 https://github.com/blinker-iot/blinker-library2 导入方法一 zip导入 项目 -> 导入库 ->添加.zip库 3 导入方法二...

Llama 3 超级课堂 -笔记

课程文档: https://github.com/SmartFlowAI/Llama3-Tutorial 课程视频:https://space.bilibili.com/3546636263360696/channel/series 1 环境配置 1.1 创建虚拟环境,名为:llama3 conda create -n llama3 python3.10 1.2 下载、安装 pyt…...

Leetcode 第 129 场双周赛题解

Leetcode 第 129 场双周赛题解 Leetcode 第 129 场双周赛题解题目1:3127. 构造相同颜色的正方形思路代码复杂度分析 题目2:3128. 直角三角形思路代码复杂度分析 题目3:3129. 找出所有稳定的二进制数组 I思路代码复杂度分析 题目4:…...

队列的讲解

队列的概念 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头 一端进另一端出 也就是可以做到,先…...

算法学习笔记(LCA)

L C A LCA LCA:树上两个点的最近公共祖先。(两个节点所有公共祖先中,深度最大的公共祖先) L C A LCA LCA的性质: 在所有公共祖先中, L C A ( x , y ) LCA(x,y) LCA(x,y)到 x x x和 y y y的距离都最短。 x …...

记一次苹果appstore提审拒审问题1.2

有关苹果appstore审核1.2问题的处理方案 2023.8.6苹果回复 Bug Fix Submissions The issues weve identified below are eligible to be resolved on your next update. If this submission includes bug fixes and youd like to have it approved at this time, reply to thi…...

在做题中学习(59):除自身以为数组的乘积

238. 除自身以外数组的乘积 - 力扣(LeetCode) 解法:前缀积和后缀积 思路:answer中的每一个元素都是除自己以外所有元素的和。那就处理一个前缀积数组和后缀积数组。 而前缀积(f[i])是:[0,i-1]所有元素的乘积 后缀…...

centos 把nginx更新到最新版本

yum install epel-release # 添加 EPEL 软件仓库,这是 Nginx 官方软件仓库的依赖项 yum install yum-utils # yum-utils 包含了 yum-config-manager 工具,它可以让您轻松地启用、禁用或配置 yum 软件仓库 vi /etc/yum.repos.d/nginx.repo # 增加以下内容…...

OpenClaw技能市场探秘:千问3.5-9B驱动10种办公自动化

OpenClaw技能市场探秘:千问3.5-9B驱动10种办公自动化 1. 为什么需要技能市场? 去年我接手了一个新项目,每天要处理上百封邮件、整理会议录音、生成周报数据。这些重复性工作占据了我60%的工作时间,直到我发现了OpenClaw的技能市…...

Wan2.2-I2V-A14B效果展示:支持语义分割引导的多对象独立运动控制

Wan2.2-I2V-A14B效果展示:支持语义分割引导的多对象独立运动控制 1. 惊艳的视频生成能力 Wan2.2-I2V-A14B模型带来了令人惊叹的视频生成效果,特别是其独特的语义分割引导和多对象独立运动控制能力。想象一下,你只需要用文字描述一个场景&am…...

PowerPaint-V1 Gradio场景应用:从家庭照片修复到工作素材处理

PowerPaint-V1 Gradio场景应用:从家庭照片修复到工作素材处理 1. 引言:图像修复的日常革命 周末整理老照片时,发现珍贵的全家福上有几处划痕;准备工作报告时,急需一张专业配图却找不到合适素材;电商运营需…...

气动元器件选型(工业自动化场景实战指南)

1. 气动技术基础与工业自动化适配性 气动技术作为工业自动化领域的核心驱动方式之一,其本质是通过压缩空气实现能量传递。想象一下,就像我们用吸管吹动纸团一样简单直接——空压机将电动机的旋转动能转化为气压能,再通过各类阀门控制气流方向…...

Symfony Monolog Bundle终极指南:如何快速搭建专业日志系统

Symfony Monolog Bundle终极指南:如何快速搭建专业日志系统 【免费下载链接】monolog-bundle Symfony Monolog Bundle 项目地址: https://gitcode.com/gh_mirrors/mo/monolog-bundle Symfony Monolog Bundle是Symfony框架中一款强大的日志管理工具&#xff0…...

DTM智慧监控:构建企业级分布式事务一致性保障的终极指南

DTM智慧监控:构建企业级分布式事务一致性保障的终极指南 【免费下载链接】dtm A distributed transaction framework, supports workflow, saga, tcc, xa, 2-phase message, outbox patterns, supports many languages. 项目地址: https://gitcode.com/gh_mirrors…...

OpenClaw二次开发:基于Qwen3.5-9B定制个性化技能模块

OpenClaw二次开发:基于Qwen3.5-9B定制个性化技能模块 1. 为什么需要自定义技能模块 去年冬天,我发现自己每天早晨都要手动查询天气来决定穿什么衣服。作为一个技术爱好者,我开始思考:能否让OpenClaw自动完成这个任务&#xff1f…...

CPAL脚本自动化测试 ———— 深度解析Test Report系列函数与应用场景

1. 为什么我们需要定制化测试报告? 在车载网络测试领域,特别是涉及自动驾驶功能的验证时,一个标准的测试报告往往无法满足工程师的需求。想象一下,当你花了三天三夜跑完2000个测试用例后,拿到的报告却只有简单的"…...

敏捷还是瀑布?数字化项目的治理模式选择

敏捷还是瀑布?数字化项目的治理模式选择 项目背景:24年酒店PMS换系统和CRM上线。一、前言:当"稳定交付"遇上"快速迭代" 传统零售和酒店餐饮行业每年都要面对数十个数字化项目的治理决策。从ERP升级到会员中台建设&#x…...

2026届毕业生推荐的十大降重复率神器解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 降低AIGC痕迹的关键之处在于去除机器生成的那种模式化特性,如果要采用避免使用过…...