The next explanation is from the goal to create a generic embedded framework with the next key points
- Taking advantage of the open source community
- To be online of the trend market
- Fast time to market
- Low cost engineering development
- Low cost finish product
- Easy portability of the framework to specific products
Hardware
Obviously the heart of the system is the MCU/CPU. My approach was to find out a balance between the cheapest, most powerful, and higher trend MCU in the market. Without any doubt the winner is the AMR, many manufacturers have adopted these cores: TI, Samsung, nVidia, Intel, Atmel, NXP, Freescale, a never ending list. For a system designer like Cisium this provides a big advantage, this allows to switch between manufacturers with similar cores with a great reutilization of the knowhow.
The ARM architecture for our scope of embedded development is better positioned than MIPS, PPC, x86, AVR32, PIC32, etc. Just as reference, a NXP 1114 based on the ARM Cortex M0 can be purchase for 1 USD!
I have been a fanatic of the 8051 architectures, PIC, AVR and others, and I have used it in many designs, but not choice, I have to surround to the evidence ARM architectures is the winner and the trend. Obviously this is from the point of view to try to define a generic reusable solution, of course for a very specific and very sensitive price application a very small PIC or similar MCUs could be much better solution.
I haven’t found out an open source HW platform, Aurdino is good, based on the ATmega an excellent MCU, but expensive for what they give, just keep in mind that Atmet is manufacturing MCU based on ARM, so later or soon I think they we decided what architecture of 32 bits to follow they own or the ARM one.
Basically I recommend purchasing some of the excellent development kits available in the markets; they are they not free, but very cheap. They will give you a starting point to create your own platform for many different applications with a fast time to market and low cost engineering development with a very controlled material cost.
For instance, in Cisium one of our branches is focused on the NXP ARM processor: Cortex M0, Cortex M3 and ARM926. Those are the cheapest ARM processors in the market.
Software
Software nowadays has the bigger impact in the engineering cost of a specific product. A special effort must be done in order to create high quality and reusable code. Key points are the software architecture, the software testing the operation system and the middleware.
From a perspective of a generic embedded platform with a powerful software support, I believe that a Real Time OS is a must. I don’t think naked software is the best approach for embedded systems, unless you have to implement a much optimized product, where is important to save few KB and some CPU load.
We have canceled our internal project to create our own RTOS, and we have decided to a join to a good open source community for that matter. We have split the OS / RTOS market in 3 groups
RTOS with minimum implementation footprint
We have evaluated over 18 RTOS, and the evaluation still is ongoing. We have included commercial and open source. So far the ranking is like this:
1. ChibiOS/RT. It is with the minimum footprint RAM 800B, FLASH 4.36KB without test codes.
This software is totally free and can be used for commercial product, it only required by putting a link to the project somewhere on the web site or documentation to advertise that we are using ChibiOS/RT . The commercial license will be offered after the version 2.0.0 release.
The forum is not very active, the documentation is fair. The RTOS is very mature started on 2007
2. FreeRTOS. RAM 2 KB (the web site said only 344 Bytes, but I think it is just marketing), 7.41KB with very reduces functionality.
Good Website with lot of information. Has pre-configured demo applications for selected single board computers allowing ‘out of the box’ operation and fast learning curve.
In Free support, you will be redirected to their active Forum which already has lots of thread, which could be a good source for support.
It also has regular update, expected in 1-3 months gap.
Knowing that commercial OSes like OpenRTOS and SafeRTOS are based on FreeRTOS give us some idea how Good this OS is.
3. ERIKA Enterprise. RAM 200 Bytes, FALS 800 – 2000 Bytes The footprint is not yet confirmed.
ERIKA Enterprise main idea is to be a tiny minimal system useful for automotive applications, as well as small embedded applications requiring real-time support.
Cobra Automotive Technologies an international group providing worldwide user-friendly vehicle-centric solution and Magneti Marelli Powertraing an international company committed to the design and production of hi-tech systems and components for the automotive sector, announced their support to ERIKA Enterprise. They will provide Architecture Ports for various microcontrollers which will be used in their future products.
Knowing that these two big companies is using and giving their support to ERIKA Enterprise will make developers think that ERIKA is a reliable RTOS.
4. Others. Like Micrium uC/OS-II, it is very good with excellent documentation but unfortunately is not free license for commerce
RTOS of medium size, with already integrate middleware. Without MMU requirement
In this group we putted OS like ucLinux, NuttX ROS or RTEMS. We have decided to cancel this activity and consider only compete OS like Linux, since the MCU with MMU support is not much expensive that without.
I really like ucLinux, but honestly I think it is declining with respect the Linux father.
Complete OS, where it is required MMU
The clear winner is Linux and their different flavors. We have under evaluation up to 14 complete OS, including many Linux distributions.
So Far I think the best option is to develop your own Linux distribution or to take the one suggested by the MCU vendor. Keep in mind that one of the most activities in Linux for embedded is to create your specific drivers for you specific hardware.
A special mention must be done to Android, the child form Google based on Linux. We are 100% sure this is going to grab 50% of the market in embedded applications in mobile and tables, so dear developer… go for it, a huge market is opening in from of us.