微波EDA网,见证研发工程师的成长! 2025婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌熺紒銏犳灍闁稿骸顦…鍧楁嚋闂堟稑顫岀紓浣哄珡閸パ咁啇闁诲孩绋掕摫閻忓浚鍘奸湁婵犲﹤鎳庢禍鎯庨崶褝韬┑鈥崇埣瀹曠喖顢橀悙宸€撮梻鍌欑閹诧繝鎮烽妷褎宕叉慨妞诲亾鐎殿喖顭烽弫鎰緞婵犲嫷鍚呴梻浣瑰缁诲倸螞椤撶倣娑㈠礋椤撶姷锛滈梺缁樺姦閸撴瑩宕濋妶鍡欑缁绢參顥撶弧鈧悗娈垮枛椤兘骞冮姀銈呭窛濠电姴瀚倴闂傚倷绀侀幉锟犲箰閸℃稑宸濇い鏃傜摂閸熷懐绱撻崒姘偓鎼佸磹閻戣姤鍤勯柤鎼佹涧閸ㄦ梹銇勯幘鍗炵仼闁搞劌鍊块弻娑㈩敃閿濆棛顦ラ梺钘夊暟閸犳牠寮婚弴鐔虹闁绘劦鍓氶悵鏇㈡⒑缁嬫鍎忔俊顐g箞瀵鈽夊顐e媰闂佸憡鎸嗛埀顒€危閸繍娓婚柕鍫濇嚇閻涙粓鏌熼崙銈嗗04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鎯у⒔閹虫捇鈥旈崘顏佸亾閿濆簼绨奸柟鐧哥秮閺岋綁顢橀悙鎼闂侀潧妫欑敮鎺楋綖濠靛鏅查柛娑卞墮椤ユ艾鈹戞幊閸婃鎱ㄩ悜钘夌;闁绘劗鍎ら崑瀣煟濡崵婀介柍褜鍏涚欢姘嚕閹绢喖顫呴柍鈺佸暞閻濇洟姊绘担钘壭撻柨姘亜閿旇鏋ょ紒杈ㄦ瀵挳濮€閳锯偓閹风粯绻涙潏鍓хК婵炲拑绲块弫顔尖槈閵忥紕鍘遍梺鍝勫暊閸嬫挻绻涢懠顒€鏋涢柣娑卞櫍瀵粙顢樿閺呮繈姊洪棃娑氬婵炶绲跨划顓熷緞婵犲孩瀵岄梺闈涚墕濡稒鏅堕柆宥嗙厱閻庯綆鍓欐禒閬嶆煙椤曞棛绡€濠碉紕鍏橀崺锟犲磼濠婂啫绠洪梻鍌欑閹碱偄煤閵娾晛纾绘繛鎴欏灩閻掑灚銇勯幒鍡椾壕濠电姭鍋撻梺顒€绉撮悞鍨亜閹哄秷鍏岄柛鐔哥叀閺岀喖宕欓妶鍡楊伓05闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鎯у⒔閹虫捇鈥旈崘顏佸亾閿濆簼绨奸柟鐧哥秮閺岋綁顢橀悙鎼闂侀潧妫欑敮鎺楋綖濠靛鏅查柛娑卞墮椤ユ艾鈹戞幊閸婃鎱ㄩ悜钘夌;闁绘劗鍎ら崑瀣煟濡崵婀介柍褜鍏涚欢姘嚕閹绢喖顫呴柍鈺佸暞閻濇牠姊绘笟鈧埀顒傚仜閼活垱鏅堕幍顔剧<妞ゆ洖妫涢崚浼存懚閺嶎灐褰掓晲閸噥浠╁銈嗘⒐濞茬喎顫忓ú顏呭仭闁规鍠楅幉濂告⒑閼姐倕鏋傞柛搴f暬楠炲啫顫滈埀顒勫春閿熺姴绀冩い蹇撴4缁辨煡姊绘担铏瑰笡闁荤喆鍨藉畷鎴﹀箻缂佹ḿ鍘遍梺闈浨归崕鎶藉春閿濆洠鍋撳▓鍨灈妞ゎ參鏀辨穱濠囧箹娴e摜鍘搁梺绋挎湰閻喚鑺辨禒瀣拻濞达絽鎳欒ぐ鎺戝珘妞ゆ帒鍊婚惌娆撴煙鏉堟儳鐦滈柡浣稿€块弻銊╂偆閸屾稑顏� 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鎯у⒔閹虫捇鈥旈崘顏佸亾閿濆簼绨奸柟鐧哥秮閺岋綁顢橀悙鎼闂侀潧妫欑敮鎺楋綖濠靛鏅查柛娑卞墮椤ユ艾鈹戞幊閸婃鎱ㄩ悜钘夌;闁绘劗鍎ら崑瀣煟濡崵婀介柍褜鍏涚欢姘嚕閹绢喖顫呴柣妯荤垹閸ャ劎鍘遍柣蹇曞仜婢т粙鎮¢姘肩唵閻熸瑥瀚粈鈧梺瀹狀潐閸ㄥ潡銆佸▎鎴犵<闁规儳澧庣粣妤呮⒒娴e憡鍟炴い顓炴瀹曟﹢鏁愰崱娆屽亾濞差亝鍊垫鐐茬仢閸旀碍绻涢懠顒€鈻堢€规洘鍨块獮姗€鎳滈棃娑欑€梻浣告啞濞诧箓宕滃☉銏℃櫖婵炴垯鍨洪埛鎴︽煕濞戞ǚ鐪嬫繛鍫熸礀閳规垿鎮欑拠褑鍚梺璇″枙閸楁娊銆佸璺虹劦妞ゆ巻鍋撻柣锝囧厴瀹曞ジ寮撮妸锔芥珜濠电姰鍨煎▔娑㈩敄閸℃せ鏋嶉悘鐐缎掗弨浠嬫煟濡櫣浠涢柡鍡忔櫅閳规垿顢欓懞銉ュ攭濡ょ姷鍋涢敃銉ヮ嚗閸曨垰绠涙い鎺戝亰缁遍亶姊绘担绛嬫綈鐎规洘锕㈤、姘愁樄闁哄被鍔戞俊鍫曞幢閺囩姷鐣鹃梻渚€娼ч悧鍡欌偓姘煎灦瀹曟鐣濋崟顒傚幈濠电偛妫楃换鎴λ夐姀鈩冨弿濠电姴鎳忛鐘电磼鏉堛劌绗掗摶锝夋煠婵劕鈧倕危椤掑嫭鈷掑ù锝呮嚈瑜版帗鏅濋柕鍫濇嫅閼板潡姊洪鈧粔鎾倿閸偁浜滈柟鍝勭Х閸忓矂鏌涢悢鍝ュ弨闁哄瞼鍠栧畷娆撳Χ閸℃浼�闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚敐澶婄闁挎繂鎲涢幘缁樼厱闁靛牆鎳庨顓㈡煛鐏炶鈧繂鐣烽锕€唯闁挎棁濮ら惁搴♀攽閻愬樊鍤熷┑顔炬暬閹虫繃銈i崘銊у幋闂佺懓顕崑娑氱不閻樼粯鈷戠紒瀣皡閺€缁樸亜閵娿儲顥㈡鐐茬墦婵℃瓕顦柛瀣崌濡啫鈽夊▎蹇旀畼闁诲氦顫夊ú鏍ь嚕閸洖绠為柕濞垮労濞撳鎮归崶顏勭处濠㈣娲熷缁樻媴閾忕懓绗℃繛鎾寸椤ㄥ﹤鐣烽弶搴撴婵ê褰夌粭澶娾攽閻愭潙鐏﹂懣銈嗕繆閹绘帞澧涚紒缁樼洴瀹曞崬螣閸濆嫷娼旀俊鐐€曠换鎺楀窗閺嵮屾綎缂備焦蓱婵挳鏌ら幁鎺戝姢闁靛棗锕娲閳哄啰肖缂備胶濮甸幑鍥偘椤旇法鐤€婵炴垶鐟﹀▍銏ゆ⒑鐠恒劌娅愰柟鍑ゆ嫹
首页 > 硬件设计 > 嵌入式设计 > uC/OS-II在MSP430单片机芯片上实现RTOS的问题分析

uC/OS-II在MSP430单片机芯片上实现RTOS的问题分析

时间:09-19 来源:互联网 点击:

 单片机作为嵌入式信息产品的一个重要应用方面,其使用、设计面临着全新的挑战。一方面,人们对嵌入式产品的要求越来越高,稳定可靠、功能丰富、物美价廉的信息产品将成为人们的首选。另一方面,随着微电子工艺水平的发展,单片机处理器的能力不断提高,从最初的8位单片机到16位,进而32位单片机,功能越来越强大,执行速度越来越快,集成度、精确度也越来越高,应用领域进一步拓宽。可以说,单片机芯片的性能已经能够满足现代人们对嵌入式信息产品的更高要求。为了能将二者有效地结合起来,嵌入式RTOS的软件设计方法也取代了以前的前后台(超循环)设计方法,越来越受到重视和应用。

正如分时操作系统中Linux的出现打破了Windows一统天下的局面一样,由美国Jean J.Labrosse先生设计和编写的uC/OS-II(Micro C OS 2)的出现也给国内的RTOS应用者带来了惊喜。uC/OS-II的最大优点与Linux相同,即其源代码全部公开,使人们在应用它的同时能清楚地了解内部的实现细节,并且能够根据自己的需求进行移植和修改。特别重要的是uC/OS-II经过8年的发展,已经成功地在多个行业得到应用,保证了实用性和可靠性。它的出现改变了以前人们在使用RTOS时的态度,减少了经济上的顾虑,对于国内RTOS的研究、推广、应用将起到重要的推动作用。uC/OS-II采用微内核设计,使用C语言编写,追求灵活性,可配置、可裁剪、可扩充、移植性强。需要强调的是 uC/OS-II严格采用优先级抢占式调度方案。在创建任务时,根据任务的重要性给每个任务分配不同的优先级。任务调度时,先执行高优先级的任务,然后按照优先级由高到低执行任务。如果在某个任务执行中,激发了一个优先级更高的任务,那么在该任务执行结束后,将由任务调度器调度去执行所激发的高优先级任务,而不是顺序执行。

下面就uC/OS-II在TI公司生产的MSP430F148芯片上的移植和应用来探讨在单片机上实现RTOS可能遇到的一些问题。

1 MSP430系列单片机简介

MSP430系列单片机是由TI公司开发的16位单片机。其突出特点是超低功耗,非常适合于各种功率要求低的场合。有多个系列和型号,分别由一些基本功能模块按不同的应用目标组合而成。典型应用是流量计、智能仪表、医疗设备和保安系统等方面。由于其较高的性能价格比,应用已日趋广泛。

MSP430F148是TI新近推出的MSP430F14x/13x系列单片机中的一款。相对MSP430系列的其它芯片,主要特点如下:

超低功耗。由于内置了功耗极低的快速闪存,因此,MSP430F14x/13x系列在待机模式下所消耗的电能还少于电池未使用时的自然损耗。在正常的工作状态下,如果工作电压为2.2 V,其典型消耗电流仅为250uA/MIPS,而待机模式下工作电流降至仅1uA以下。

执行速度快。MSP430F13x/14x系列的工作电压范围为1.8~3.6 V,性能可达8 MIPS。

存储容量大。MSP430F148片内内置了48 KB Flash ROM和2 KB RAM。RAM空间是MSP430系列中最大的,基本符合运行RTOS的需要。

高性能A/D。包含了1个具有8个外部通道的12位高性能A/D转换器。利用芯片内置的自动扫描功能,A/D转换器可以不需要中央处理器的协助而独立工作。

集成度高。该器件还包括1个独立的看门狗、2个脉宽调制定时器(PWM)、1个比较器、2个USART口以及48个输入/输出引脚等部件。

在线支持强。MSP430F13x/14x系列均可由MSP-FET430P140闪速仿真工具(FET)提供支持。该FET是一种完整的集成开发环境,包括源代码级调试器、仿真器、汇编/连接器、C编译器、2种评估芯片、目标板、JTAG接口以及编程单元等。

由以上介绍可以看出,MSP430F148属于一种中低端的单片机,只具备运行RTOS的基本条件,所以在它上面运行RTOS所遇见的一些问题,对于一般的单片机而言是具有代表性的。

2 中断堆栈的结构设计

在uC/OS-II中,任务切换分为任务级切换和中断级切换。其中任务级切换是通过发软中断指令或依靠处理器执行陷阱指令来完成的。软中断指令会强制将一些处理器寄存器保存到当前任务的堆栈中,并执行任务调度。其目的是使处于就绪态的任务的堆栈结构看起来就像刚发生过中断并将全部寄存器保存在堆栈的情形一样。如MCS-5l以及x86芯片都有类似的指令,但问题出在有一些单片机芯片中没有软中断指令,并且在发生中断时保存寄存器的情况根据单片机芯片和所使用的编译器的不同而有很大区别。

MSP430F148中就没有软中断指令,所使用的IAR编译器在发生中断时也不保存所有的寄存器,而是只保存几个在中断中使用到的寄存器。所有这些都是不符合uC/OS-II的移植条件的。我们的解决方法是根据具体情况来自己定义一个中断结

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top