病毒性感染是什么原因引起的| 四个火是什么字| 2003年五行属什么| 肚子胀痛吃什么药| 眼花缭乱的意思是什么| 为什么叫北洋政府| 英雄本色是什么意思| 胃疼胃胀用什么药效果最好| 棉絮是什么意思| 游离三碘甲状腺原氨酸是什么意思| 总蛋白高是什么原因| 早上起床胃疼是什么原因| 水杯什么材质好| 高抬贵手是什么意思| 脚气是什么样的| 2018年属什么生肖| 特殊门诊是什么意思| 胃食管反流用什么药| 援交是什么意思| 甲状腺偏高有什么影响| 舌头伸不出来是什么原因| 心机是什么意思| 运动后体重增加是什么原因| 什么样的鲜花| 焦虑症是什么症状| 被蚂蚁咬了用什么药| 什么榴莲最好吃| 吃什么容易流产| 罗汉果有什么功效| 丝瓜有什么功效| 脚麻是什么病的前兆| 脚后跟痒是什么原因| 糕面是什么面| 庸人自扰什么意思| 盘古是一个什么样的人| 什么叫关税| 正月十九是什么日子| 蝉代表什么生肖| 什么时候拔罐最好| 木耳不能和什么食物一起吃| 6月份有什么节假日| e-mail什么意思| 3月4号是什么星座| 嗓子哑是什么原因引起的| 果实属于什么器官| 胃窦糜烂是什么意思| 讨厌是什么意思| 总免疫球蛋白e是什么| 治疗幽门螺杆菌用什么药效果最好| 酱瓜是什么瓜| 蝎子泡酒有什么功效| 扩招是什么意思| 榴莲有什么好处| 皮肤瘙痒症用什么药| 惜字如金是什么意思| 油面筋是什么做的| 欢五行属什么| 为什么不建议治疗幽门螺杆菌| 市级三好学生有什么用| 枕头太低了有什么危害| 痹症是什么病| 属兔是什么命| 孕晚期呕吐是什么原因| 赏脸是什么意思| 辅酶q10什么时候吃最好| 神经衰弱吃什么中成药| 什么饮料可以解酒| 吃什么补阳气| 娃娃鱼是什么动物| 虎父无犬子什么意思| 荨麻疹可以吃什么水果| 黄体破裂什么症状| 脚老抽筋是什么原因| 睾丸扭转是什么导致的| 脚气有什么症状| 为什么不愿意工作| 结晶是什么意思| 81年属鸡是什么命| 十月初四是什么星座| 丝状疣是什么样子图片| 老年人脚浮肿是什么原因| 艾灸什么时候做最好| 子宫肌瘤手术后吃什么好| 孟买血型是什么意思| 头皮屑是什么| 什么发型好看| 手脚发热什么原因| 今年什么时间进伏| 58岁属什么生肖| 什么时候量血压最准确| gabor是什么牌子| 三点水者念什么意思| 天麻有什么作用与功效| 鱼爱吃什么食物| 回南天是什么意思| mlb中文叫什么| 公章是什么样的| 血压高压高低压正常是什么原因| 跛脚是什么意思| 喝山楂水有什么好处| 女性吃辅酶q10有什么好处| 偏印代表什么| 粉底和气垫的区别是什么| 戏耍的近义词是什么| 三聚磷酸钠是什么| 白电油对人体有什么危害| 脂肪肝有什么危害| 锦鲤跳缸是什么原因| 怎么查自己五行缺什么| 黄牛票是什么意思| timing什么意思| 勒索是什么意思| 空调数显是什么意思| 面瘫挂什么科| 中国最厉害的武器是什么| 斯密达什么意思| vivo是什么牌子| 吃葱有什么好处和坏处| 血常规可以查出什么病| 生牛乳是什么意思| 明天属什么生肖| 下身有异味用什么药| 脾胃伏火是什么意思| 宫颈萎缩意味着什么| 向日葵代表什么| 南笙是什么意思| 血小板低吃什么补的快| 一什么阳光| 什么是菊粉| 看输卵管是否堵塞做什么检查| 去港澳旅游需要什么证件| 什么是生育津贴| 撮鸟是什么意思| 脚心痛什么原因| 身上长小红点是什么原因| 痰多是什么原因| 幼儿急疹为什么不能碰水| 喉咙扁桃体发炎吃什么药| 秦王属什么生肖| 外阴是指什么部位| 什么病会通过唾液传播| 眉毛里面长痘痘是什么原因| 火葬场是什么生肖| 梦见孕妇大肚子是什么意思| 什么情况下才做冠脉cta| 糖尿病吃什么食物| 2月24日是什么星座| 吃什么增强抵抗力| 部级是什么级别| 不放屁吃什么药能通气| 阿普唑仑片是什么药| 李商隐号什么| 毛囊炎用什么药膏好| 内分泌失调是什么症状| 2.10是什么星座| 旭五行属什么| 玄学是什么意思| 一般什么时候排卵| 硬膜囊受压是什么意思| 米醋和白醋有什么区别| 比重是什么| 在什么之前的英文| 牙龈长泡是什么原因| 质子是什么意思| 为什么会长汗疱疹| 假唱是什么意思| 排卵期一般在什么时候| 帕金森是什么原因引起的| 肾结石少吃什么食物| 男人吃逍遥丸治什么病| 第一次见女方家长带什么礼物好| 什么家庭养出自私冷漠| coa什么意思| 白虎女是什么意思| 轻微手足口病吃什么药| 肝肾阴虚吃什么中成药| 什么是假性近视眼| 白天咳嗽晚上不咳嗽是什么原因| 公务员是什么编制| 在什么的前面用英语怎么说| 智齿发炎吃什么药| 梦见自己相亲是什么意思| 打饱嗝是什么原因| 世界大战是什么意思| 附件炎是什么| 生理期量少是什么原因| 血压偏高吃什么药| 宝宝肌张力高会有什么影响| 领域是什么意思| 梦见打别人是什么意思| 偶尔胸闷是什么原因| 入赘是什么意思| 螺旋幽门杆菌吃什么药治疗好| 男性尿道炎是什么原因引起的| ca125高是什么原因| 浩浩荡荡是什么意思| 查心脏挂什么科| 慢性阑尾炎吃什么消炎药| 海马萎缩是什么情况| 葡萄糖氯化钠注射作用是什么| 四季更迭是什么意思| 腋毛脱落是什么原因| 龙葵是什么| 梦到自己牙齿掉了是什么意思| 腰间盘突出压迫神经什么症状| 游走是什么意思| dm是什么| 羊水多是什么原因造成的| 菊花可以和什么一起泡水喝| 香港的海是什么海| 动态心电图能检查出什么病| 黄发指什么| 饧是什么意思| 口中发甜是什么原因| 9月18日是什么日子| 手指甲上有竖纹是什么原因| 陕西为什么叫三秦大地| 男人额头凹陷预示什么| 呼吸胸口疼是什么原因| 医院介入科是干什么的| 儿童头疼挂什么科| 孕妇羊水少吃什么补的快| 痛经 吃什么| 子宫附件包括什么| 什么应外合| 呼吸机vt代表什么| 胃间质瘤为什么不建议切除| 虎配什么生肖最好| 婴儿半夜哭闹是什么原因| 为什么全身酸痛| 纳豆是什么东西| 王爷的儿子叫什么| 资生堂适合什么年龄段| 知青是什么| 心电图窦性心律不齐是什么意思| fpu是什么意思| 胎儿头围偏大什么原因| eo什么意思| 理工男是什么意思啊| 特异性是什么意思| 亭亭净植是什么意思| 血糖高适合吃什么零食| 耳朵疼痛吃什么药| 属兔五行属什么| 枸杞什么季节成熟| 恋童癖是什么意思| 昀字五行属什么| 随餐服用什么意思| 口干口苦口臭吃什么药| 眼睛大小不一样是什么原因| 武警是干什么的| 吃什么药可以延长射精| 46岁属什么| 感染幽门螺旋杆菌吃什么药| 抵触是什么意思| 小鸟进屋有什么预兆吗| 女人吃什么能活血化瘀| 平菇不能和什么一起吃| siri是什么| 地委书记是什么级别| 姑姑的弟弟叫什么| 赤者念什么| 外阴痒是什么原因| 见人说人话见鬼说鬼话是什么意思| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 嵌入式开发 ? MCU ? 实时操作系统uCOS-Ⅱ在196KC上的移植[下载]

共3条 1/1 1 跳转至

实时操作系统uCOS-Ⅱ在196KC上的移植[下载]

工程师
2025-08-05 23:40:55     打赏
[upload=doc]uploadImages/200321715394347027.doc[/upload] 实时操作系统uC/OS-Ⅱ在196KC上的移植 作 者:西安交通大学电器教研室 王巍 南京因泰莱电器股份有限公司 刘唯 摘 要: 主要讨论了ucos在196KC单片机上的移植,编译器为Tasking c,并给出了一个实例,经实测与理论分析一致,说明移植成功。 关键词: 196KC ucos Tasking c 移植 Abstact: This paper discusses porting ucos RTOS to 196KC chip by using Tasking c compiler,and also gives the instance which is proved successful through practice. Keywords: 196KC ucos Tasking c porting 引 言 INTEL的80196KC系列单片机在国内有很大一批用户,且已有很长一段历史。支持196KC的c编译器生产厂商主要有Tasking和IAR。但国内使用Tasking公司的C编译器用户较多。ucos为源码公开的实时操作系统。在嵌入式系统中采用实时操作系统已成为当前嵌入式系统开发的主要方法。在ucos网站上没有现成的移植案例。有必要进行一次移植。操作系统为ucos,处理器为80196KC,编译器为Tasking c 196. 1 ucos的工作原理 ucos是一个源码公开的实时多任务操作系统,其主要工作流程如图1示。其任务切换的核心是利用出栈指令将各个任务的工作现场再现,并利用子程序返回指令改变PC指针完成任务的切换。移植的关键就是如何构造任务堆栈及任务切换时的出栈顺序。任务区堆栈初始化主要是模拟任务被中断后的堆栈内容。在这个流程中我们可以看到我们要编写的几个子程序的工作位置。 图 1 2 196KC的工作状态表示方法 196KC是INTEL的16位单片机,和程序运行密切相关的寄存器有指令计数器PC、堆栈指针sp、程序状态寄存器PSW,中断屏蔽寄存器INTMASK和INTMASK1,窗口寄存器WSR(以下将程序状态寄存器PSW,中断屏蔽寄存器INTMASK和INTMASK1,窗口寄存器WSR统称为程序状态字)。执行子程序调用call指令时自动将pc进栈,子程序返回调用RET指令时自动将pc出栈。由于196KC有16位的寻址能力,故这一动作有2个字节进(出)栈。pusha指令将程序状态字进栈,popa指令将程序状态字出栈,这一动作共有4个字节进(出)栈。另外pusha动作会将PSW中的中断允许位清零,故我们用pusha关闭中断,用popa将用来恢复中断允许。时钟节拍是一个特定的周期性中断,在每个时钟节拍到来时对任务延时做一次裁决。在此时钟节拍我们采用196KC中的软件定时器中断。 3 Tasking c编译器的工作细节 带参数的函数调用编译后主要操作是先将参数进栈,然后执行call指令。在函数入口处将堆栈中的参数倒入寄存器tmp0,tmp2,tmp4和tmp6进行操作(以下称临时寄存器),这主要是堆栈一般在RAM区,对RAM区操作不如对寄存器操作快。如果该函数有局部变量,局部变量也是分配在堆栈中。Tasking c编译器用一寄存器?frame01(以下称框架寄存器)对局部变量进行访问,这也是为了提高程序运行效率。函数返回时执行ret操作,并对SP指针进行调整,跳过函数的参数在堆栈中的位置。中断调用和函数调用类似,中断本身虽没有参数,但进中断后也要对临时寄存器进行保护。另外进中断后执行pusha操作。中断返回时临时寄存器出栈(注意出栈顺序),再执行popa和ret操作。图2所示为堆栈区结构。 图 2 4 移植的细节 在OSTaskStkInit()中任务堆栈区的构造。196KC的堆栈区由高向低增长,首先高处是任务的入口参数,接着是PC指针,程序状态字,如前述,任务切换时要对临时寄存器和框架寄存器进行保护。明确了任务堆栈的构造后,编写任务启动函数(指OSStaart函数)和任务切换函数(指OS_TAASK_SW和OSIntCtxSw函数)的关键就是,当得到了最高优先级的任务堆栈指针后,如何按正确的顺序出栈,直到PC指针。其中OS_TASK_SW()函数在切换任务之前还要编写对当前任务的现场进行保护程序,而OSIntCtxSw()不用,因为我们的中断函数用C写成,OSIntCtxSw()是在中断中调用的,Tasking C编译器在进中断时已自动对其保护。但同时还应注意,在中断服务程序中我们没有定义局部变量,故Tasking C编译器没有对框架寄存器进行保护,对这一寄存器的保护我们自己加上。 #pragma interrupt (OSTickISR=OS_TICK_ISR_VECTOR) void OSTickISR(void) { asm push ?frame01; OSIntNesting++; hso_command=0x19; AD_Timer_Count+=5000; hso_time = AD_Timer_Count; OSTimeTick(); OSIntExit(); asm pop ?frame01; } 在此还应提醒一下,在其它中断服务程序中如果没有定义局部变量,也应加上对框架寄存器的保护。如果有局部变量,编译器会自动对框架寄存器保护。 在编写OSIntCtxSw()函数时应当注意,由于OSIntCtxSw()是在OSIntExit()中调用的,在调用OSIntCtxSw()之前又有一个关中断的操作。如前述,我们采用pusha的方式关中断,也就是说如果切换另一高优先级的任务后会在当前任务中留下在OSIntCtxSw()和OSIntExit()调用的返回地址4个字节的垃圾和pusha关中断时进栈的4个字节垃圾,共8个字节,为保证下次切换到该任务的正确性,要将SP指针加8,然后再进行任务切换。为加深对此的理解,我们做一假设,如果196KC是24位(3个字节)寻址能力,在当前任务中会留下OSIntCtxSw()和OSIntExit()调用的返回地址6个字节的垃圾,如果关中断直接采用asm di方式,而不牵扯到堆栈操作,此时SP要调整6个字节而不是8个字节。 5 正确性检验 设计一点灯程序。其6个灯,每一个点灯操作用一个单独任务。任务流程如图3示。第一个灯每两个时钟节拍做一次异或操作。如果LED1每执行2次异或操作向任务2发一信号量2,每执行3次异或操作向任务3发一信号量3,每执行4次异或操作向任务4发一信号量4,每执行5次异或操作向任务5发一信号量5,每执行6次异或操作向任务6发一信号量6。任务2到任务6接到相应的信号量时对自已控制的灯进行一次异或操作。理论分析,LED2到LED6的波形周期为LED1的2到6 倍。用示波器对6 个灯的波形进行观察,与分析相符合,连续运行n 天没有发现down 机和复位,证明移植成功。 图 3 参考文献 1 Labrosse Jean J.MicroC/OS-ⅡThe Real-Time Kernel. 2 邵贝贝译. uC/OS-Ⅱ-源码公开的实时嵌入式操作系统. 北京: 中国电力出版社, 2001



关键词: 实时     操作系统     uCOS-     196KC     移植     下载    

菜鸟
2025-08-05 20:39:00     打赏
2楼
帖子开始处有附件文档下载

菜鸟
2025-08-05 03:07:00     打赏
3楼
都有关

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
化合物是什么 猪属什么五行 平反是什么意思 站桩对身体有什么好处和功效 牙齿突然出血是什么原因
est.是什么意思 胀气是什么原因引起的 懒趴是什么意思 胎盘位置低有什么危险 霾是什么意思
拔罐什么时候拔最好 脸上出油多是什么原因 耳鸣用什么药治疗效果最好 猪八戒的武器叫什么 突然手发抖是什么原因
579是什么意思 血压低是什么原因造成的 被紫外线灯照到有什么后果呀 贺涵为什么会爱上罗子君 cpa是什么意思
为什么近视hcv9jop2ns1r.cn 什么是一体机hcv8jop7ns9r.cn 5月31日是什么星座hcv9jop0ns0r.cn 发低烧有什么症状bjcbxg.com 血糖高有什么反应hcv9jop4ns6r.cn
手肿是什么原因引起的hcv8jop9ns5r.cn 公共关系是什么意思hcv8jop5ns8r.cn 水可以做什么hcv9jop0ns2r.cn 天空为什么会下雨hcv8jop3ns2r.cn 什么叫石女hcv8jop6ns8r.cn
3ph是什么意思hcv8jop0ns7r.cn 一直以来是什么意思hcv8jop2ns7r.cn 腿麻木是什么原因引起的hcv9jop1ns8r.cn 尿毒症前兆是什么症状表现helloaicloud.com 96年属什么的hcv8jop1ns0r.cn
孩子呕吐是什么原因hcv9jop7ns2r.cn 膝盖积水是什么原因造成的hcv9jop6ns5r.cn 东坡肉属于什么菜系hcv9jop1ns1r.cn 肾囊肿有什么症状表现hcv7jop9ns2r.cn 口腔医学学什么cj623037.com
百度