NDA required until November 11, 2008 The World Leader in High Performance Signal Processing Solutions Maikel Kokaly-Bannourah Embedded Systems Products &Technologies Group Analog Devices Inc. Migrating from VDK to μC/OS-III™ Real-Time Kernel for CrossCore® Embedded Studio
21
Embed
Migrating from VDK to μC/OS-III™ Real-Time Kernel for ... fileTraining Module Outline What is µC/OS -III™ Real- Time Kernel for CrossCore® Embedded Studio? • Supported Features
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
NDA required until November 11, 2008
The World Leader in High Performance Signal Processing Solutions
Maikel Kokaly-BannourahEmbedded Systems Products &Technologies Group
Analog Devices Inc.
Migrating from VDK toμC/OS-III™ Real-Time Kernel for CrossCore® Embedded Studio
Training Module Outline
What is µC/OS-III™ Real-Time Kernel for CrossCore® Embedded Studio?• Supported Features and Availability
Migrating from VisualDSP++ Kernel (VDK) to µC/OS-III™ Real-Time Kernel for CrossCore® Embedded Studio
• Features Comparison Table• Differences in Footprint
VDK to µC/OS-III™ Porting Guidelines• Including Live Porting Demo
µC/OS-II™ Real-Time Kernel for CrossCore® Embedded Studio• Main Differences with µC/OS-III™ and Availability
2
What is µC/OS-III™ Real-Time Kernel for CrossCore® Embedded Studio?
μC/OS-III™ Real-Time Kernel for CrossCore® Embedded Studio is the result of a partnership between Analog Devices and Micrium
Provides user-friendly programming environment for μC/OS-III™ applications running on Analog Devices' Blackfin® and SHARC® processors
Integrated environment with CCES, offering the advantage of an industry-standard IDE combined with Analog Devices' advanced optimizing compiler technology
3
µC/OS-III™ Real-Time Kernel for CrossCore® Embedded Studio Features
Supported features include:• Seamless integration with CrossCore® Embedded Studio• Processor independent interface
• Supporting both SHARC® and Blackfin® processors
• Scalable to contain only required features• Supports pre-emptive and co-operative scheduling, including round-robin scheduling• Provides inter-task messaging support• Ability to pend on multiple kernel objects• Configurable error checking to reduce footprint and MIPS• ANSI C source code
For more information, visit:• http://www.analog.com/ucos3
Delivery Method Pre-built Libraries (no source code) Source Code
System Services Integration Yes Yes
MISRA-C:2004 No (Written in C++) Yes
Certifiable (DO178B Level A etc)
No Yes
8
Footprint Comparison Table: VDK vs. μC/OS-III™
Footprint (Bytes) Code Data Total
VDK μC/OS-III™ VDK μC/OS-III™ VDK μC/OS-III™
ADSP-21469 19084 20196 2200 9865 21284 30061
ADSP-BF533 11168 8922 2216 7760 13384 16682
9
VDK Dynamic vs. μC/OS-III™ Static Data Allocation
VDK to µC/OS-III™ Porting Guidelines
Considerations when porting code from VDK to µC/OS-III™ • Integrated µC/OS-III™ Add-in for CrossCore® Embedded Studio• CrossCore® Embedded Studio Interrupt Handler: adi_int.h• Error Management in µC/OS-III™ • µC/OS-III™ Debug Features• Use of MCAPI® for Inter-Core Communication
Porting Experience based on a VDK Example Project• Live Porting Demo!
10
Integrated µC/OS-III™ Add-in for CrossCore® Embedded Studio
11
CrossCore® Embedded Studio Interrupt Handler: adi_int.h
CrossCore® Embedded Studio provides new interrupt handling APIs and macros through the header file adi_int.h
• adi_int_InstallHandler• Used to install an interrupt handler for a given interrupt
• adi_int_EnableInt• Enables or disables the specified interrupt
• adi_int_UninstallHandler• Uninstalls the interrupt handler and disables the source and interrupt
This same interrupt handler can be used for:• Blackfin and SHARC Processors• RTOS and non-RTOS Applications
12
Error Management in µC/OS-III™
Most µC/OS-III™ API functions return an error code• The error return value is done through the last argument of the API function, as a pointer to an
error code
IMPORTANT NOTE: error codes should be checked by the application to ensure that the µC/OS-III™ function performed its operation as expected!
13
µC/OS-IIIVDK
µC/OS-III™ Debug Features
CrossCore® Embedded Studio provides an RTOS Status view to observe the status of components of the µC/OS-III™ Real-Time Operating System
Under the Debug Perspective, select: • Window > Show View > Other > Debug > RTOS Status
User definable μC/OS-III Hooks allow you to extend the RTOS debugging capabilities
• …/system/uCOS-III/AppSources/os_app_hooks.c
14
Inter-Core Communication Enabled by MCAPI®
CrossCore® Embedded Studio includes MCAPI® support for communication and synchronization in multi-core devices
Ideally suited for applications, which divide their processing and/or functionality across multiple cores, eliminating dependence on proprietary APIs
Single-core processors can also benefit from MCAPI® for multi-threaded applications, since it provides inter-thread communication facilities
For more info, visit: • http://www.multicore-association.org/workgroup/mcapi.php