1 / 18

Evaluation of Real-Time Operating Systems for Xilinx MicroBlaze CPU

Evaluation of Real-Time Operating Systems for Xilinx MicroBlaze CPU. Anders Rönnholm. Overview. Background Problem description Real-time system characteristics Overview of target system Overview of evaluated kernels Evaluation Results Conclusions. Background.

mary
Télécharger la présentation

Evaluation of Real-Time Operating Systems for Xilinx MicroBlaze CPU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Evaluation of Real-Time Operating Systems for Xilinx MicroBlaze CPU Anders Rönnholm

  2. Overview • Background • Problem description • Real-time system characteristics • Overview of target system • Overview of evaluated kernels • Evaluation • Results • Conclusions

  3. Background • System-on-Chip- The whole system on one chip • FPGA- A chip containing programmable logic cells. Reprogrammable. • Embedded systems-Special purpose systems incapsulated in the device it controls. • ABB - CRC20 persons working with mechatronics5 of them with SoCsolutions

  4. Problem Description • Areas using embedded systems are:Airbags, pacemakers, MP3 players and industrial robots. • Evaluated kernels-uClinux, Xilkernel, Asterix • Evaluation- Interrupt latency- Task response time- Priority inversion- Kernel size (footprint)- Scalability

  5. Real-time system characteristics • Real-time systems are systems that must respond to an event within a given deadline. • Characteristics- Determinism- Responsiveness- User control- Reliability- Fail-soft operation

  6. Target system Xilinx Virtex4 XC4VFX12 • 200,000 Logic Cells. m68000 60,000 large • Support for 8 MicroBlaze • Many Additional components- Hardware barrel shifter- Hardware divider- Instruction and data cache- Memory interfaces

  7. Target system cont. • Xilinx EDK- IDE- Debugger Benchmark design • DDR-RAM • Uart • 2 Timers (system clock, interrupt generator) • 16kB instruction and data cache

  8. MicroBlaze • Soft CPU- Implemented using the hardware logic in the FPGA • 32-bit RISC core • 32 general purpose registers • 5 special purpose registers • Bus interfaces- On-chip Peripheral Bus- Local Memory Bus- Fast Simplex Link Bus- Debug Interface

  9. uClinux • Port of Linux 2.0 , 2.4 and 2.6- Only 2.4 ported to MicroBlaze • Not RTOS, kernel not preemptive • Kernel package and Distribution package • Kernel package contains the kernel • Dist package contains:- Applications, libraries, drivers • Needs to be compiled in a Linux Environment. • Downloaded with Xilinx tool.

  10. Xilkernel • Developed by Xilinx. Shipped and highly integrated into EDK. • Signal, Message queue, semaphore communication. • Applications can be created as separate executables. • Compiled and downloaded inside EDK.

  11. Asterix • Developed at MRTC • Periodic / aperiodic tasks • Signals / semaphores and wait&lock free communication • Monitoring support: Deterministic replay and deterministic testing.

  12. Asterix Port • 16-bit h8/300 CISC -> 32-bit MicroBlaze RISC • 4 external interrupts -> 1 external interrups- Interrupt controller • HAL – Assembler • 3 - 4 weeks of work

  13. Test System Applications Applications Applications • Board Configuration MicroBlaze 100 MHz 64MB DDR-RAM • Timer 100 Hz • 5,000,000 interrupts(13.8h) Asterix uClinux Xilkernel MicroBlaze Virtex4

  14. Evaluation • Benchmarks- Interrupt latency- Task response time • Priority inversion • Scalability • Kernel size (footprint)

  15. Result – Benchmark and Footprint Footprints Benchmark results

  16. Result - Priority inversion • uClinuxNo support without patch • XilkernelPriority inheritance • AsterixImmediate inheritance

  17. Result - Scalability • uClinuxOnly scalable on the operating system. Network support, filesystems, sound • XilkernelSupport for pthread, semaphore, mutex, stack size. • Asterix Support for semaphore, signal, stack size.

  18. Conclusions • Asterix the best kernel if memory is very limited otherwise Xilkernel. • uClinux can be used as a real-time system in a design that is not memory limited and does not need fast response times. • Xilkernel easiest to work with.

More Related