Assignment title: Information


6CC002 Systems Engineering Technologies Mini-Project3 (RTOS) STUDENT NAME: STUDENT NUMBER: The demo deadline is 21th/Jan/2016. The report submission deadline for mini-Project is 19th/Jan/2016. Each member contribution to the project should be clearly identified in the report. The group mark will be moderated for each individual on the basis of contribution about each individual. 1. Objective The objective of this lab is to learn how to write simple applications using RTX (ARM Keil's real time operating system, RTOS). These simple examples involve flashing LEDs, counting, and displaying on the board's LCD display. 2. Project Task Create a new uVision project and write a program. You should not use RTX at all but your program should achieve the same behavior as RTX_Blinky example. Develop your program using only the programming techniques that we used earlier in this course. This exercise is to outline the differences between RTX and Super-Loop embedded programming approaches. 3. RTOS Simple embedded systems typically don't have operation system where the application executes each function in a fixed order. Interrupt Service Routines (ISR) are used for time-critical program portions. This approach is well suited for small systems but has limitations for more complex applications. These limitations include the following disadvantages: Time-critical operations must be processed within interrupts (ISR) o ISR functions become complex and require long execution times o ISR nesting may create unpredictable execution time and stack requirements Data exchange between application and ISR is via global shared variables o If a system requires several different cycle times, it is hard to implement o Split of time-consuming functions that exceed Super-Loop cycle o Creates software overhead and application program is hard to understand Super-Loop applications become complex and therefore hard to extend o A simple change may have unpredictable side effects; such side effects are time consuming to analyze. These disadvantages of those problems are solved by using a Real-Time Operating System (RTOS). A RTOS separates the program functions into self-contained tasks and implements an on-demand scheduling of their execution. An advanced RTOS, such as the Keil RTX, delivers many benefits including: • Task scheduling - tasks are called when needed ensuring better program flow and event response • Multitasking - task scheduling gives the illusion of executing a number of tasks simultaneously • Deterministic behavior - events and interrupts are handled within a defined time • Shorter ISRs - enables more deterministic interrupt behavior • Inter-task communication - manages the sharing of data, memory, and hardware resources among multiple tasks • Defined stack usage - each task is allocated a defined stack space, enabling predictable memory usage • System management - allows you to focus on application development rather than resource management (housekeeping) 4. Report Writing Please refer to document MiniProject1 (USB).