æºç¢¼å…¬é–‹çš„嵌入å¼ç³»çµ±è»Ÿä»¶è³‡æº
時間:2007-03-23 14:37:00來æºï¼šlijuan
導語:?而隨著æ“作系統走å‘開放,越來越多的帶æºä»£ç¢¼çš„自由軟件得到了廣泛的èªå¯èˆ‡æ‡‰ç”¨ï¼Œå…¶ä¸æœ€è‘—å的是Linux
é•·æœŸä»¥ä¾†ï¼Œåƒ¹æ ¼å› ç´ é™åˆ¶äº†RTOSåœ¨æˆ‘åœ‹åµŒå…¥å¼æ‡‰ç”¨ç”¢å“開發ä¸çš„æŽ¨å»£èˆ‡æ™®åŠã€‚而隨著æ“作系統走å‘開放,越來越多的帶æºä»£ç¢¼çš„自由軟件得到了廣泛的èªå¯èˆ‡æ‡‰ç”¨ï¼Œå…¶ä¸æœ€è‘—å的是Linux。 Linux 䏿˜¯å¯¦æ™‚的,于是出ç¾äº†RTLinux, (詳見 www.fsmlabs.com ) RTLinux æ˜¯å¯¦æ™‚çš„ï¼Œä½†ä¸æ˜¯ç‚ºåµŒå…¥å¼æ‡‰ç”¨è¨è¨ˆçš„。Linux ä¹Ÿä¸æ˜¯ç‚ºåµŒå…¥å¼æ‡‰ç”¨è¨è¨ˆçš„,于是出ç¾äº†åµŒå…¥å¼Linux, 如uCLinux, (詳見 www.uclinux.org ), uCLinux 在Linux基礎上åšäº†ç°¡åŒ–,去掉了多用戶åŠè™›æ“¬å…§å˜ç®¡ç†ç‰ï¼Œé©ç”¨äºŽåµŒå…¥å¼æ‡‰ç”¨é¡žCPUï¼Œå…§æ ¸è¼ƒLinux å°äº†å¾ˆå¤šï¼Œä½†ä»æœ‰500kb之大。uCLiunxæ˜¯ç‚ºåµŒå…¥å¼æ‡‰ç”¨è¨è¨ˆçš„ï¼Œä½†ä¸æ˜¯å¯¦æ™‚的。å¦ä¸€å€‹è‘—åçš„RTOS自由軟件是RTEMS (Real-Time Executive for Missile Systems) 最åˆç”¨äºŽç¾Žåœ‹çš„導彈系統,(詳見 www.oarcorp.com/RTEMS )OARCorp çš„å«ç¾©æ˜¯On-Line Applications Research Corporation , TREMS是實時的,最åˆå¹¶ä¸æ˜¯ç‚ºåµŒå…¥å¼æ‡‰ç”¨è¨è¨ˆçš„,是為多處ç†å™¨æ‡‰ç”¨è¨è¨ˆçš„, C語言版本æ„為實時多處ç†ç³»çµ±ï¼ŒReal-Time Executive for Multiprocessor Systems (C Version),其ada語言版本åŽä¾†æ“´å±•åˆ°è»æ–¹å…¶ä»–æ‡‰ç”¨ï¼Œå—æ¯Mçš„å«ç¾©ç”±å°Žå½ˆMissile 變為è»äº‹Military (ada Version) 。 RTEMS å¯ä»¥ç”¨äºŽåµŒå…¥å¼æ‡‰ç”¨ï¼Œä½†æ‡‰ç‚ºRTEMS總是è¦åŸºäºŽPOSIX API 標準,嵌入到片上系統難度相當大。 這類自由軟件出自于寫Unix的專家里手,功能強,性能穩定å¯é ,雖然有æºç¢¼ï¼Œä½†å› 程åºé‡å¤§ã€ç‰ˆæœ¬å¤šï¼ŒéžLinux高手難以掌æ¡ã€‚ä¸”ç›¸æ‡‰çš„å…§æ ¸è¼ƒå¤§ï¼Œæœ‰æ•¸ç™¾Kä¹‹å¤šï¼Œä¸æ˜“è£å‰ªè‡³åµŒå…¥åˆ°å–®ç‰‡æ©Ÿä¸åŽ»ï¼Œä»¥å¯¦ç¾ç‰‡ä¸Šç³»çµ±ï¼ˆSOC)。一些商æ¥è»Ÿä»¶å•†å°‡Linux æ”¹é æ›é¢åŒ…è£ä¸Šå¸‚,于是出ç¾äº†å„ç¨®å„æ¨£çš„阿貓阿狗Linux, 如blue cat Linux, Yellow dog Linux â€¦â€¦æœ‰äº›åƒ¹æ ¼é‚„ä¸ä½Žã€‚
Linuxæºç¢¼å…¬é–‹å¹¶ä¸ç¥žç§˜ï¼Œä½†ç”±äºŽä»£ç¢¼æµ©ç€šï¼Œç”¨äºŽå¸ç¿’èˆ‡ç ”ç©¶å¯¦å±¬ä¸æ˜“。而無論在嵌入å¼ç”¢å“開發ä¸ä½¿ç”¨é‚„是ä¸ä½¿ç”¨RTOS,å¸ç¿’和掌æ¡RTOS的原ç†å’Œè¨è¨ˆæ€æƒ³éƒ½è‡³é—œé‡è¦ã€‚å°ˆé–€ç‚ºåµŒå…¥å¼æ‡‰ç”¨è¨è¨ˆçš„RTOS,?C/OSå’Œ ?C/OSï¼II 則ä¸åƒ…實用而且是難得的入門教æã€‚?C/OS 是å…費軟件, 關于?C/OS的第一本書是1992年出版的,世界上數以åƒè¨ˆçš„工程技術人員已將?C/OSæˆåŠŸåœ°ç§»æ¤åˆ°äº†å¹¾ä¹Žæ‰€æœ‰çŸ¥åçš„CUP上,并應用到了å„å€‹æ‡‰ç”¨é ˜åŸŸã€‚ 由于?C/OS的商æ¥åƒ¹å€¼å¾—到了èªå¯ï¼Œ?C/OSï¼II用于教育ä»å…費,商用則è¦è¨±å¯è‰äº† 。1998年,“?C/OSï¼â…¡ The Real Time Kernelâ€ä¸€æ›¸å‡ºç‰ˆã€‚在2å¹´å‰çš„“嵌入å¼2000å¸è¡“ç ”è¨Žæœƒâ€ä¸Šï¼Œæˆ‘介紹了?C/OSå’Œ ?C/OSï¼â…¡ï¼Œå¼•起了國內人士的廣泛注視,ä¸è¯æœ¬<>于2001å¹´8æœˆå‡ºç‰ˆã€‚æˆ‘æ ¡å·²åœ¨åµŒå…¥å¼ç³»çµ±èˆ‡å–®ç‰‡æ©Ÿèª²ç¨‹ä¸ç”¨é€™æœ¬æ›¸ä½œæ•™æã€‚ä¸å°‘會è°è¦æˆ‘去講解?C/OSï¼II,一些公å¸é‚€æˆ‘去為他們的技術人員åš?C/OSï¼II的培訓,盡管用的那些CPU我并ä¸ç†Ÿæ‚‰ï¼Œå…±åŒå¸ç¿’å¹¶å°‡?C/OSï¼IIç§»æ¤åˆ°ä¸€å€‹è‡ªå·±ä¸ç†Ÿæ‚‰çš„CPU上 也是件éžå¸¸æœ‰è¶£çš„事。
?C/OSï¼â…¡æ˜¯ä¸€éƒ¨å‡ºè‰²çš„æ•™æã€‚書ä¸ä¸ä½†çµ¦å‡ºäº†ä¸€å€‹å¯¦æ™‚å…§æ ¸çš„å…¨éƒ¨æºä»£ç¢¼ï¼Œè€Œä¸”å°é€™äº›ä»£ç¢¼åšäº†è©³ç›¡çš„解釋。書ä¸é‚„å°å¯¦æ™‚æ“作系統ä¸çš„一些基本概念åšäº†è©³ç´°çš„æè¿°ã€‚æºç¨‹åºçš„å¯«ä½œé¢¨æ ¼ã€æ³¨é‡‹éƒ½ç›¸ç•¶æ¼‚亮ã€è¦èŒƒã€‚商æ¥è»Ÿä»¶ä¸åƒ…僅是貴,而å³ä½¿æœ‰äº›è»Ÿä»¶å¸¶æºä»£ç¢¼ä¸€èµ·å‡ºå”®ï¼Œä¹Ÿæ²’有哪一個解釋的如æ¤è©³ç›¡ã€‚
?C/OSå’Œ?C/OSï¼â…¡æ˜¯å°ˆé–€ç‚ºåµŒå…¥å¼æ‡‰ç”¨è¨è¨ˆçš„,絕大部分代碼是用C語言寫的。CPU硬件相關部分是用匯編語言寫的,總é‡ç´„200行。匯編語言部分被壓縮到最低é™åº¦ï¼Œç‚ºçš„æ˜¯ä¾¿äºŽç§»æ¤åˆ°ä»»ä½•一種其它的CPU上。許多移æ¤çš„范例å¯ä»¥å¾žç¶²ç«™ä¸Šå¾—到。用戶åªè¦æœ‰C交å‰ç·¨è¯å™¨ï¼Œå°±å¯ä»¥å°‡?C/OSï¼â…¡åµŒå…¥åˆ°é–‹ç™¼çš„產å“ä¸ã€‚
?C/OSå’Œ?C/OSï¼â…¡æ˜¯å å…ˆå¼ï¼ˆPreemptiveï¼‰å¤šä»»å‹™å¯¦æ™‚å…§æ ¸ï¼Œæ˜¯åŸºäºŽå„ªå…ˆç´šçš„ï¼Œå³ç¸½æ˜¯è®“進入就緒態的諸任務ä¸å„ªå…ˆç´šæœ€é«˜çš„那個任務先é‹è¡Œã€‚æ¯å€‹ä»»å‹™éƒ½æœ‰äº’ä¸ç›¸åŒçš„優先級。最多支æŒ64個任務。所有?C/OSåŠ?C/OSï¼â…¡æä¾›çš„系統æœå‹™å‡½æ•¸çš„執行時間都是å¯çŸ¥çš„。除了一個函數以外,所有函數的執行時間都與任務數目無關。都ä¸å¤§äºŽæŸä¸€ç¢ºå®šå€¼ã€‚
?C/OSå’Œ?C/OSï¼â…¡çš„å¦ä¸€ç‰¹é»žæ˜¯å¯è£å‰ªï¼Œå³åªåµŒå…¥ç”¨æˆ¶ç¨‹åºç”¨å¾—è‘—çš„é‚£äº›å‡½æ•¸ï¼Œå…§æ ¸å 用的ROM/RAM資æºï¼Œå¯ä»¥ä¾æ“šç”¢å“調整。
“?C/OSï¼â…¡ the Real Time Kernelâ€ä¸€æ›¸å’Œå…¶ç›¸æ‡‰çš„䏿–‡æœ¬ï¼Œæ›¸åŽæ‰€é™„的軟件版本是?C/OSï¼â…¡ V2.00。到2001å¹´6月,網上出售的?C/OSï¼â…¡çš„æºä»£ç¢¼æ›´æ–°åˆ°äº†2.51。今年上åŠå¹´ï¼Œâ€œ?C/OSï¼â…¡ The Real Time Kernelâ€ä¸€æ›¸çš„第2版åˆå‡ºç‰ˆäº†ï¼Œæ›¸ä¸é™„了?C/OSï¼â…¡çš„æœ€æ–°ç‰ˆæœ¬V2.52。 最新版本的?C/OSï¼â…¡å¢žåŠ äº†ä¸€äº›æœ‰ç”¨çš„æ–°åŠŸèƒ½ï¼Œå¦‚äº’æ–¥åž‹ä¿¡è™Ÿé‡ï¼Œäº‹ä»¶æ¨™å¿—ç‰ï¼Œæ–°æ›¸åœ¨è¬›è¿°?C/OSï¼â…¡æ–¹é¢å¢žåŠ äº†å¾ˆå¤šæ–°å…§å®¹ï¼Œå¦‚ä»‹ç´¹ä»»å‹™é–“çš„é€šè¨Šèˆ‡åŒæ¥ï¼Œæ–°ç‰ˆæ›¸ç”±åŽŸä¾†çš„1ç« å¢žåŠ åˆ°äº†6ç« ï¼Œç‰¹åˆ¥æ˜¯åœ¨ç§»æ¤?C/OSï¼â…¡ä¸€ç« ä¸ï¼Œä»‹ç´¹äº†ç§»æ¤åŽå¦‚何測試(詳見 www.ucos-ii.com )。有關出版社æ£åœ¨è¯ç³»è³¼è²·ç‰ˆæ¬Šçš„事,相信ä¸ä¹…的將來新版?C/OSï¼â…¡çš„ä¸è¯æœ¬å°±æœƒåœ¨åœ‹å…§èˆ‡è®€è€…見é¢ã€‚
在?C/OSå’Œ?C/OSï¼â…¡çš„å¸ç¿’與應用ä¸è½åˆ°æœ€å¤šçš„åæ˜ 是兩類å•題,一類是關于移æ¤ï¼Œå¦ä¸€é¡žæ˜¯æœ‰é—œåŸºäºŽ?C/OSï¼â…¡çš„æ‡‰ç”¨ç¨‹åºã€‚
關于移æ¤ï¼Œç¶²ä¸Šæœ‰40余種CPUç§»æ¤çš„范例,包括8ã€16ã€32乃至64ä½CPU與DSPã€‚å¾žä¾†è‡ªå„æ–¹é¢çš„åæ˜ 來看,移æ¤é›£åº¦å¹¶ä¸åœ¨äºŽ?C/OSï¼â…¡æœ¬èº«ï¼Œå•題大多是由于Cç·¨è¯å™¨ä¸åŒå¼•起的。而å°äºŽé«˜æ ¡æ£åœ¨å°±è®€çš„ç ”ç©¶ç”Ÿèªªä¾†ï¼Œå›°é›£é‚„åœ¨äºŽå¹¾ä¹Žæ‰€æœ‰å–®ç‰‡æ©Ÿç”¨çš„Cç·¨è¯å™¨éƒ½æ˜¯å•†æ¥è»Ÿä»¶ï¼Œæœ‰äº›é‚„相當貴。我們é‡åˆ°çš„å•é¡Œæ˜¯ï¼ŒæŸæ£ç‰ˆå•†æ¥è»Ÿä»¶ç”¨å¾—å¥½å¥½çš„ï¼Œå¿½ç„¶é€™å€‹å…¬å¸æ²’æœ‰äº†ï¼Œæ–°æŽ¨å‡ºçš„å–®ç‰‡æ©Ÿä¸æ”¯æŒäº†ã€‚
使用自由軟件Linux 下的 GNU gcc äº¤å‰ C ç·¨è¯å™¨ä½œç‚ºé–‹ç™¼å·¥å…·ä¾†ç·¨è¯ã€ç§»æ¤?C/OSï¼â…¡æ˜¯ä¸€å€‹ä¸éŒ¯çš„鏿“‡ã€‚å…¶æ„義決ä¸åƒ…é™äºŽç¯€çœé–‹æ”¯ï¼Œå¸ç¿’使用自由軟件的éŽç¨‹å¯¦éš›ä¹Ÿæ˜¯æ‰“é€ IT 高手的éŽç¨‹ã€‚GNU gcc 支æŒå¹¾ä¹Žæ‰€æœ‰çŸ¥å16ä½ã€32ä½CPU。
Linux ä¸‹è‡ªç”±è»Ÿä»¶å¥½ç”¨ï¼Œæœ‰å¼·å¤§çš„ç¶²ä¸ŠæŠ€è¡“æ”¯æŒæ˜¯å…¬èªçš„,GNU gcc 的使用難點ä¸åœ¨äºŽäº¤å‰ç·¨è¯å™¨æœ¬èº«ï¼Œè€Œåœ¨äºŽé–‹ç™¼ç’°å¢ƒçš„é…置。一旦系統開發環境建立起來了,會用了,從長é 看還是很值得的。基于åŒä¸€ç·¨è¯å™¨ï¼Œç§»æ¤?C/OSï¼â…¡å°‡è®Šå¾—沒有什么å¯è¨Žè«–的。
?C/OSï¼â…¡ä¸‹çš„æ‡‰ç”¨ç¨‹åºï¼Œå•得最多的是關于TCP/IP å”è°æ£§ã€‚雖然有相關商æ¥è»Ÿä»¶å¯ä»¥è²·åˆ°ï¼Œä½†å°äºŽç¢ºå®šçš„åµŒå…¥å¼æ‡‰ç”¨ï¼Œåªç”¨åˆ°CP/IP å”è°æ£§å…¶ä¸ä¸€å°éƒ¨åˆ†æ™‚,我們ä»ä¸»å¼µè‡ªå·±å¯«ã€‚Jeremy Bentham 著,“TC/PIP Lean Web Servers for Embedded System†(詳見www.cmpbooks.com) 給出了使用8ä½å–®ç‰‡æ©Ÿæ’¥è™Ÿä¸Šç¶²çš„例å。書ä¸ä»‹ç´¹äº†å¦‚何寫TCP/IP å”è°æ£§ï¼Œå¹¶é™„有C程åºï¼ˆè©²å‡ºä¸å¹¶æ²’有使用任何TROS)。åƒè€ƒé€™æœ¬æ›¸ï¼Œæˆ‘們用Motorola 8ä½ã€16ä½å’Œ32ä½å–®ç‰‡æ©Ÿå¯¦ç¾äº†é€šéŽä»¥å¤ªç¶²æŽ¥å£èŠ¯ç‰‡ç›´æŽ¥ä¸Šç¶²ã€‚ç¶²çµ¡å”è°å¯ä»¥åœ¨ www.rfc-editor.org 網站上找到。å°äºŽ8ä½å–®ç‰‡æ©Ÿ68HC08,TCP/IP éƒ¨åˆ†ç›®æ¨™ä»£ç¢¼åªæœ‰7kbå·¦å³ã€‚å°äºŽ68HC11/12ã€CPU32ã€ColdFireç‰16ã€32ä½å–®ç‰‡æ©Ÿï¼Œå¯«é€™ä¸€é¡žç¨‹åºæ™‚ä½ å°±æœƒç™¼ç¾ï¼Œåœ¨RTOS ?C/OSï¼â…¡ 支æŒä¸‹ä¾†åšé€™ä»¶äº‹æ˜¯å¤šä¹ˆèˆ’æœã€‚CPUè¦å®ŒæˆåŽŸä¾†åœ¨æŽ§åˆ¶ç³»çµ±ä¸æ‡‰è©²å®Œæˆçš„任務,åˆè¦åŒæ™‚管ç†ç¶²çµ¡çš„發é€å’ŒæŽ¥å—,沒有實時æ“作系統支æŒç°¡ç›´ä¸å¯æƒ³å‘。
RTOSæ˜¯è¨ˆç®—æ©Ÿå°ˆå®¶å€‘å¤šå¹´æ½›å¿ƒç ”ç©¶çš„æˆæžœï¼Œä½¿ç”¨RTOSä¸åƒ…å¢žåŠ äº†åµŒå…¥å¼æ‡‰ç”¨ç³»çµ±çš„å¯é 性,而且å°é—œéµäº‹ä»¶çš„處ç†åœ¨å»¶é²æ™‚間上有ä¿è‰ï¼Œå³ç³»çµ±çš„實時性å¯ä»¥é”到ç†è«–上å¯ä»¥é”到的最優值。 RTOS支æŒå¤šä»»å‹™ï¼Œæ‡‰ç”¨ç¨‹åºè¢«åˆ†è§£æˆå¤šå€‹ä»»å‹™ï¼Œç¨‹åºé–‹ç™¼è®Šå¾—æ›´åŠ å®¹æ˜“ï¼Œä¾¿äºŽç¶è·ï¼Œæ˜“讀易懂,æé«˜äº†é–‹ç™¼æ•ˆçŽ‡ï¼Œç¸®çŸäº†é–‹ç™¼å‘¨æœŸã€‚而說到使用RTOS的缺點主è¦è¡¨ç¾äºŽRTOS本身è¦å 用一定的資æºï¼Œéœ€è¦é¡å¤–çš„ROM/RAM空間來é‹è¡ŒRTOS本身。這å°äºŽä¸€äº›å…§å˜å分有é™ã€ä¸”åªèƒ½å·¥ä½œåœ¨å–®ç‰‡æ–¹å¼çš„單片機來說會å—到é™åˆ¶ã€‚無論使用還是ä¸ä½¿ç”¨RTOS,å¸ç¿’RTOSçš„åŸºæœ¬æ€æƒ³éƒ½æ˜¯å¿…è¦çš„,å³ä½¿æ‚¨è²·äº†è‘—å的商æ¥RTOS,也ä¸å¦¨å¸ç¿’ã€ç ”究一下?C/OSï¼â…¡é€™å€‹å°å…§æ ¸ï¼Œæœƒå°ç”¨å¥½é‚£å€‹å•†æ¥RTOS有幫助。
RTOS是開發嵌入å¼ç”¢å“的有力æ¦å™¨ï¼ŒRTOS的應用將推廣到å„å€‹åµŒå…¥å¼æ‡‰ç”¨çš„å„å€‹é ˜åŸŸã€‚å¸ç¿’RTOS,使用RTOS,我們全民æ—çš„å¾®è¨ˆç®—æ©ŸåµŒå…¥å¼æ‡‰ç”¨æŠ€è¡“水平將會é‚上一個新的臺階。
標簽:
ä¸åœ‹å‚³å‹•網版權與å…è²¬è²æ˜Žï¼šå‡¡æœ¬ç¶²æ³¨æ˜Ž[來æºï¼šä¸åœ‹å‚³å‹•ç¶²]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Šå‡ç‚ºä¸åœ‹å‚³å‹•ç¶²(www.siyutn.com)ç¨å®¶æ‰€æœ‰ã€‚如需轉載請與0755-82949061è¯ç³»ã€‚任何媒體ã€ç¶²ç«™æˆ–å€‹äººè½‰è¼‰ä½¿ç”¨æ™‚é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹å‚³å‹•ç¶²â€ï¼Œé•å者本網將追究其法律責任。
本網轉載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯ç¶²æˆ–æ¥å…§æŠ•稿人士,版權屬于原版權人。轉載請ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² ç‰ˆæ¬Šæ³•å¾‹è²¬ä»»ã€‚