首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
雁塔菜农
修改
文章:
1274
阅读:
4842229
评论:
674
赞:
8194
俺是农民俺怕谁???
好友
私信
个人主页
俺是农民俺怕谁???
文章
1274
原创
0
阅读
4842229
评论
674
赞
8194
原创
菜农心目中之OS即对HotOS系列之展望和安全意识
2009-2-22 08:38
2679
6
6
分类:
MCU/ 嵌入式
hotpower
发表于 2009-2-22 08:25
侃单片机
←返回版面
2楼:
哈哈~~~警告:看帖者自戴墨镜
hotpower
发表于 2009-2-22 08:24
侃单片机
←返回版面
楼主:
菜农心目中之OS即对HotOS系列之展望和安全意识
随着HotTasm51之研究和编写的进展,以及嵌入式专家吴旭光教授屈尊地加盟
HotPower的农会组织,俺久久不能入睡,真可谓“彻夜难眠”~~~
和吴教授的多次探讨,更让俺增强了信心和“胆量”。
首先,我选定了从51开始俺的HotOS系列的“开始旅程”,在DSP的54系列上
俺也进行了85%的研究,但是那时可以C/C++,他们的构架和资源差距很大,
再者,俺心里也选中了AVR,因为小芯片的记得有个汇编级源码的OS.
也想在ARM7的LPC213X/LPC214X上开刀~~~至少俺在其“防御系统”上实现
了突破~~~
在OS的编写上,有些代码是要用汇编才能实现的,这不单单是速度的问题,
实际速度并非重要,而是限于C语言有些对方根本访问不到,也限制了发挥。
一般所有的编译器都可以嵌入汇编代码,但Keil C51还要设置几个地方,虽然
不难,但总觉得别扭~~~
对于机器级来讲,代码和数据是很难区分的:
当机器运行过的地方,肯定是代码(当然也可用于加密校验及防止改写代码)。
否则,代码的可能性少点,应该认为是数据。
所以,由于汇编代码的不同,导致了OS的不同~~~
若是用汇编数组又如何呢???
所以俺在HotTask51上使用了汇编数组并计划将其用COM接口来封装。
再进一步将HotTask51用COM接口封装,那么不就和微软在DLL越发不可收拾时
推出COM接口来进行对DLL的再封装,这样就实现了不需将DLL用C++来编写
即可达到C++之效果~~~
若是COM技术的早几年的推出,我们的PC机里就不会出现居多的DLL文件~~
所以,菜农对COM技术进行了深入研究和在CVI和DSP上进行了实验并成功实现。
那么若能在51上实现又能如何呢???
都是C语言,都有结构及指针,以及位域和联合,所以51也能从COM接口中
完成更强的功能~~~
目前的OS特别是能在MCU上运行的,菜农说心里话都不满意,理由:
1. 满世界的全局变量及宏定义让人“眼晕”~~~简直是A人之举~~~
无任何封装的概念~~~也难怪那些“OS的先烈们”了~~~
2. 神秘的内核让人“心醉”,华丽的外衣让人更想“裸了才爽”~~~
51十分紧张的资源使那些“爱美的人们”不得不放下那“皇帝的外衣”
3. 现在是“拇指一代”了,任务的创建和配置,都很晕~~~
由于编译器软件厂家的OS虽然和环境无缝连接,但天文数字的费用实在
不能接受~~~想学习学习也要背个“D人”之名,难呀~~~
4. 开源OS之病在于原作者和厂家有很大之不同~~~
首先是与环境的链接,当然像uCOS-II嵌入在IAR内固然很好,但~~~
再者小容量MCU各在不同的干扰环境下的表现也不同,所以,这些应用
群体的硬件上都有硬件看门狗之类的防护,虽然不盼着狗咬,但没人
敢在设计上将狗遗忘~~~至少俺没这个胆量~~~
所以在开工HotTask51之决定时,狗任务那是排第一的~~~
综合以上所述,故俺要PK~~~至少俺有“唐吉珂德之精神”~~~
在起点上,定调已把俺“雷翻”~~~
首先在Keil C51环境下,实现脚本文件的嵌入,这样可对任务及硬件的配置
实现“傻瓜设置”,即在编译前即搞定之,故最后决定放弃初始化任务中的
动态装载任务,改由对静待装载的确认,为使核占用资源更小,将凡涉及任务
指针、永不改写的参数都移入FLASH中,并像在LPCARM中应用很成功的防御体系
之中的精华---将中断向量表的地址改为中断号管理,这样虽说散转稍慢些,
但它可以捕捉错误,并保证中断、事件及任务程序入口的安全~~~
如何保证呢???这要追述到“中断喂狗”和“主程序喂狗”之争来了~~~
后者即“中断喂狗”的反对者观点大概如下:
“主程序飞但中断还在喂狗!!!”,所以结论是:不能在中断中喂狗。
反方的强烈支持者和俺自称是“狗论的缔造者”的菜农答曰:
正方自己打嘴巴~~~他承认了中断比主循环更安全,程序即使飞了下次还能
进入运行~~~
哈哈~~~因为中断的地址是固定的,不可改写的,是有很规律的地址表格,
即中断向量~~~虽然有2种代表方式,即指针或跳转地址。
所以,中断比主循环更安全~~~即使错几次,他总要回来,这是硬件的中断
机制所造成的~~~
所以菜农要将没一个任务和事件变成“中断机制”,将它们的地址用51的4组
中断向量表来填入,即所有任务函数都用真的中断函数来声明~~~
因为这次是针对52系列,它的中断源不会超过24个,故Keil C51允许使用4组
的情况下,HotTask51用了后16个,其中8个为任务,另8个作为其他中断的后台
处理任务。
故在菜农的心目中,把OS的组级别分成了:
1.中断
在HotTask51中,占用了T2定时器,主要是它能自动装载。特别是它的中断标志
TF2不能像T0/T1一样不能被自动清除,真可谓是天天生了“一副OS的模样”~~
一样这样就可分清是节拍定时中断,还是其他中断及事件和任务软中断。
哈哈~~~老天都在祝俺~~~谁就早知道TF2是OS专门不清零TF2的请举手~~~
2.事件
菜农俺无文化,说不出规范之语,故在HotTask51中是这样定义的:
当硬件中断紧急事务处理结束后,应该立即退出,而且必须在每个节拍之内
处理结束,否则应该进行“中断隐身”:
即上半身为“前台”,用于处理紧急事务,级别为特权级,它的级别有硬件设定。
下本身为“后台”,即做“中断隐身”操作后,级别降为“事件”,它比任何
任务的级别都高,但HotTask51私自规定:“狗”的权利归农会~~~
3.任务
在HotTask51中,任务包含了任务与OS有关和无关的事务~~~
任务由节拍中断触发同步,也可由高级别中断退出或隐身软中断异步进入。
也可由同级任务主动弃权后的软中断再入。
所以,HotTask51将问题简单化并有同一节拍中断的隐身转由节拍“事件”
来处理任务的优先级,节拍的申请及其他中断的“事件”等多复杂操作。
故HotTask51只承认三种形式的请求:中断-->事件-->任务。
而且它们的中断地址都为51的中断地址:N*8+3.
它们可以最多4组(51硬件决定),故管理只需5个位来管理
其中2位作为4组的组号管理,它可以用来做4种区分:
中断,保留中断,事件,任务。
另3位用来做组内具体为哪个中断、保留中断、事件和任务。
故“红色之脑浆”用5位来PK中断向量表中的4(组)*8(个)*16位(地址位长)
最不太“精妙”,也未让人享受到其“防御体系之威力”,但数的概念
总能知道此回合应该判菜农“胜出”~~~
再者,狗任务是所有事件中的最高级别,也就是说它在节拍中断时间片里,
它永远排第一~~~因为它要先“排雷”“安检”及“验票”~~~
HotTask51的核即节拍事件,它采用高速数字处理中的预测处理算法,它能
在任务就绪后立即做出切换操作!!!
所以,HotTask51在设计的理念上还是够新潮的~~~因为它被菜农在理论
上设计为强实时的具有霸权的OS~~~
菜农在吴教授的解释和提醒下,记得见过对强实时的定义,估计无终论。
所以俺想在强实时和零耗时任务切换上都来个“红杏出墙”玩玩~~~
也好早给《keil c51红杏出墙记》找个“好婆家”嫁了算了~~~
不能老让它总是《Keil C51红杏出墙记》节选~~~
但愿这次搞成,俺一定写个搞笑的《Keil C51红杏出墙记》终结篇~~
HotPower农会主席 菜农 HotPower@126.com 2009.2.22 论道于小白菜基地
keil c51红杏出墙记
写原创有奖励!2024面包板原创奖励正在进行中
点赞(
6
)
收藏
分享到:
上一篇:
俺不雷翻一大片,“天理都难容”~~~
下一篇:
HotC51正式提交选美参赛计划书
PARTNER CONTENT
换一换>
更多>
新蓝牙6.0协议扩展应用范围
Silicon Labs(芯科科技)蓝牙产品经理Parker Dorris
2024-12-16
概伦电子:以开放心态共绘EDA产业新蓝图
概伦电子
2024-12-30
SK海力士开发出适用于AI数据中心的高容量固态硬盘‘PS1012 U.2’
SK海力士
2024-12-18
SK海力士将在CES2025亮相‘全方位面向AI的存储器供应商’的新蓝图
SK海力士
2025-01-03
文章评论
(
0
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
雁塔菜农
修改
文章:
1274
阅读:
4842229
评论:
674
赞:
8194
俺是农民俺怕谁???
好友
私信
个人主页
俺是农民俺怕谁???
文章
1274
原创
0
阅读
4842229
评论
674
赞
8194
最新评论
更多
物也有命
自做自受 ...
评论博文
2025-1-9
富士通环保行为准则之切身感受 ...
行情不坏,手机火,写的好
开发工匠 ...
评论博文
2025-1-9
2024年全球智能手机面板出货量突破22亿片, ...
查到的原文,图3图片不是文中图。 https://www.semanticscholar.org/paper/A-Technical-View-of-Bokeh-Hawk/b0bd7787fd3e799a8e2 ...
Xutg
评论博文
2025-1-9
用三角形的镜头光圈会怎样?聊聊焦外的弥散 ...
最新
博文
简单又实用的教程:RTC时钟使用指南~ ...
一篇文章丨教会你从外观上辨别PCB板层 ...
艾体宝案例丨Snyk 如何借助 CircleCI ...
资料下载
本周热帖
Processing-processing3.5.4
ESP32TFT常用字体库.zip
自动增益控制放大器设计与实现 ...
无线传能充电器设计与实现论文 ...
基于单片机自动电阻测试仪设计论文 ...
《极简图解 半导体技术基本原理》+半 ...
【工程师故事】+2024年:资深嵌入式工 ...
浪拓电子小课堂:TVS与TSS的工作原理 ...
锡须生长现象
电气安全测试项目详解
最新资讯
芯语最新
Altera升起象征独立的公司旗帜,正式 ...
用一种简单的方法进行三进制增益切换 ...
苹果廉价版iPhone将在1月中量产,富士 ...
升旗独立!Altera正式脱离英特尔 ...
中国市场下滑0.1%,美洲地区半导体销 ...
首发锐龙99955HX3D神U!ROG游戏本全线 ...
18寸五大金刚领衔!微星游戏本焕然一 ...
三大运营商的2025年,一个词:外卷! ...
解析AMR设计关键要素:传感器、可见光 ...
总产能达23万台!这2个电驱动项目签约 ...
EE直播间
更多
第三代功率半导体器件测试解决方案
直播时间: 03月06日 10:00
在线研讨会
更多
重塑机器人未来:揭秘创新芯片解决方案的颠覆力量
多路有光·精准不凡——KSW-SGM01模拟信号源发布会
迈来芯Triaxis® 3D磁传感器:汽车安全应用的优选方案
适用于安全连接的新一代PIC32CK SG/GC系列单片机
热门
推荐
【TI资料】专为高压系统设计的新型MCU
【应用手册】TI 全新MCU及C29内核的能源设施应用方案
构建AI未来,Arm计算平台无处不在
【免注册下载】创新MCU提升高压系统的实时性能
我要评论
0
6
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/3
工程师写总结,送示波器、稳压电源、螺丝刀!
分享你的:职业生涯中故事、2024年年终总结、工作中的小故事,丰富多样的礼品等你哦!
面包板社区有奖活动汇总楼
1. DIY赢大奖!2. 写原创,有奖励!3.参与话题,奖励E币!4. 免费申领:开发板试用、书籍试读...
电子工程师DIY来分享,赢大疆无人机、小米手机、NAS存储、万用表 ...
展示您的 DIY 电子设计作品,社区将有丰富奖励送给您!
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
文章评论(0条评论)
登录后参与讨论