Real-time Embedded Linux and POSIX RTOSs For Microcontrollers (MCUs)
Sunday, March 24, 2013
Japan Is Not China
Wednesday, September 26, 2012
Free - Software Based Trojan Horse
In the past couple of years both Freescale and now TI have launched "free" operating system support in the MCU space. The Freescale offering called MQX provides a range of features that is quite broad and solves many problems. It is only available on Freescale MCU products. It has been used on many projects.
Now, TI has just announced that its proprietary OS which is years old is available for its MCU products. It offers similar features to that of MQX. Over the years, many have used their OS and there is clearly demand for this. Again it is a vendor specific product.
Both offerings are completely proprietary, locking the customer into the vendor's MCU offerings. As a customer you should ask yourself "Why is this semi-conductor company investing millions of dollars in proprietary OS development and giving this to my company?" The reason should be obvious - they are making money doing it. It gives them account control if nothing else.
When an OEM builds a product, they will stick with the same basic hardware for many years. If the OEM product purchase for their MCU based devices is 100K units per year, then over the life of the product line, there will be many hundreds of thousands of units purchased. When the OEM is in a single supplier position, they have no negotiating position and the margins are much better. Also, if development is started with the vendor OS, and the OS is proprietary, the switching costs are high, and other options are eliminated.
How can OEMs avoid this obvious cash grab? Well, the first thing is to educate their engineering managers on the basics of software engineering. Open system solutions for operating systems have been the norm in all but very deeply embedded systems for at least 20 years. By choosing an open system operating system, any lock in to a specific set of hardware and software is eliminated and the purchasing department has maximum leverage in all negotiations. This can easily mean hundreds of thousands of dollars in cost reduction over the life of a product line.
Does this really save money? Yes, it does if the operating system product pricing reflects the needs of the OEM on a single product. If it costs $8000-$10000 to purchase software for an MCU product development which will utilize three programmers and take four months to develop, then this cost must be considered as part of the overall product development budget and amortized over the total number of units sold. Note that total development costs should be used in this calculation which means using fully loaded labor rates for development cost calculations.Generally, the software costs will outstrip the electronics hardware development costs in an 80/20 or 90/10 ratio. If the operating system software is correctly priced, on a single product development, the operating system cost will be more in the range of 5%-10% of the overall software development cost and less than half of the core electronics development cost. The operating system software purchase price will be easily recouped in decreased hardware costs, elimination of training, enhanced software reuse, reduced time to market and increased flexibility independent of unit sales volume.
The operating system component cost will be recouped just in reduced hardware costs if product volume exceeds a few thousand units. This is the real measure of whether the Trojan horse is a trick or not. Intangible benefits are not measured here so the total savings of an open operating system are much greater but you should be able to see benefits in the range of $1-$2 today in terms of pricing if you can go to any vendor to purchase your MCU if you have a low volume solution. The cost savings are much more obvious with volume MCU purchases although the absolute savings per MCU is much smaller.
The market share gained through more rapid market access totally dwarfs the hardware savings costs. What this means is use an off the shelf, completely integrated operating system as the overall savings will be huge. Market share is correlated with time to market and the savings that this brings diminishes the cost of the operating system to zero in the scope of things.
Other factors are important too. By using open standards like POSIX, knowledge and software reuse is maximized. This approach leads to reusable applications, elimination of training, faster development, lower cost development, lower time to market, larger market share and total cost of ownership minimization.
With open system solutions, platform based approaches and lean product development is possible. Now the software platform is POSIX based which supports the use of any of the various embedded operating system platforms for larger systems (embedded Linux, QNX, VxWorks, ...) and also supports POSIX based MCU solutions including DSPnano and Unison from RoweBots. Most larger and sophisticated companies understand this and use this approach today.
The real message here is "Don't get a free Trojan horse." The overall costs of locking in to a closed solution stopped making sense over twenty years ago and certainly make no sense today. By keeping your long term interests in mind, you can maximize your company's flexibility and profits.
Friday, August 12, 2011
MCU and MPU Survey Results - Few Surprises
Of course, I am very interested in MCUs and how they are changing in the market. It seemed to indicate that the processors were getting the peripherals right or better anyway and hardware designers liked this. It is no surprised that ARM is doing better and better; however the weak showing by Renesas, particularly after the NEC merger was a bit of a surprise. It is clearly a North American dominated survey.
There was a couple of other surprises. The rise of embedded Linux is no surprise - I expect this trend to continue and I also think that this has directly lead to the decline of other larger embedded operating systems like VxWorks, QNX Nucleus and Integrity.
The continued popularity of TI's OMAP is significant. It is clear that they have the correct mix of ARM and DSP functionality for a broad set of applications combined with the right tools and pricing. I expect that the Sitara and Integra lines will do well too - levering off this success with more specialized versions.
The apparent growth of freeRTOS - which isn't an RTOS but is just a kernel, combined with the growth of roll your own RTOS was to be expected. The reason for this is the very high pricing of the two best known MCU RTOS brands coupled with the lack of understanding of the true costs of integration, debug and test. The survey put test and debug numbers at 25% of the overall effort. It is likely closer to 50% and if managers computed the real lost market share for this period of delay, it is very likely that this would change.
Another related set of comments were made that the RTOS market was moving towards domination by the semiconductor vendors providing their own RTOSs for MCUs. Some even thing that they will move into hardware. It seems that the volume for most applications does not justify the loss of flexibility so hardware implementation will be limited to specialized applications.
Freescale has include the MQX RTOS free with its new MCUs. It is provided as a software component and it is likely that others may follow this trend. The real story here though is that many offerings of "free" this or that part of the total solution have been made: a free OS (and I mean a real OS) with an IDE sold by seat is one example. In any case, the offerings are always tied to something: a silicon vendor's hardware, an IDE lock-in and cost per developer, or extensive user development which masks the real cost. There is no free lunch!
Along with all of this, we see that users often don't pay attention to the real total cost of ownership, the largest component of which is time to market delay. Lean product development and platform based designs focused on open standards will still win the day for small, medium and large company development.
Thursday, August 4, 2011
Myopic MCU Software Approaches - Part 1
With an MBA and an MEng along with 25 years of experience applying these skills in embedded software, I have an advantage over most others. I've been there and done that 100 times and seen all the mistakes several times. For the next few weeks, I thought that I would highlight the repeated mistakes I see others making in the marketplace.
The biggest mistake that I see is that technical people often don't understand the effects of time to market. Even very experienced and accomplished managers who apparently understand time to market often miss apply this knowledge because the decision criteria are complex.
Basic ideas on Time to Market costs are found here.
On a company basis, managers have to plan for Total Cost of Ownership minimization for lines of products. This involves lean product development or a platform based approach. This approach should not lock them into a single vendor if done correctly, or may do that but with unlimited rights, it is not expected to be an issue for many years. Most understand and strive towards this but fail to make sure that the decision minimizes time to market for upcoming projects.
Often, managers don't understand software engineering. Their experience is in hardware and are less familiar with software due to the technology shift in the market. Some managers know enough to listen and others do not. By using open standards in software, we have learned for the past 30 years that costs are minimized because we can quickly adapt the software to fit new customer requirements. This leads directly to minimal time to market for development. It is an often missed issue.
The reasons people use for locking their company into a single vendor, proprietary solution are varied. Generally they ignore Total Cost of Ownership and Time to Market. Here is a sample:
- The operating system is free with MCU-X and it is so expensive from other vendors we should just do this and the overall project cost will be minimal. This ignores the cost of training and development for a proprietary system as well as the main benefits of open systems - software reuse.
- We don't need an operating system - the application is simple. Here, the manager is thinking about past implementations on MCUs where the software was minimal. This is not the case today. As users demand new features, the lack of operating system will push out time to market and hamper the introduction of competitive features.
- A kernel is an operating system. Actually, most don't even know the difference between a kernel and an operating system. They start with a kernel, which the vendor may call an operating system even when its not, and then find out later that they are wasting many person years of time because they did not get the correct platform to develop their products. An operating system includes a complete set of standardized I/O modules and drivers along with other libraries to provide high level abstractions which eliminate many person months of effort.
- Performance of the kernel/operating system doesn't matter, they are all the same. Driven by hardware oriented thinking, software performance is often ignored. Managers are unaware that the cost of optimization for a specific function is often 10X the cost of a non optimized solution. Out of the box modules optimized for size and performance can save huge amounts of time, minimizing time to market. If the kernel is inefficient, this inefficiency can drive performance optimization everywhere with big delays and lost market share.
- We don't need feature X today; a minimal solution is enough, we will add it later. Although this is apparently a good choice today, the long term cost of adding feature X may be significant. By using an operating system which has provisions for adding a broad set of features, time to market is minimized as customers demand new and unexpected features.
By simply planning ahead and using the same ideas that have minimized time to market and total cost of ownership for larger systems, optimal results can be achieved for MCU based products as well. Here is a short list of things to do in order to minimize time to market and total cost of ownership for your product line.
- Use mainstream languages and tools.
- Use open standards where practical.
- Pay attention to off the shelf solutions which minimize time. The cost of purchase is far less than the cost of development in 99% of cases if time to market is considered.
- Fight not invented here - software reuse is your friend while in house development is extremely expensive.
- You can use an OS provided by a vendor, just make sure you have hardware options and other sources for the OS to avoid lock in.
- Get off the shelf features if possible.
- Planning is required even with a few developers. Make a good project plan.
-
Wednesday, April 14, 2010
A POSIX RTOS vs Lemming and Ostrich Behaviors
Software engineering economics is an important area when building MCU based systems. Often technical people ignore the business side because they are more comfortable with the technical side. Sometimes they ignore the technical side. When they ignore both the business and the technical side, the company pays big time.
One key area that engineers have completely ignored is total cost of ownership or TCO. This concept has been well known and used in IT systems and now is entering the realm of embedded systems. The concept of TCO is simple: when making software decisions consider the total life cycle costs for your OEM development and minimize costs thereby maximizing profit.
TCO should be like apple pie and homemade bread - so universally appealing that everyone loves it; however this is seldom done today. Why is this the case?
Lemming behavior is most common. If a solution becomes fashionable, often others pick it up and use it without analysis of their requirements. The current case of Lemming behavior in the MCU world is underway with a well known proprietary kernel. Its consistently abysmal and disappointing performance and proprietary API should preclude its use on any system except a hobby system where development time, longevity, engineering costs and TCO are all subservient to immediate out of pocket costs.
When are these engineers going to realize free is not necessarily free? Why didn't they calculate TCO before the commitment rather than after the fact?
Ostrich behavior is common too. In this case, engineers use obsolete and proprietary technologies when they should know better. The world is built on open systems and compatibility. For the MCU world and the RTOS world, two key factors which should influence all software development are discussed here.
The first fact is that the world has moved to POSIX for every major operating system and RTOS excluding those RTOS solutions in the MCU world. This should not be surprising - we have known for 20+ years that software reuse and portability of software are critical and POSIX delivers on this. In addition, it minimizes training, eases access to trained people, ensures robust and reliable systems and much more.
The MCU world is now adopting POSIX solutions quickly for all the same reasons that we use them in larger systems. Up until the announcement of Unison and DSPnano, a native POSIX solution was not available for MCUs, but today a broad set of MCUs is supported.
The second issue is the use of a single loop of control or a "scheduler", use of a kernel (not to be confused with an RTOS), use of a proprietary rtos and use of a POSIX based RTOS. For MCU developers this tradeoff has been complex because many developers failed to understand system complexity. For trivial systems, an RTOS is overkill but for anything but a trivial system, a POSIX micro-kernel architecture is the best you can get. You can use just the kernel if that is all you need, or you can add a complete I/O system - all absolutely free.
The third issue which is often ignored is time to market. Being late or being locked into a proprietary product which limits your ability to change with the market can cost significant market share. The entire profitability of the product line is often at stake. POSIX micro-kernels and commercially supported products minimize time to market and maximize your profits.
Just because it will work eventually and the download is free does not mean that the TCO will be optimal and time to market will be minimized. By thinking ahead and doing your own analysis you can save your company substantial time, money and effort.
Tuesday, April 13, 2010
Avoid Ostrich Behavior, Understand RTOS POSIX Standards
http://www.embedded.com/
MCU developers need a real-time kernel and simply follow others into a poor solution because this solution is free to download. Users completely fail to understand the real costs associated with a choice like this, largely because they don't understand the economics and don't think about better alternatives. (Learn more)
First, standards like POSIX mean that you can hire people that know how to use it right away; actually, most well educated engineers on you staff will already know this and have used it. In terms of both cost and risk, POSIX offers a significant reduction. Every major OS now uses POSIX as an API. All the RTOS solutions that run with an MMU also use this as an API simply because it reduces cost and risk. POSIX is the mainstream of APIs for RTOS.
For RTOS solutions without an MMU, there is a variety of choices for POSIX based solutions. Generally the RTOS vendors push their proprietary solutions to lock people in; however, they are available in POSIX flavors, albeit with a performance hit.
There is no reason you can't use POSIX.
Second, if you move to a proprietary solution you loose the ability to reuse software easily. With a non POSIX RTOS you must do extensive work to make it operational on your system. Why would you intensionally create extra cost and risk for current and future development on your project? It makes no sense.
Third, all MCUs now come with source code to support peripherals. In the Unison environment, it is fast and easy to port any driver source code that is well done to Unison or DSPnano. It is so inexpensive that we offer this service at the cost of a single license; provided the vendor has quality code to port. If you don't want us to do it, you can do it yourself. This means drivers are not a risk item as they have been in the past.
Forth, ease of use is very important to get up and going quickly. In the Unision and DSPnano world, the Quick Start Guide gets you up and going with eight to twelve demos (FREE version) in less than 10 minutes each. Many drivers are out of the box and no development is required. Typically Unison and DSPnano come with complete API documentation and eight to twelve demo programs (commercial version has 33+ demos) with a detailed Quick Start Guide which covers all demos and options.
Fifth, optimization to meet real-time needs is one of the most expensive things that you can do as a developer. For this reason, you want a very fast RTOS (with POSIX standards). Unison and DSPnano are the equal of the fastest MCU RTOS on the market and substantially better than most. Simply by choosing this solution, you have reduced your risk and increased your chances for success substantially.
http://www.embeddedstar.com/
Sixth, DSPnano and Unison are FREE for version 4. All of these benefits are completely FREE without cost or risk. Do some research and get the very best free solution that you can. An ostrich avoiding threats in the environment is not a pretty site.
Try here for DSPnano and Unison.
Sunday, February 7, 2010
Proprietary Lock in With Software
Can you imagine finding out two years later that you were completely locked in to a set of APIs that everyone else in the industry is abandoning? When they discover that they can't hire trained people and can't easily reuse software that their competitors can, how will they feel. For good reason, the customers will be pissed.
I don't know what the semiconductor vendor is thinking. They will surely loose customers as they shoulder the blame months later.
The customers of the 65K product can only blame themselves.
Who works on SuperBowl Sunday?
I could name all the people that I knew that weren't working but I'd much rather give credit to those that were.
- Reed Hinkel - TI
- Kevin King - Renesas
- Ellen Miller - Ellen Miller and John Lindsay, Chartered Accountants
- Polly Yuehe - LED Lighting Manufacturing
- Terry Higgins - Aviaeology
Tuesday, September 8, 2009
SH2A - A Killer MCU
There is SH versions with an MMU and external memory. They run some POSIX or Linux Operating system; however, versions can't run the single chip version without external memory.
On the other hand, Unison is tiny and offers all the same standards. Along with this small size it has great performance for a SoC MCU without external parts. The hardware interrupt mechanism has bank register switching with multiple banks for lighting fast interrupt processing. It is very impressive.
In addition SH2A has great hardware floating point on board for some versions and hardware fixed point on all versions. It should be a great signal processing and communications engine.
For any high end application short of video compression, this looks like a great choice. If you haven't looked at SH2A yet, and you need a high performance MCU, it is difficult to go wrong here.
Wireless Everywhere - Even Power
Now, looking back, we are there. There is wireless communications on virtually all devices if you want it and today there is wireless power pads and even wireless room power.
Today, Unision and DSPnano are being refined with various wireless communication options including bluetooth and wifi. Low cost wireless for data channel communication is expected too.
Along with this wireless communication comes power on self test (POST), diagnostics, and flash downloading and updates. Today, virtually all products are expected to maintain themselves in the field with some operator intervention. Just like wireline systems do today, wireless systems will have to offer this in the future; however this update represents more of a challenge in wireless (extra size, security issues, ...).
Unison is ideally suited for applications like driving power pads; however, I wonder how safe they really are. A pad with localized magnetic induction for power is not a problem as long as the field is weak; after all we live in a constant magnetic field created by the earth. I do wonder about the effects of these magnetic fields at the room level.
Why do crops grow poorly near power lines? This is a well known phenomena. The fields must be partially responsible (both magnetic and electric). Have we really thought this out? Show me five independent studies that demonstrate that it is 100% safe and then I'll consider wireless power for my home. Its time we added responsibility for people's health to the list of design requirements for all of these devices that substantially alter our environment.
Monday, July 20, 2009
LED lighting control is a very hot area!
How does all this work? Well first, LEDs are longer lasting and more efficient. This means that users immediately benefit from energy savings. Second, by putting in wireless networks, local control of lighting can be a simple system feature. It can support control from desktop or notebook computers, cell phones and universal remote controls. It can also support wall controls and sensors where ever the user chooses to place these controls.
The big benefit from the wireless control aspect in retrofit office environments means that the installation cost is much lower. Contractors can simply install new fixtures and the wireless connections provide control while the existing power is supplied as before. A building control system might want to control floor level switching of power while the local control can be done by computers, cell phones, wireless wall panels and remote controls. This reduces the installation cost by 50%.
RoweBots operating system solutions have all the necessary pieces to support this approach, allowing users to quickly and easily develop wireless LED lighting systems using minimal MCU or microcontroller hardware. It includes complete networking, low cost networking options, fat file system and much more.
Monday, June 29, 2009
Microcontrollers Everywhere
- R8C
- M16C
- R32C
- Arm Cortex M3 for TI Stellaris
In addition we've added a number of new components which have not been released yet. These components are geared towards adding low cost networks and networking to building automation, shipboard automation, and home automation applications. They are intended to support features like fat file system integration to allow developers to work in pc environments and have supporting tools to move files back and forth and set up high quality user interfaces.
Other steps are being taken to support automotive and automotive networks more thoroughly.
In all it has been a good few months for component based designers: there is many new options here. Our ultra tiny embedded Linux is more complete and moving to many more platforms. New add on components are cutting time and effort for users.
Monday, May 25, 2009
TI AES Integration of Luminary Microsystems
Jean Anne Booth did a fabulous job getting Luminary to the point where others could see the real value of the approach that she promoted. First, many kudos to Jean Anne and her team for a successful startup!
Second, its interesting to note that integrating the tools approach and other software offerings are going to bring new approaches to TI. For a start, Eclipse is the main development environment for Luminary products with CS and Code Red for many users. Does this mean that the 430 and 280 families will get new OS and tools offerings based on Eclipse? We'll have to wait and see but I suspect so.
Third, it illustrates the fact that TI upper management failed to realize the potential of microcontrollers replacing boards and their potential in tens of thousands of applications in spite of the fact that they were in markets all around this. They have dominate cell phone offerings, significant motor control offerings and the 430 is a significant player in the DSC markets, but they didn't do a family for the more distinct consumer/home goods market leading to this purchase.
There is still unique niches developing each and every day. I must say that I think this is a great move for TI because it puts them in a broader niche further from DSP/DSC their traditional base and fits very well with other lines. This should be great for customers and prospects and TI.
Tuesday, April 28, 2009
RTOS Software Reuse - Simply A Myth For Microcontrollers
Today, for microcontrollers, users often code everything from scratch. They are going with what they understand; however the world of microcontrollers has changed quickly. Memory is more plentiful and using an embedded operating system saves huge amounts of effort. Yet many do not get it - these are smart people but they are used to banging bits and crafting a few lines of software rather than larger complex systems.
Their problems are created in part by the noise in the marketplace. There are many "real time operating systems" but many offerings are not even operating systems. There is a lot of I/O, extra libraries, testing, documentation and integration that goes into a complete operating system. It takes scores of test suites and thousands of hours of work to make sure that the system is reliable and easy to use while still conforming with industry standards. And yet users choose to do this themselves at great risk and expense rather than reuse available solutions.
Some situations are humerous. I was recently in a forum where kernel vendors were debating one narrow aspect of performance like this was a major consideration in the system design. They were ignoring all other aspects. Surely any system must be evaluated on the basis of all the various features and processing capabilities that it offers. Some systems will be better for some things and some for others. Experienced embedded designers understand this.
The thing that amazes me the most is that in the microcontroller world, narrow performance benefits are touted as a major advancement at the same time these vendors are discarding tens of thousands of programs and millions of lines of code that could be effortlessly reused. For this reason, standards like POSIX and Linux along with software reuse are paramount. We offer this
but don't take our word for it - check out the largest vendor too and see what they offer now, albeit on larger processors!
The criteria to eliminate most time and risk for microcontroller development are really very simple: portable C code, an operating system standard (the broader the better) and as much off the shelf software as possible including a complete RTOS. It takes no more than that to be a hero in your organization.
Monday, January 26, 2009
Vista and Quality
In the past few months I've grown to like Vista a great deal. It offers good features and is very reliable. In this instance it recovered itself in about 5 minutes. I don't expect it will happen again. I did have one other problem in the last year but a system restore took care of this problem related to a virus. The world has changed completely. Windows is now as reliable as Solaris it would seem.
Now, when Linux gets there, we'll be in great shape.
Monday, December 1, 2008
ST Software and Cortex M3
It seems that the era of self tuning of motors is upon us. When traditional methods were used to tune processors using step responses, load tuning was a big part of the work. I suspect it still is if you want to get 100% out of the motor and driver for a specific application. These tools should make it easier though, getting you into the center of the envelope with zero effort.
But still, why no loop tuning option in the tools? Likely it introduces too many dependencies like host target communication, real time data collection and recovery and many more.
Great work ST
Wednesday, November 26, 2008
International Product Life Cycle for Software
First, international product life cycle states that innovation starts in a home developed country and becomes successful as a product. Then it competes in other developed countries with products from within these countries. As the technology matures, it moves into the developing world by means of export. Then the developing world starts manufacturing for home use and eventually manufactures and sells back into the developed countries.
There are many examples of this. It transpires because of the dynamics of the theory of comparitive advantage as it occurs over time.
For software, the twists are the following:
a) It is much easier to move production off shore to reduce costs associated with add ons. For this reason this happens relatively early.
b) Because the knowledge associated with developing add on products and services allows the developing country to develop the same or better skllls as the parent, often the entire product or idea can be copied to provide a much lower cost version off shore sooner rather than later. If the product enhancement is done as a branch of the parent company, IP is protected. If the enhancement is done to an outsourcing company, it is very likely that the company is creating a vehicle to copy it's product.
Comments?
Disruption of Microprocessors by Microcontrollers and Its Long Term Effects
As Christianson predicts with the Innovators Dilema model, microcontrollers came in on the low end and started competing on a new parameter - system on a chip solutions. Ten years ago they could run a few assembler instructions. Today they can put enough memory on the processors to compete with mpu and board level solutions of 10 years ago. They are currently capturing this business.
Microcontrollers are gaining ground because mcu technology is being commoditized into consumer goods which are sold in very high volumes. This high volume is pushing prices down and microcontrollers are a natural solution. BOM costs can drop by substantial amounts resulting in a big improvement in profitability for the OEMs.
Too cool.... theory meets practice....
Comments?
Wednesday, March 12, 2008
CeBIT 08
- embedded systems totally moved to Embedded World
- consumer electronics largely moved to a Berlin show
- competing Auto electronics shows
- competing industrial shows
The coolest things for me?
- 3D Plasma TV - not shabby, good view angle
- Lane change and wander warning electronics for cars
- A rack of Sun servers (complete rack, 19" style) running on 1095-1097W ... thank multicore.
- Low cost bluetooth chips from Korea ($4.80 USD in 10k without negotiation)
- 50 Chineese vendors charged for IP violations with a 5 year penalty in jail waiting for them!!!
I think trade shows are still fashionable in Europe - its too bad we don't have travel budgets for this in North America any longer. It was educational.
Embedded World 08
One of the most interesting things I saw was the Luminary products. They are going to challenge the traditional microcontroller vendors with Arm M3 Cortex designs (32 bit design) at 8 bit prices. It should be interesting to watch.
The most interesting part for us was the fact that nobody knows that there is a tiny tiny embedded Linux compatible RTOS called Unison or DSPnano that they could use in the microcontroller space where other solutions simply don't exist. The microcontroller vendors understand the need but the customers don't know there is a solution. That is our challenge.
And Elke Antonia Bergmann, thank you for the great job at the show! You're the best! Now how can I hire more people with this attitude?
