【RTX51 Tiny入门】02_资源占用情况

文章目录

  • 01 - 资源占用
  • 02 - 简略差异表
  • 03 - 总结


01 - 资源占用

  由于8051及相关系列的资源相当紧张(如只有256bytes的内部RAM),所以有必要知道RTX51 Tiny能够在消耗多少资源的情况下启动,官网有明确的数据,如下图,可以看到使用RTX51 Tiny后各项资源的消耗情况:【RTX51 Tiny入门】02_资源占用情况_第1张图片

  • 最多消耗CODE 900字节、DATA 7字节、不需要占用XDATA
  • 一个任务需要占堆栈3字节
  • 上下文切换700机器周期
  • ……

  这些数据是比较可观的,重点看内部RAM的消耗,7字节提供内核的需要,每创建一个任务就占用3字节堆栈, 基本不消耗RAM,可以看更加详细的官网信息。不过随着任务的增多,经常出现RAM不够用的情况,试想如果你有15个任务,这些任务什么都不做,就已经占用45字节的堆栈了,所以任务的划分需要精炼。
  为了更加清楚资源占用情况,可以与FreeRTOS进行对比,FreeRTOS十分强大,因此调度器本身就需要236字节的RAM,而CODE更是需要5~10K:
【RTX51 Tiny入门】02_资源占用情况_第2张图片


02 - 简略差异表

  以下为一般情况下RTX51 TinyFreeRTOS的资源使用情况简略差异表:

RTX51 Tiny FreeRTOS
调度器消耗RAM 7 bytes 236 bytes
每个任务消耗RAM 3 bytes 64 bytes
通信消耗RAM 在3 bytes RAM内 每个队列占用76 bytes
消耗CODE 900 bytes 5~10K

03 - 总结

  • 调度器占RAM 7 bytes
  • 最多占用CODE 900 bytes
  • 每创建一个任务,就占用RAM 3 bytes(包含通信)

你可能感兴趣的:(#,RTX51,Tiny)