SylixOS lite 版—基于 STM32F767 资源使用情况

SylixOS lite 版—基于 STM32F767 资源使用情况

1、基本概念    
代码段(text):顾名思义,代码存放的位置,在 STM32 中代码段一般存放于内置 FLASH 中;

已初始化数据段(data):已初始化数据段会分别体现在 FlASH 中和 RAM 中。因为是全局变量,运行过程中需要进行读写操作,因此占用一段 RAM 空间。又因为有初始值,其初始值需要占用 FlASH 空间。  

未初始化的数据段(bss):bss 与 data 相同的地方时它也是全局变量,运行过程中需要进行读写操作,因此占用一段 RAM 空间。又因为没有初始值,因此不占用 FLASH 空间。    

堆空间:STM32 使用 SylixOS lite 版系统,应用堆栈全部由内核堆分配。硬件总内存大小首先分配给数据段(data + bss),剩余的分配给内核堆,其总大小与使用情况可由 free 命令查看。


text、data、bss 三部分的大小可在 bsp 生成文件 bspstm32f767.siz 中查看。


2、资源使用情况
STM32 的资源使用情况及当前的 FlASH 与 RAM 的使用情况。
FlASH 使用情况计算:
不考虑应用程序对 flash 的额外使用,当前 flash 完全用于存放系统 bin 文件,即 bin 文件大小。
FLASH 占用 = bin 文件大小 = text + data
RAM 使用情况计算:
当前的 ram 使用由 data、bss、已使用的内核堆三部分组成,空闲的部分为未使用的内核堆。
RAM 占用 = data + bss + 已使用的内核堆



    • Related Articles

    • 更新 Lite 版 Base 方式

      1、适用范围   本文档面向SylixOS Lite版程序开发工程师和相关测试人员,协助解决开发或测试过程中需要更换Lite版Base版本问题。 2、原理概述 最新的源码可从 SylixOS开源网站 Git上获取,但获取的代码默认为标准版Base,而非Lite版。Lite 版 Base 与标准版 Base 代码完全一致,区别在于 Lite 版 Base 通过宏控制关闭了部分内核功能和缩减了部分内核资源。区别主要位于 libsylixos/SylixOS/config 目录下。因此更新最新版的 ...
    • SylixOS 功能介绍及版本差异

      SylixOS功能介绍及版本差异 SylixOS 标准版 SylixOS 标准版是 SylixOS 的基础版本,具备如下功能: 兼容 IEEE 1003(ISO/IEC 9945)操作系统接口规范; 兼容 POSIX 1003.1b(ISO/IEC 9945-1)实时编程标准; 支持国军标 GJB7714-2012 操作系统接口规范; 优秀的实时性能(任务调度与切换算法时间复杂度为 O(1)); 支持无限多任务; 抢占式调度支持 256 个优先级; 支持虚拟进程; ...
    • RealEvo-IDE 是基于 eclipse 的哪个版本开发的!

      问:IRealEvo-IDE 是基于 eclipse 的哪个版本修改的! SylixOS 的集成开发环境 IRealEvo-ID 是基于 eclipse 发行的 4.7.1 版本进行开发的!可以在菜单栏 Help 选项 About IRealEvo-ID 查看到如下信息!
    • SylixOS 上的 Qt 是什么版本?

      Q: SylixOS 的 Qt 是什么版本的? 目前 SylixOS 上支持的 Qt 版本是 Qt:4.8.7 和 Qt:5.12
    • LTS 版 Base 如何创建

      问:长期支持版(如 1.12.13 LTS版本)Base 如何创建? 目前以 1.12.9 为基础的 LTS 长期维护支持版本有 1.12.13,用户可根据自己实际需求确认长期支持版本号,并联系销售获取对应版本的插件安装即可。 注:目前 LTS 版本的插件必须在 4.0.0 版本的 IDE 基础上安装。 具体组件安装流程如下: 安装 RealEvo_SylixOS_LTS 组件之前要安装 RealEvo-IDE 工具,安装完 RealEvo-IDE 后双击 ...