MICRO DIGITAL: TECHNICAL CRITERIA FOR MAKING THE RTOS CHOICE

Similar documents
How to Pick an RTOS. by Ralph Moore smx Architect

Deferred Interrupt Processing

GREEN HILLS SOFTWARE: EAL6+ SECURITY FOR MISSION CRITICAL APPLICATIONS

Quick Reference Design Guide

Migration With Duda.

Link Service Routines

SOFTWARE DEFINED STORAGE VS. TRADITIONAL SAN AND NAS

10 Steps to Virtualization

VIDEO 1: WHY IS THE USER EXPERIENCE CRITICAL TO CONTEXTUAL MARKETING?

RED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE.

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience

Introduction. Overview of the Book

WHITEPAPER MOVING TO A NEW BUSINESS PHONE SYSTEM

Moving to a New Business Phone System

A Proposal for Work. Getting To Know Us. Proposed Project Timeline. Project Goals Discussion Week 1

Familiarity with data types, data structures, as well as standard program design, development, and debugging techniques.

Contractors Guide to Search Engine Optimization

ITIL FOUNDATION EXAM DUMPS

Operating Systems. Operating Systems

The Future of the Data Center: Software Will Lead The Way by, David Vellante

Understanding Virtual System Data Protection

Strategy. 1. You must do an internal needs analysis before looking at software or creating an ITT

the NXT-G programming environment

RTOS Real T i Time me Operating System System Concepts Part 2

INTRODUCTION BACKGROUND DISCOVERER. Dan Vlamis, Vlamis Software Solutions, Inc. DISCOVERER PORTLET

SoftwareReview. General CADD. By Joseph H. Bell, LS

(Refer Slide Time: 00:01:30)

Chapter 1.6 Systems Development Life Cycle.

Disaster Recovery Planning

SAPtips. Journal. Creating a Well-Developed Master Data Management Solution in BW. August/September 2005 Volume III Issue 4. SAPtips.

Standards for Test Automation

Webinars INSPIRING A SAFE AND SECURE CYBER WORLD Media Kit - North America

Chapter 2 Web Development Overview

Digital Workflow 10 Tech Rules to Guide You

Close Your File Template

Save time. Stay on Schedule. Reduce your work. Re-use Your Code with OS Changer

WEBINARS INSPIRING A SAFE AND SECURE CYBER WORLD Media Kit - North America

Software. CPU implements "machine code" instructions. --Each machine code instruction is extremely simple. --To run, expanded to about 10 machine code

Multi-protocol controller for Industry 4.0

Lakeshore Contact Management Module

9 th CA 2E/CA Plex Worldwide Developer Conference 1

Search Engine Optimization Lesson 2

Business Process Outsourcing

CHIPS Newsletter Vol 5 - Yahoo! Mail. Official Newsletter of

Lecture 1: January 23

Infrastructure Matters

Building a simple network, part 1

Figure 1 - EDGE Developer Suite Block Diagram

GETTING TO KNOW THE WEBINAR

CSCI 1100L: Topics in Computing Lab Lab 1: Introduction to the Lab! Part I

Disclaimer: This e-book doesn t tend to express hatred against any smartphone company or operating system. We believe that every company holds a

Simply XML December 2015 Newsletter

Within Kodi you can add additional programs called addons. Each of these addons provides access to lots of different types of video content.

Discover How to Watch the Mass Ascension of the Albuquerque International Balloon Fiesta Even if You Can t Be There

Breakdown of Some Common Website Components and Their Costs.

Easy List Building System

If you like this guide and you want to support the community, you can sign up as a Founding Member here:

In examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured

Become a Champion Data Modeler with SQL Developer Data Modeler 3.0

WHAT NETWORK VIRTUALIZATION TECHNOLOGY CAN DO FOR YOUR NETWORK TODAY

Last Time. Think carefully about whether you use a heap Look carefully for stack overflow Especially when you have multiple threads

How To Make 3-50 Times The Profits From Your Traffic

REPORT MICROSOFT PATTERNS AND PRACTICES

Best Practices for. Membership Renewals

Often there is a lack of consistency

Software Development Using Full System Simulation with Freescale QorIQ Communications Processors

Software Development and Usability Testing

Intro. Scheme Basics. scm> 5 5. scm>

Web Host. Choosing a. for Your WordPress Site. What is web hosting, and why do you need it?

Meet our Example Buyer Persona Adele Revella, CEO

Using Automated Network Management at Fiserv. June 2012

GROW YOUR BUSINESS WITH AN ALL-IN-ONE REAL ESTATE PLATFORM

Exercises: Instructions and Advice

QuickBooks 2008 Software Installation Guide

The MailNinja 7-Step Success Formula For Sending Lead Generating Campaigns

TMG Clerk. User Guide

Expert Reference Series of White Papers. 12 Virtualization Myths Debunked

CS 153 Design of Operating Systems

Newbie s Guide to AVR Interrupts

Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics

The Attraction of Complexity

ARM Cortex-M and RTOSs Are Meant for Each Other

WHAT YOU WILL LEARN IN THIS WHITE PAPER

Using the MPU with an RTOS to Enhance System Safety and Security

Legal Notice: Copyright 2013 Hitman Advertising, all rights reserved.

Three OPTIMIZING. Your System for Photoshop. Tuning for Performance

Legal Notice: COPYRIGHT: Copyright 2012, 2013, 2014, 2015, 2016, 2017 Hitman Advertising, all rights reserved.

The Four Biggest Mistakes B2B Companies Make With Their Website That Drives Visitors Away To The Competition And How To Keep Them From Leaving.

Streaming mode snapshot mode Faster Troubleshooting Higher Quality Better Performance Control System Tuning Other Benefits

Operating Systems: Internals and Design Principles, 7/E William Stallings. Chapter 1 Computer System Overview

How to Write an MSSP RFP. White Paper

Make $400 Daily. With Only. 5 Minutes Of Work

Best practices in IT security co-management

Digital Insight PUSHING YOUR SEO TO ITS LIMITS

VIDEO 1: WHY SHOULD YOU USE TEMPLATES TO SEND YOUR S?

Paycards: Generational Trends Shaping the Future of Worker Pay

Hello, my name is Cara Daly, I am the Product Marketing Manager for Polycom Video Content Management Solutions. Today we will be going over the

WENDIA ITSM EXPERT TALK

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore

Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective

Transcription:

MICRO DIGITAL: TECHNICAL CRITERIA FOR MAKING THE RTOS CHOICE 15 December 2008: Technical Criteria for Making the RTOS Choice INTERVIEWEE. RALPH MOORE PRESIDENT TEL. 714 427 7333 EMAIL. RALPHM@SMXRTOS.COM COMPANY. MICRO DIGITAL, INC. WEB. http://www.smxrtos.com Q. First of all, tell us a little bit about yourself and your responsibilities at Micro Digital. A. I have over 30 years experience in the embedded systems industry starting as a logic designer, then a programmer/consultant, ending as founder and President of Micro Digital. I architected the SMX RTOS kernel and wrote some of the code for it in 1989. Since then I have progressively done more sales, marketing, and business management and less development work. Q. As you know, the 2009 Guide has two sorts of interviews - product Q&A interviews and interviews like this one on key topics. But just to help our readership out, tell us in a paragraph or two what Micro Digital offers in the RTOS space and what your unique value proposition is as a company. (Interested parties can refer to your product Q&A interview in the guide or your website for more details.) A. SMX is a modular RTOS consisting of the smx hard real-time multitasking kernel, TCP/IP stack with numerous protocols, USB host and device stacks with numerous class and function drivers, FAT and flash file systems with support for numerous media, GUI, and other products. We focus primarily on ARM, ColdFire, PowerPC, and x86 processors. For these, we endeavor to offer out-of-the-box solutions that are fully integrated with popular tools and run immediately on processor vendor evaluation boards. We offer a very large selection of free evaluation kits and demos that allow prospective users to verify our value proposition of giving them full integration and a quick start. To make out-of-the-box solutions possible, we offer numerous BSPs, controller drivers, well-written manuals, and good support. Q. We are talking today about the technical criteria that one should use in making the RTOS choice. What are the most important factors in your opinion from a technical perspective? A. In the current environment of rapid technical advancement and increasing product feature demand, the RTOS is becoming the foundation that holds everything together. Embedded system programmers need a reliable base to build upon. It is no longer feasible to be expert in all facets of a project. TCP/IP networking is complicated, USB is complicated, file systems are complicated, user interfaces are complicated, etc.; there is too much to learn. At the same time, new processors and new revisions of tools have bugs. Many things just do not work right, and we have to compensate for them..

However, commercial RTOSs are a prime example of code reuse. For example, our USB stacks have been shipped to nearly 100 customers. In their current state, they reflect not only the work of our staff, but also the work of customers who found things that did not work in our code and elsewhere. These bugs have been fixed, workarounds have been found, or we advise not using certain hardware. All of this is what the RTOS customer is getting for his money. Q. All that brings up the big issue of how a developer should go about differentiating their various RTOS choices. What sorts of questions would you suggest he ask the RTOS vendors on his short list, as he goes about trying to figure out how they are different and how their differences might help his own application? A. Most RTOS shoppers start with a wish list of features and a short list of processors. Their first step is to make a short list of RTOSs that fit within these boundaries. If an RTOS vendor truly has what is needed, it should be possible to get an evaluation kit and demos that demonstrate this. Some programmers, or their bosses, think that they do not have time to evaluate RTOSs it is faster to fill in spreadsheets. I think that this is a big mistake. I always try to get prospective customers to try our evaluation kits and demos. Running an evaluation kit will give you the feel of it, and it is a great learning opportunity. It is a chance to learn not only about the RTOS, but also about the tools, and even the processor, itself. We humans tend not to learn unless we are forced to learn by actually doing. Things learned in this early phase of a project may change the course of the project and the time allotted for it. Hence, I recommend that programmers spend more time doing than asking. Q. Isn t there a dilemma in choosing an RTOS that you don t really know how it works until you actually use it? How do you recommend a developer go about trying before buying a few of the RTOSes that make his short list? Any particular technical tests that you think he should conduct? A. The foregoing answers the main question. As far as what to test, I recommend that a developer actually write some of his application code and debug it so he can determine if he is comfortable with the processor, tools, and RTOS. Now is the time to pick something else, if not. Another thing I recommend is that he tests performance. Most of us are accustomed to 3 GHz PC s. Hence we do not realize how inefficient are TCP/IP, USB, and other protocols. These protocols were not written for bitty embedded processors running at glacial 50 MHz rates! Many prospective customers, whom I encounter, have unrealistic performance expectations. A third area to check is RAM. RAM costs 4 to 6 times the silicon area as flash. Hence processor vendors are very miserly with it. They frequently load processors with too many peripherals for the on-chip RAM. Again, the common protocols were not designed for efficient RAM usage. Q. Designers and pundits often fixate on real-time performance yet there is a lot more than that to the RTOS choice. Beyond hard real-time, what sorts of other software areas do you think can be critically important? What about development tools in particular? A. I think it is very important that the RTOS do a lot of error checking for the user. This helps to find application programming errors quickly. Since C is strongly pointeroriented, it also helps if the RTOS protects pointers by embedding them in control blocks and range-checking them before using. Good kernel awareness is very helpful during

system debugging. It should not only present convenient views of system objects and provide task-sensitive breakpoints, but it should also present graphical event timelines and stack and processor usage graphs. We have had many users tell us that timeline graphs (which show what is happening, when, and why) have saved them countless hours of debugging. A stack usage graph alerts a user if a task is overflowing or about to overflow a common problem in multitasking systems. Processor usage identifies tasks that are hogging the machine. We have recently begun expanding kernel awareness to include network, USB, and file system awareness. The importance of these is that it is often difficult to deduce the cause of systemic errors at the code debug level. (Of course, systemic errors are the ones that are most obvious to customers and bosses.) Q. What about middleware and Internetnetworking/networking software like TCP/IP stacks. Many of the RTOS vendors offer these types of software as well. What should a developer look for? How should he compare and contrast the offerings of different vendors? A. It is important to look for complete, integrated solutions. Integrating pieces from different vendors, though sometimes necessary, can be disastrous. For this reason, we and most other RTOS vendors try to offer the most complete solutions that we can. With regard to networking, USB, file systems, and GUIs, the breadth of the offering is a good indication of how seasoned the products are. For example, if a TCP/IP stack is supported by numerous Ethernet controller drivers, runs on many processors, and has many supportive protocols, such as FTP, HTTP, SNMP, etc, and then it is probably a wellproven, reliable stack. Attempting to cut corners on middleware, such as using free or cheap stacks, can cause irreparable harm to a project possibly even failure. Of course compliance with industry standards is also essential for interoperability with the rest of the world lack of which is another product killer. Q. What about GUI (Graphical User Interface) development tools? I noticed that Micro Digital offers the PEG Family, for instance. A. The PEG family, which is produced by Swell Software, is a prime example of the foregoing. The individual PEG products are well seasoned and well accepted in the embedded systems industry. They offer extensive display and input device drivers and come with tools that make designing user interfaces much easier. Though prices have been going up with success, PEG products are still very good buys relative to the cost of programming labor and the cost of coming to market with an inferior user interface due to using an inferior tool. SMX was the first RTOS supported by PEG. We are proud to have been partners with Swell for over 10 years. Our companies work closely together to assure a good experience for our joint customers. Q. Speaking from your own experience at Micro Digital, can you tell us some other ways how you differentiate your RTOS, SMX, from other commercial competitors? In particular you mentioned in the pre-interview, that LSRs (Link Service Routines) and one shot tasks were areas of differentiation. A. SMX, as opposed to the many generic multitasking kernels flooding the market, is a feature-rich kernel. There is an unfortunate belief, in our industry, that all RTOS kernels are equivalent. Thus, one might as well pick up a free kernel as to pay for a good one. I think that people who espouse this belief are ignoring the fact that what is not in the kernel ends up in the application as green code. Since every new line of code is expensive to produce and to debug, this makes very little sense. It is greatly to the benefit of a

project to use proven code rather than green code. Most commercial RTOSs have been proven in hundreds of applications. Hence, I think it makes sense for a potential user to carefully evaluate each feature of a prospective kernel in order to ascertain how it might help him with the work at hand. The LSRs and one-shot task support of smx are good cases in point. A primary goal of smx was to minimize interrupt latency. Unlike simple kernels which disable interrupts in every system call, smx disables interrupts in only a few short places in the scheduler. LSRs are a key to this. One-shot task support allows many tasks to share a few stacks from a common pool. This can greatly reduce RAM usage for systems with mutually exclusive tasks (e.g. a state machine). These and other special smx features are discussed in white papers on our website. Q. Thank you for this interview.