MapuSoft Porting Post – 3rd Quarter Newsletter

Posix and Portability

In theory, embedded applications developed using industry standard POSIX APIs are portable across multiple POSIX-based platforms if the same set of POSIX features are available across all the OS platforms. This is not always true.

In order for embedded applications to be portable, it is very important that the POSIX APIs also behave the same across all OS platforms. One example of differing behavior is the inconsistency on which a POSIX function call will suspend a calling thread when a higher priority thread is in the ready state. Embedded applications may require a calling thread to suspend when it sends a message or an event while a higher priority thread is waiting to receive the message. Conversely, an embedded application may not want the calling thread to suspend until its scheduling time slice is over. Another example is how different OS schedulers behave when load balancing threads across applications.

Using a mutex is a simple means to lock out a scheduler, prevent thread suspension, and cater to other application needs. However, a mutex decreases performance and also introduces potential deadlock situations. Ideally, embedded applications need to know which APIs will suspend the calling thread and how to avoid undesired suspensions.

Because POSIX API behavior differs across OS platforms, it is difficult to consistently meet the multitude of application requirements. To maintain code portability, developers need a POSIX solution that strictly adheres to standards, meets embedded application needs in a non-intrusive manner (i.e. without breaking POSIX compliancy), and provides consistency in API behavior. For example, a solution suitable for telecom type applications might have a configuration option that allow all the POSIX threads to always run-to-completion before giving up control to the scheduler. A controller type application may require that a higher priority thread take control and run immediately when the suspension is lifted as opposed to allowing the current thread to finish its allotted CPU time slice. Mission critical applications may require that all the resources are statically pre-created to avoid failures during run-time (i.e. reserving memory, allocating control blocks up front, re-using threads from thread pools, etc.).

It takes more than just mimicking POSIX APIs to make embedded applications portable across OS platforms. The consistency of API behavior must also be considered. MapuSoft’s POSIX OS Abstractor is designed to meet the needs of various embedded applications with performance and full code portability in mind while allowing developers to add features without breaking POSIX compliancy.

For more info about MapuSoft’s OS Abstractor visit:
www.mapusoft.com/cross-os-development-platform/

preswelcome21.gif
MapuSoft Technologies Release 1.3.3

MapuSoft Technologies would like to announce our release 1.3.3. The release encompasses all upgrades to MapuSoft’s OS Abstractor, OS Changer, and OS PAL solutions.

MapuSoft has added new APIs to OS Abstractor that enable asynchronous signaling. Initially OS PAL Profiler only supported profiling for BASE OS Abstractor APIs. Under 1.3.3 the profiling is now extended to support application functions. The new release also provides users the ability to generate standalone OS Abstractor and OS Changer from OS PAL.

More information about MapuSoft Technologies Release 1.3.3 can be found here:
http://mapusoft.com/admin/wp-content/uploads/release-notes_1-3-3.pdf

upcomingevents21.gif

DASC 2008:

When: October 26th-30th

Where: Crowne Plaza Riverfront, St. Paul, MN

Details: MapuSoft will exhibit Oct. 27th – 29th. Stop by our booth for a demonstration of our OS PAL product and get a free hat and t-shirt!

More info: www.dasconline.org

Webinars:
Join MapuSoft Technologies in a technical demonstration as we show you how to make host development, optimization, simulation and porting easier with OS PAL!

For more info about the webinars and for future schedules visit: http://mapusoft.com/old/webinar/257/

Oct. 15th: Generate portable code for multiple RTOS with OS PAL

Click a time below to register

9:30am US Central Time – OS Abstractor

1:00pm US Central Time – OS Abstractor

Oct. 22nd: See an application ported to multiple RTOS with OS PAL

Click a time below to register

9:30am US Central Time – VxWorks Porting

1:00pm US Cenral Time – pSOS Porting

Oct. 29th: Generate portable code for multiple RTOS with OS PAL

Click a time below to register

9:30am US Central Time – OS Abstractor

1:00pm US Central Time – OS Abstractor

Nov. 5th: See an application ported to multiple RTOS with OS PAL

Click a time below to register

9:30am US Central Time – VxWorks Porting

1:00pm US Central Time – pSOS Porting

signupbutton1.gif

industrynews21.gif
Happenings in the Embedded World:

Using Static Analysis to Diagnose & Prevent Failures in Safety-Critical Device Designs

Sun Shines on the Green Engineer

Trust, But Verify

Ten Lies About Microprocessors

Another Satisfied MapuSoft Customer!

spotlight2.jpg

MapuSoft Technologies would like to introduce Macraigor Systems LLC to our readers!

Macraigor Systems is a leading supplier of low-cost, high quality tools for debugging your embedded CPU. They cover the widest range of target CPUs with an array of tools to meet your budget and your debugging requirements. Macraigor offers several hardware interfaces for on-chip debugging, an innovative software line, and testing & updating tools.

For more info about Macraigor Systems visit: www.macraigor.com

This entry was posted in NEWS & EVENTS. Bookmark the permalink.

Comments are closed.