Real-Time Operating System (RTOS) for Small (16-Bit) Microcontroller

Total Page:16

File Type:pdf, Size:1020Kb

Real-Time Operating System (RTOS) for Small (16-Bit) Microcontroller The 13th IEEE International Symposium on Consumer Electronics (ISCE2009) Real-time operating system (RTOS) for small (16-bit) microcontroller Su-Lim TAN Tran Nguyen Bao Anh School of Computer Engineering Singapore Engineering Centre Nanyang Technological University Renesas Technology Singapore Singapore Singapore Abstract —Real-time operating system (RTOS) is gaining RTOS for this range of devices [1-2], such as: increasing use not only in 32-bit systems but also in 16-bit • Optimizing software development : Even in system systems. RTOS is different from generic OS by several unique development using small microcontrollers, characteristics and the use of RTOS in embedded system development proves to be more advantageous. In this paper, 9 improving software productivity is a critical issue, RTOSes targeting smaller processors have been evaluated and due to time-to-market pressure as well as shorten four of the RTOSes have been selected for performance development cycle [3]. As the code complexity benchmarking on the same M16/62P microcontroller platform to grows, an RTOS is an efficient tool to manage the avoid bias. Based on the comparison, the µTKernel RTOS is code, and to distribute the tasks among developers. chosen for porting to the H8S/2377 16-bit microcontroller to Using an RTOS will allow the entire software to be demonstrate the ease of RTOS platform migration. The same version of µTKernel RTOS running on different platforms are partitioned into tasks taken care by individual then compared. Lastly, an application is developed with the programmers. RTOS to demonstrate the ease of multi-task application • Better and safer synchronization : In small development on such microcontroller platform. embedded system development without using any Keywords-kernel; operating system; real-time system; RTOS; RTOS, global variables are often used for RTOS benchmarking synchronization among modules/functions. However, especially in highly interrupt-driven system, using I. INTRODUCTION global variables lead to bugs and software safety Real-time embedded systems are typically designed for issues [4]. These global variables are often shared various purposes such as to control or to process data. and accessed among the functions, and there is high Characteristics of real-time system include meeting certain chance of them being corrupted any time during the deadlines at the right time. To achieve this purpose, real-time program execution. With an RTOS in place, operating system (RTOS) is often used. An RTOS is a piece synchronization is safely managed and tasks can pass of software with a set of APIs for users to develop applications. Using an RTOS does not guarantee that the messages or synchronize with each other without any system will always meet its deadlines, as it depends on how corruption problem. the overall system is designed and structured. • Resource management : Most RTOSes provide APIs for developers to manage the system resources [4]. While RTOS for embedded systems are predominantly These include task management, memory pool employed in high-end microprocessors or microcontrollers management, time management, interrupt with 32-bit central processing unit (CPU), there is an management, communication and synchronization increasing trend to provide these features in the mid-range methods. These features provide the abstraction layer (16-bit and 8-bit) processor systems. An operating system for developers to freely structure the software to (OS) is a piece of software that manages the sharing of achieve cleaner code. resources in a computer system. RTOS is often • Timing management by RTOS : With time differentiated from generic OS as it is specifically designed management functions, software designers can for scheduling to achieve real-time responses. achieve task delay, timer handling or time-triggered There are a number of variants of RTOSes available processing without resorting to understanding the nowadays; they range from commercial, proprietary, to underlying hardware mechanisms. As compared with open-source RTOSes. For small-scaled embedded systems a small system that does not use any RTOS, designed using small microcontrollers (i.e. microcontrollers achieving timing related features can be tricky, as the with typical ROM of 128Kbytes and RAM of 4Kbytes [1]), software designer needs to understand the underlying it is common perception that there is no need to have an peripherals (such as timers), how to use it, and how RTOS. However, there are significant advantages to have to link it with the top-level application code. 978-1-4244-2976-9/09/$25.00 ©2009 IEEE 1007 II. STUDY AND COMPARISON OF EXISTING RTOS ES FOR more ROM and RAM spaces. SMALL MICROCONTROLLERS • As far as documentation is concerned, some RTOSes The objective here is to investigate RTOSes available (KeilOS, PortOS and XMK) do not have details of (open-source, commercial, and research) and determine APIs available. SharcOS is based on µC-OS/II, so it those that are suitable for small microcontrollers only. follows the same APIs of µC-OS/II. For the above Information is mainly based on documentations and APIs reasons, these RTOSes will not be considered for the available on websites. These RTOSes are: µITRON, following APIs comparison. µTKernel, µC-OS/II, EmbOS, FreeRTOS, Salvo, TinyOS, Figure 1 shows a comparison of the number of system SharcOS, XMK OS, Echidna, eCOS, Erika, Hartik, KeilOS, APIs available for each RTOS. Based on the RTOSes’ and PortOS. Below summarized some of the criteria used common definitions, the APIs shown in Figure 1 are for comparison. categorized into: • Priority-based preemptive scheduling has been • System management : initialize OS, start/shutdown adopted by majority of the RTOSes, except for two OS, lock/unlock CPU, etc. RTOSes in the list (Salvo and TinyOS) using • Interrupt management : entry/exit function, cooperative scheduling. begin/end critical section, etc. • Majority of RTOSes support C language, which is • Task management : create task, delete task, start the popular choice for embedded system task, terminate task, etc. programming, especially in small system design. • Task-dependent synchronization : sleep task, • Only a few RTOSes have OS-awareness support in wakeup task, resume task, etc. IDE: µC-OS/II and EmbOS have plug-in modules for • Communication and synchronization : semaphore, IAR compiler; KeilOS is supported by Keil compiler; data queue, event flag, mailbox, mutex, etc. µITRON and µTkernel are supported by Renesas • Memory management : fixed size memory pool, HEW compiler. variable-size memory pool, etc. • In the case of eCOS [5], it requires a bootloader • Time management : get system operating time, OS (known as Redboot) of at least 64Kbytes ROM. timer, etc. Redboot will boot up first and load programs into • Trace API : hook routine into certain RTOS RAM via user terminal. Hence, eCOS requires much functions such as scheduler, etc. Number of system APIs Figure 1: Number of system APIs for various RTOSes µITRON, µTKernel, µC-OS/II and EmbOS support implementation. These RTOSes are more suitable for very comprehensive APIs for all the categories above. Most small system development. However, µC-OS/II stands out commercial RTOSes are well-implemented, with µITRON to have more APIs available. Among the open-source supporting all the categories except for trace functions. RTOSes surveyed, µC-OS/II and µTKernel have the most EmbOS also supports most of the categories, except for number of APIs available. µTKernel supports all of the trace, system time management, system management and categories, except for data queue. It also has almost the message buffer. same APIs as the commercial RTOS µITRON, as it is As far as open-source RTOSes (FreeRTOS, Echidna, backed by T-Engine Forum [6] led by Professor Ken Erika and Hartik) are concerned, most have only minimal Sakamura who is also the designer of µITRON architecture. 1008 For the above reasons, these 4 RTOSes: µITRON, developers cannot change this order. On the other hand, in µTKernel, µC-OS/II and EmbOS will be focused for the µITRON and µTKernel, developers can specify whether subsequent comparison and benchmarking. tasks are queued in FIFO order or in priority order. This Besides those functions mentioned in Figure 1, the flexibility applies not only to semaphore, but also to other following are also supported by some RTOSes: APIs, including mailbox, message queue, memory pool and • Timeout : timeout is supported in some system APIs. event flag. To achieve such features in µITRON and For example, a task can wait for a semaphore for a µTKernel, there are tradeoffs in memory footprint as well as maximum number of n milliseconds. RTOSes such performance. as µITRON and µTKernel have mechanisms to allow users to specify the timeout in absolute values. III. PERFORMANCE BENCHMARKING OF RTOS ES Others such as µC-OS/II, FreeRTOS, Salvo and Four RTOSes (µITRON, µTKernel, µC-OS/II and EmbOS can only allow user to specify timeout EmbOS) have been selected for performance benchmarking values in terms of the number of clock ticks. on the Renesas M16C/62P 16-bit microcontroller platform, • Debug API : these are the APIs that allows user’s the main reasons these RTOSes were selected are: application to retrieve information managed by the • Comprehensive and mature APIs. kernel. Currently, only µTKernel supports these APIs • Footprint and design concepts are suitable for small (e.g. get task register, set task register). microcontrollers. • Cyclic handler, alarm handler : cyclic handler a • These four RTOSes are ported onto the Renesas mechanism to indicate to the RTOS to execute a M16C/62P platform with the HEW IDE together function at a periodic interval while alarm handler with the NC30 toolchain [7]. An in-depth evaluation allows RTOS to execute a function after certain is made to compare the performance of these four amount of time. These APIs are currently available in RTOSes running on the same platform. µITRON and µTKernel. For each criterion, the benchmarking code is compiled, • Rendezvous : µITRON and µTKernel also support and ROM and RAM usage will be obtained from the rendezvous mechanism for synchronization and toolchain report.
Recommended publications
  • OS and Libraries Document Collection
    R OS and Libraries Document Collection This PDF collection describes the software packages that are provided by the Embedded Development Kit. EDK supplies libraries, board support packages, and complete operating systems, in addition to the drivers for the peripherals, to help the user develop a software platform. The following is the distribution of the software packages available for the user to include in his platform: • Xilinx Micro-Kernel (XMK) - XMK is the entity representing the collective software system formed by the following components, ♦ Standard C Libraries (libc, libm) ♦ Xilkernel - An embedded kernel ♦ Standalone Board Support Package (BSP) ♦ LibXil Net - A networking library ♦ LibXil MFS - A Memory File System ♦ LibXil File - A file I/O library ♦ LibXil FATfs - A FAT file system ♦ LibXil Profile - A Profiling library ♦ LibXil Drivers - Device drivers for supported peripherals • lwIP Libary - A third-party network library ported to Xilinx Embedded processors • VxWorks Operating System - Development of Board Support Package for the VxWorks Operating System These documents describe the Xilinx Micro-kernel, its constituent libraries and the Standalone board-support package. Documentation for the other operating systems can be found in their respective reference guides. Device drivers are documented along with the corresponding peripheral’s documentation. Getting Started The following documents are included in this collection. To view a document, click its name in the following table. Document Name Summary Xilinx Microkernel (XMK) Describes the organization of Xilinx Microkernel, its constituent component libraries, and the interactions between them and your application. LibXil Standard C Libraries Describes the software libraries available for the embedded processors. EDK 7.1i July 5, 2005 www.xilinx.com EDK OS and Libraries Document Collection 1-800-255-7778 R Document Name Summary Standalone Board Support Describes the Board Support Package (BSP), the Package lowest layer of software modules used to access processor-specific functions.
    [Show full text]
  • Performance Study of Real-Time Operating Systems for Internet Of
    IET Software Research Article ISSN 1751-8806 Performance study of real-time operating Received on 11th April 2017 Revised 13th December 2017 systems for internet of things devices Accepted on 13th January 2018 E-First on 16th February 2018 doi: 10.1049/iet-sen.2017.0048 www.ietdl.org Rafael Raymundo Belleza1 , Edison Pignaton de Freitas1 1Institute of Informatics, Federal University of Rio Grande do Sul, Av. Bento Gonçalves, 9500, CP 15064, Porto Alegre CEP: 91501-970, Brazil E-mail: [email protected] Abstract: The development of constrained devices for the internet of things (IoT) presents lots of challenges to software developers who build applications on top of these devices. Many applications in this domain have severe non-functional requirements related to timing properties, which are important concerns that have to be handled. By using real-time operating systems (RTOSs), developers have greater productivity, as they provide native support for real-time properties handling. Some of the key points in the software development for IoT in these constrained devices, like task synchronisation and network communications, are already solved by this provided real-time support. However, different RTOSs offer different degrees of support to the different demanded real-time properties. Observing this aspect, this study presents a set of benchmark tests on the selected open source and proprietary RTOSs focused on the IoT. The benchmark results show that there is no clear winner, as each RTOS performs well at least on some criteria, but general conclusions can be drawn on the suitability of each of them according to their performance evaluation in the obtained results.
    [Show full text]
  • OS and Libraries Document Collection (UG643)
    OS and Libraries Document Collection UG643 (v2015.3) September 30, 2015 Summary The Software Development Kit (SDK) provides a variety of Xilinx® software packages, including drivers, libraries, board support packages, and complete operating systems to help you develop a software platform. This document collection provides information on these. Complete documentation for other operating systems can be found in the their respective reference guides. Device drivers are documented along with the corresponding peripheral documentation. The documentation is listed in the following table; click the name to open the document. Table 1-1: OS and Libraries Document Collection Contents Document Name Summary LibXil Standard C Libraries Describes the software libraries available for the embedded processors. Standalone (v.5.2) Describes the Standalone platform, a single-threaded, simple operating system (OS) platform that provides the lowest layer of software modules used to access processor- specific functions. Some typical functions offered by the Standalone platform include setting up the interrupts and exceptions systems, configuring caches, and other hardware specific functions. The Hardware Abstraction Layer (HAL) is described in this document. Xilkernel (v6.2) Describes the Xilkernel, a simple embedded processor kernel that can be customized to a large degree for a given system. Xilkernel has the key features of an embedded kernel such as multi-tasking, priority-driven preemptive scheduling, inter-process communication, synchronization facilities, and interrupt handling. Xilkernel is small, modular, user-customizable, and can be used in different system configurations. Applications link statically with the kernel to form a single executable. LibXil Memory File System (MFS) Describes a simple, memory-based file system that can reside in RAM, ROM, or Flash (v2.0) memory.
    [Show full text]
  • Survey and Performance Evaluation of Real-Time Operating Systems (RTOS) for Small Microcontrollers
    This article has been accepted for publication in IEEE Micro but has not yet been fully edited. Some content may change prior to final publication. Survey and performance evaluation of real-time operating systems (RTOS) for small microcontrollers Tran Nguyen Bao Anh*†, Su-Lim Tan† *Renesas Technology Singapore, Singapore Engineering Centre, Singapore 098632 †School of Computer Engineering, Nanyang Technological University, Singapore 639708 Abstract— RTOS has gained popularity over the years in any OS as it affects how the various softwares are microcontroller/processor-based embedded system design. In this executed. Most generic OSes are time-sharing systems paper, we will discuss the important differences between RTOS and in which tasks are allocated the same amount of time generic OS, the advantages and disadvantages of using RTOS for slices (e.g. round robin scheduling) for execution. In small microcontroller system development, and the benchmarking RTOS, tasks are often assigned priorities and higher- methods used for RTOS. Several RTOSes are studied and compared priority tasks can preempt lower-priority tasks during based upon numerous selection criteria, and four RTOSes are selected for performance benchmarking on the same microcontroller execution (preemptive scheduling). There are also platform. For the purpose of performance benchmarking, a list of RTOSes that adopt cooperative scheduling. Such benchmarking criteria which is aimed to be simple and representative scheduling technique usually implies that the running of typical RTOS usages are examined. The benchmarking results task has to explicitly invoke the scheduler to perform a show that there is no clear winner and each RTOS performed well on task switch. certain criteria compared to others.
    [Show full text]
  • Programming Memory-Constrained Networked Embedded Systems
    Swedish Institute of Computer Science Doctoral Thesis SICS Dissertation Series 47 Programming Memory-Constrained Networked Embedded Systems Adam Dunkels February 2007 Swedish Institute of Computer Science Stockholm, Sweden Copyright c Adam Dunkels, 2007 ISRN SICS-D–47–SE SICS Dissertation Series 47 ISSN 1101-1335 Printed by Arkitektkopia, V¨aster˚as, Sweden 3 Abstract Ten years after the Internet revolution are we standing on the brink of another revolution: networked embedded systems that connect the physical world with the computers, enabling new applications ranging from environmental moni- toring and wildlife tracking to improvements in health care and medicine. Only 2% of all microprocessors that are sold today are used in PCs; the re- maining 98% of all microprocessorsare used in embeddedsystems. The micro- processors used in embedded systems have much smaller amounts of memory than PC computers. An embedded system may have as little has a few hundred bytes of memory, which is thousands of millions times less than the memory in a modern PC. The memory constraints make programming embedded systems a challenge. This thesis focus on three topics pertaining to programming memory- constrained networked embedded systems: the use of the TCP/IP protocol suite even in memory-constrained networked embedded systems; simplifying event- driven programming of memory-constrained systems; and dynamic loading of program modules in an operating system for memory-constrained devices. I show that the TCP/IP protocol stack can, contrary to previous belief, be used in memory-constrainedembedded systems but that a small implementation has a lower network throughput. I present a novel programming mechanism called protothreads that is intended to replace state machine-based event-driven pro- grams.
    [Show full text]
  • Interfacing Cmos Camera with Arm Microcontroller for Small Robotic Platform
    ELECTRICAL AND ELECTRONIC ENGINEERING DEPARTMENT FINAL YEAR PROJECT II INTERFACING CMOS CAMERA WITH ARM MICROCONTROLLER FOR SMALL ROBOTIC PLATFORM Final Report Submitted in Partial Fulfillment of the Requirement for the Bachelor of Engineering (Hons) in Electrical & Electronics Engineering MOHAMED MEERA HUSSIEN 15093 DR. MOHD ZUKI YUSOFF CERTIFICATION OF APPROVAL INTERFACING CMOS CAMERA WITH ARM MICROCONTROLLER FOR SMALL ROBOTIC PLATFORM by Mohamed Meera Hussien Bin Jawhar Sathik 15093 An project dissertation submitted to the Department of Electrical & Electronic Engineering Universiti Teknologi PETRONAS in partial fulfillment of the requirement for the BACHELOR OF ENGINEERING (Hons) (ELECTRICAL & ELECTRONIC ENGINEERING) Approved by, __________________________ Dr. Mohd Zuki Yusoff Project Supervisor UNIVERSITI TEKNOLOGI PETRONAS TRONOH, PERAK CERTIFICATION OF ORIGINALITY This is to certify that I am responsible for the work submitted in this project, that the original work is my own except as specified in the references and acknowledgements, and that the original work contained herein have not been undertaken or performed by unspecified sources or persons. Mohamed Meera Hussien Bin Jawhar Sathik ID: 15093 II ABSTRACT This proposal presents an autonomous color tracking mobile robot with obstacle avoidance. The robot detects the object color through CMUcam2. CMUcam2 is a camera which comes with an onboard image processing capabilities and can be interfaced directly to microcontroller. The robot follows the object according to the algorithm that had been programmed. The heart of the system is Raspberry Pi. Raspberry Pi is a credit-card sized computer that is powered by ARM11. This device runs on Linux OS and can be programmed to do specific functions. It supports many environments such C, Python and many more.
    [Show full text]
  • Opencomrtos: Reliable Performance with a Small Code Size
    OpenComRTOS: Reliable performance with a small code size Bernhard H.C. Sputh1, Oliver Faust2, Eric Verhulst2, Vitaliy Mezhuyev1 and Tom Tierens3 1fbernhard.sputh, [email protected] 2foliver.faust, [email protected] [email protected] Abstract a research project were we followed a stricter methodol- ogy, including formal model checking, to obtain a network- OpenComRTOS is one of the few Real-Time Operat- centric RTOS which can be used as a trusted component. ing Systems for embedded systems that was developed us- ing formal modeling techniques. The goal was to obtain 1.1 General requirements for OpenComRTOS a proven trustworthy component with a clean architecture which delivers high performance on a wide variety of net- The history for this project goes back to the early 1990’s worked embedded systems, ranging from single processor when a distributed real-time RTOS called Virtuoso (Eonic to distributed systems. The result is a scalable communi- Systems) was developed for the INMOS transputer [10]. cation system with real-time capabilities. Besides, the rig- This processor had build in support for concurrency as well orous formal verification of the kernel algorithms lead to as interprocess communication and was enabled for paral- an architecture which has several properties that enhance lel processing by way of 4 communication links. Virtuoso safety and real-time properties of the RTOS. The code size allowed such a network of processors to be programmed in particular is very small, typically 10 times less compared in a topology transparent way. Later, the software evolved with a typical equivalent single processor RTOS.
    [Show full text]
  • Embedded System Tools Guide Embedded Development Kit
    Embedded System Tools Guide Embedded Development Kit EDK 6.1 October 6, 2003 R Embedded System Tools Guide www.xilinx.com EDK 6.1 October 6, 2003 1-800-255-7778 R "Xilinx" and the Xilinx logo shown above are registered trademarks of Xilinx, Inc. Any rights not expressly granted herein are reserved. CoolRunner, RocketChips, Rocket IP, Spartan, StateBENCH, StateCAD, Virtex, XACT, XC2064, XC3090, XC4005, and XC5210 are registered trademarks of Xilinx, Inc. The shadow X shown above is a trademark of Xilinx, Inc. ACE Controller, ACE Flash, A.K.A. Speed, Alliance Series, AllianceCORE, Bencher, ChipScope, Configurable Logic Cell, CORE Generator, CoreLINX, Dual Block, EZTag, Fast CLK, Fast CONNECT, Fast FLASH, FastMap, Fast Zero Power, Foundation, Gigabit Speeds...and Beyond!, HardWire, HDL Bencher, IRL, J Drive, JBits, LCA, LogiBLOX, Logic Cell, LogiCORE, LogicProfessor, MicroBlaze, MicroVia, MultiLINX, NanoBlaze, PicoBlaze, PLUSASM, PowerGuide, PowerMaze, QPro, Real-PCI, Rocket I/O, SelectI/O, SelectRAM, SelectRAM+, Silicon Xpresso, Smartguide, Smart-IP, SmartSearch, SMARTswitch, System ACE, Testbench In A Minute, TrueMap, UIM, VectorMaze, VersaBlock, VersaRing, Virtex-II Pro, Virtex-II EasyPath, Wave Table, WebFITTER, WebPACK, WebPOWERED, XABEL, XACT-Floorplanner, XACT-Performance, XACTstep Advanced, XACTstep Foundry, XAM, XAPP, X-BLOX +, XC designated products, XChecker, XDM, XEPLD, Xilinx Foundation Series, Xilinx XDTV, Xinfo, XSI, XtremeDSP and ZERO+ are trademarks of Xilinx, Inc. The Programmable Logic Company is a service mark of Xilinx, Inc. All other trademarks are the property of their respective owners. Xilinx, Inc. does not assume any liability arising out of the application or use of any product described or shown herein; nor does it convey any license under its patents, copyrights, or maskwork rights or any rights of others.
    [Show full text]
  • Demonstration of Multitasking Using Threadx RTOS on Microblaze and Powerpc
    1 Demonstration of Multitasking using ThreadX RTOS on Microblaze and PowerPC Awais M. Kamboh, Adithya H. Krishnamurthy and Jaya Krishna K. Vallabhaneni Abstract— The objective of this project is to implement and II. BACKGROUND demonstrate multiprocessing in a real-time environment using ThreadX RTOS on PowerPC and MicroBlaze processor cores. A. Multitasking We compared the performance of ThreadX on both the Multitasking is a technique to allocate processing time among processors using custom applications. One of the major various duties or jobs, which the overall software program challenges involved in the project was to make ThreadX work on must perform. This usually means that the software is divided both the above mentioned processors seamlessly. For the into tasks, or smaller subsets of the total problem and at run- implementation of a multi-tasking model, a producer consumer application that utilizes a mutex, two semaphores and a timer time, creating an environment that provides each task with its was programmed. A multi-threaded Matrix multiplication own virtual processor. A virtual processor typically includes a program was used to determine the execution as well as context register set, a program counter, a stack memory area, and a switching times on both the cores. The results were then stack pointer. A multitasking run-time environment controls compared and the performance of the hardware configurations overall task execution. When a higher-priority task needs to was analyzed. Though both Microblaze and PowerPC performed execute, the currently running task's registers are saved in well, the PowerPC core on a Virtex-II Pro Platform was better memory and the higher-priority tasks registers are recovered with faster execution and context switching times.
    [Show full text]
  • Embedded System Tools Guide Embedded Development Kit
    Embedded System Tools Guide Embedded Development Kit EDK (v3.2.2) May 21, 2003 R Embedded System Tools Guide www.xilinx.com EDK (v3.2.2) May 21, 2003 1-800-255-7778 R "Xilinx" and the Xilinx logo shown above are registered trademarks of Xilinx, Inc. Any rights not expressly granted herein are reserved. CoolRunner, RocketChips, Rocket IP, Spartan, StateBENCH, StateCAD, Virtex, XACT, XC2064, XC3090, XC4005, and XC5210 are registered trademarks of Xilinx, Inc. The shadow X shown above is a trademark of Xilinx, Inc. ACE Controller, ACE Flash, A.K.A. Speed, Alliance Series, AllianceCORE, Bencher, ChipScope, Configurable Logic Cell, CORE Generator, CoreLINX, Dual Block, EZTag, Fast CLK, Fast CONNECT, Fast FLASH, FastMap, Fast Zero Power, Foundation, Gigabit Speeds...and Beyond!, HardWire, HDL Bencher, IRL, J Drive, JBits, LCA, LogiBLOX, Logic Cell, LogiCORE, LogicProfessor, MicroBlaze, MicroVia, MultiLINX, NanoBlaze, PicoBlaze, PLUSASM, PowerGuide, PowerMaze, QPro, Real-PCI, Rocket I/O, SelectI/O, SelectRAM, SelectRAM+, Silicon Xpresso, Smartguide, Smart-IP, SmartSearch, SMARTswitch, System ACE, Testbench In A Minute, TrueMap, UIM, VectorMaze, VersaBlock, VersaRing, Virtex-II Pro, Virtex-II EasyPath, Wave Table, WebFITTER, WebPACK, WebPOWERED, XABEL, XACT-Floorplanner, XACT-Performance, XACTstep Advanced, XACTstep Foundry, XAM, XAPP, X-BLOX +, XC designated products, XChecker, XDM, XEPLD, Xilinx Foundation Series, Xilinx XDTV, Xinfo, XSI, XtremeDSP and ZERO+ are trademarks of Xilinx, Inc. The Programmable Logic Company is a service mark of Xilinx, Inc. All other trademarks are the property of their respective owners. Xilinx, Inc. does not assume any liability arising out of the application or use of any product described or shown herein; nor does it convey any license under its patents, copyrights, or maskwork rights or any rights of others.
    [Show full text]
  • Embedded Systems RTOS, Libraries and Drivers
    Embedded Systems RTOS, Libraries and Drivers Peter Thorwartl 08_so_emb_rtos_libraries_drivers.odp Date Oct 31, 2009 Page SO-LOGIC electronic consulting Lustkandlg 52, Vienna, Austria, Europe, World www.so-logic.net +43-1-315 77 77 The Designer’s Challenge • What do I need to program? • What libraries are available? Does the design need an operating system? 08_so_emb_rtos_libraries_drivers.odp Date Oct 31, 2009 Page SO-LOGIC electronic consulting Lustkandlg 52, Vienna, Austria, Europe, World www.so-logic.net +43-1-315 77 77 Objectives Examine the Xilinx libraries for required services and features Examine a processor’s services for required functions and features Evaluate an IP device driver for appropriate functionality and design Use the Board Support Package (BSP) to access system services from the software application Determine whether your embedded system application requires a standalone system or an operating system Describe how a Real-Time Operating System (RTOS) differs from a conventional OS 08_so_emb_rtos_libraries_drivers.odp Date Oct 31, 2009 Page SO-LOGIC electronic consulting Lustkandlg 52, Vienna, Austria, Europe, World www.so-logic.net +43-1-315 77 77 Re-Inventing the Wheel Custom hardware typically requires custom software Standard hardware often has existing software support Uart General-purpose I/O Ethernet Certain processor functions can be complex and software support may already exist Setting up the interrupt structure Cache enabling Exception processing Memory Management Unit (MMU) 08_so_emb_rtos_libraries_drivers.odp
    [Show full text]
  • EDK OS and Libraries Reference Manual
    EDK OS and Libraries Reference Manual Embedded Development Kit EDK 6.3i UG114 (v3.0) August 20, 2004 R R "Xilinx" and the Xilinx logo shown above are registered trademarks of Xilinx, Inc. Any rights not expressly granted herein are reserved. CoolRunner, RocketChips, Rocket IP, Spartan, StateBENCH, StateCAD, Virtex, XACT, XC2064, XC3090, XC4005, and XC5210 are registered trademarks of Xilinx, Inc. The shadow X shown above is a trademark of Xilinx, Inc. ACE Controller, ACE Flash, A.K.A. Speed, Alliance Series, AllianceCORE, Bencher, ChipScope, Configurable Logic Cell, CORE Generator, CoreLINX, Dual Block, EZTag, Fast CLK, Fast CONNECT, Fast FLASH, FastMap, Fast Zero Power, Foundation, Gigabit Speeds...and Beyond!, HardWire, HDL Bencher, IRL, J Drive, JBits, LCA, LogiBLOX, Logic Cell, LogiCORE, LogicProfessor, MicroBlaze, MicroVia, MultiLINX, NanoBlaze, PicoBlaze, PLUSASM, PowerGuide, PowerMaze, QPro, Real-PCI, RocketIO, SelectIO, SelectRAM, SelectRAM+, Silicon Xpresso, Smartguide, Smart-IP, SmartSearch, SMARTswitch, System ACE, Testbench In A Minute, TrueMap, UIM, VectorMaze, VersaBlock, VersaRing, Virtex-II Pro, Virtex-II EasyPath, Wave Table, WebFITTER, WebPACK, WebPOWERED, XABEL, XACT- Floorplanner, XACT-Performance, XACTstep Advanced, XACTstep Foundry, XAM, XAPP, X-BLOX +, XC designated products, XChecker, XDM, XEPLD, Xilinx Foundation Series, Xilinx XDTV, Xinfo, XSI, XtremeDSP and ZERO+ are trademarks of Xilinx, Inc. The Programmable Logic Company is a service mark of Xilinx, Inc. All other trademarks are the property of their respective owners. Xilinx, Inc. does not assume any liability arising out of the application or use of any product described or shown herein; nor does it convey any license under its patents, copyrights, or maskwork rights or any rights of others.
    [Show full text]