《外文翻译ucos-iii-the-real-time-kernel正文终稿.doc》由会员分享,可在线阅读,更多相关《外文翻译ucos-iii-the-real-time-kernel正文终稿.doc(32页珍藏版)》请在金锄头文库上搜索。
1、大连理工大学城市学院本科生毕业设计(翻译)大连理工大学城市学院 本科生毕业设计(翻译) 学 院:电子与自动化学院专 业: 自动化 学 生: 指导教师: 王 颖 完成日期: 2015年3月2日 30大连理工大学城市学院本科生毕业设计(翻译)uC/OS-III The Real-Time Kernel总计 毕业设计(翻译) 28 页 表格 1 个 插图 4 幅PrefaceWHAT IS uC/OS-III? uC/OS-III (pronounced “Micro C O S Three) is a scalable, ROMable, preemptive real-time kernel t
2、hat manages an unlimited number of tasks. uC/OS-III is a third-generation kernel and offers all of the services expected from a modern real-time kernel, such as resource management, synchronization, inter-task communications, and more. However, uC/OS-III offers many unique features not found in othe
3、r real-time kernels, such as the ability to complete performance measurements at run-time, to directly signal or send messages to tasks, achieve pending on multiple kernel objects, and more. WHY A NEW uC/OS VERSION? The uC/OS series, first introduced in 1992, has undergone a number of changes over t
4、he years based on feedback from thousands of people using and deploying its evolving versions. uC/OS-III is the sum of this feedback and experience. Rarely used uC/OS-II features were eliminated and newer, more efficient features and services, were added. Probably the most common request was to add
5、round robin scheduling, which was not possible for uC/OS-II, but is now a feature of uC/OS-III.uC/OS-III also provides additional features that better exploit the capabilities of todays newer processors. Specifically, uC/OS-III was designed with 32-bit processors in mind, although it certainly works
6、 well with 16- and even several 8-bit processors. uC/OS-III GOALS The main goal of uC/OS-III is to provide a best-in-class real-time kernel that literally shaves months of development time from an embedded-product schedule. Using a commercial real-time kernel such as uC/OS-III provides a solid found
7、ation and framework to the design engineer dealing with the growing complexity of embedded designs. Another goal for uC/OS-III, and therefore this book, is to explain inner workings of a commercial-grade kernel. This understanding will assist the reader in making logical design decisions and informe
8、d tradeoffs between hardware and software that make sense.Chapter 1 IntroductionReal-time systems are systems whereby the correctness of the computed values and their timeliness are at the forefront. There are two types of real-time systems, hard and soft real time. What differentiates hard and soft
9、 real-time systems is their tolerance to missing deadlines and the consequences associated with those misses. Correctly computed values after a deadline has passed are often useless. For hard real-time systems, missing deadlines is not an option. In fact, in many cases, missing a deadline often resu
10、lts in catastrophe, which may involve human lives. For soft real-time systems, however, missing deadlines is generally not as critical. Real-time applications cover a wide range, but many real-time systems are embedded. An embedded system is a computer built into a system and not acknowledged by the
11、 user as being a computer. Embedded systems are also typically dedicated systems. In other words, systems that are designed to perform a dedicated function. The following list shows just a few examples of embedded systems: Aerospace Flight management systems Jet engine controls Weapons systemsAudio
12、MP3 players Amplifiers and tunersAutomotive Antilock braking systems Climate control Engine controls Navigation systems (GPS)Communications Routers Switches Cell phonesComputer peripherals Printers ScannersDomestic Air conditioning units Thermostats White goodsOffice automation FAX machines / copier
13、sProcess control Chemical plants Factory automation Food processingRobotsVideo Broadcasting equipment HD TelevisionsAnd many moreReal-time systems are typically more complicated to design, debug, and deploy than non-real-time systems.1-1 FOREGROUND/BACKGROUND SYSTEMSSmall systems of low complexity a
14、re typically designed as foreground / background systems or super-loops. An application consists of an infinite loop (F1-1(1) that calls modules (i.e., tasks) to perform the desired operations (background). Interrupt Service Routines (ISRs) shown in F1-1(3) handle asynchronous events (foreground). F
15、oreground is also called interrupt level; background is called task level. Critical operations that should be performed at the task level must unfortunately be handled by the ISRs to ensure that they are dealt with in a timely fashion. This causes ISRs to take longer than they should. Also, information for a background module that an ISR makes available is not processed until the background routine gets its turn to execute, which is called the task