smallRTOS51读后感
虽然small RTOS51没有对任务分配到内存的变量进行保护,但它却利用
%A 了禁止任务函数覆盖分析的方法而把任务的局部变量像全局变量一样保护起
%A 来。这样虽然节省了堆栈内存空间,但每个任务函数的局部变量还是单独的
%A 占用着内存空间,和用堆栈保护异曲同工。这样做实际上并没有节省内存。
%A 当有很多任务且任务的局部变量又很多时,内存中空间就会变的非常紧张。
%A 而当这些任务用前后台系统让编译器进行覆盖分析,那样就会节省很多内存
%A 下来。我的意思并不是说small RTOS51编写的不好,相反它写的十分精妙。
%A 从中我得出一个结论:只要可以并发执行的多任务操作系统,就会比不使用
%A 操作系统多使用很多内存。因为在任务切换时操作系统要为每个任务保存现
%A 场环境,而small RTOS51也不例外,只是结合了编译器Keil C51的特点用一
%A 种特殊的方式来保存每个任务的现场环境。MCS51构架的单片机在不扩展
%A XDATA-RAM的情况下还是很难使用实时操作系统(即使是small RTOS51)做较
%A 复杂的事情。
%A
%A 另外,使用连接定位控制OVERLAY(*!sfname) 为sfname增加新的根,使
%A 实时操作系统为每个任务函数设置自己的程序路径或根,也就是让任务的调
%A 用树可以独立分析。这样就可以对每个任务隔离开来进行覆盖分析。这样比
%A 书中提到的禁止对任务函数的覆盖分析做法可节省内存空间。
%A
%A 有关多重调用的问题,只要被调用的函数满足局部变量只使用寄存器,
%A 就可以被多个独立的段(多任务)任意调用,如不满足以上条件,可以使用互
%A 斥信号量防止多个段同时调用。判断函数局部变量是否只使用寄存器,可以
%A 查看调用树,也可在禁止任务函数覆盖分析后查看内存分配表。这些东西在
%A 一个后缀名为"m51"的文件中。
%A%A
%A
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
联发科技校园软件大赛——无名
构建智能:RISC‑V CPU在智能体AI基础设施中的崛起
论坛注册增加地区和感兴趣的技术项
yieldHUB 凭借新技术与全新官网扩大行业影响力
电源电容中的反谐振效应是什么?
P87LPC769 OTP单片机数据手册 (英)
P87LPC768 OTP单片机数据手册 (英)
可控硅移相触发器的应用-DJK3型三相异步电机节电器
中国:“宾利”之国?
释放48V机器人系统的潜力
11月北京见!ICCAD Expo 2026重磅启幕
DRAM的 “打地鼠” 式安全危机
最近怎么大家的头像都有变化,而且PIG越来越多!
最近怎么不见猪也有理想兄?
电源如何制约具身人工智能在人形机器人中的落地应用
联发科技校园软件大赛——不知营养差不多
联发科技校园软件大赛——千机变
P87LPC768利用空载时间发生器驱动半、全桥的脉宽调制(PWM)
协处理器新时代:异构计算架构如何跟上AI浪潮
P87LPC768 OTP单片机数据手册
可控硅过零触发器KC08应用电路图
物理学如何关联信号完整性、电源完整性与电磁兼容性
移动通信未来已定 英国3G服务质量超出想象
联发科技校园软件大赛——八月的天空
联发科技校园软件大赛——低调XD
P87LPC768单片机勘误
可控硅三相全控桥控制板KJZ6电原理图
集成化六脉冲触发组件KCZ6电原理图
快,还不够快:重新定义边缘AI 的衡量标准
以TCA785为核心的可控硅三相全控桥触发电路图