LONDON – High-level modeling and simulation company Imperas Ltd. has released a reference virtual platform based on the ARM Cortex-M3 processor core that runs the Micrium uC/OS II real-time operating system.
In addition, Imperas has expanded its Multiprocessor/Multicore Software Development Kit (M*SDK) to include CPU-aware support for the Cortex-M3 processor model, and OS-aware support for the uC/OS II RTOS.
The reference virtual platform models, including the processor model for the Cortex-M3 processor, are available from the Open Virtual Platform web site. The uC/OS II RTOS is available from Micrium and M*SDK is available from Imperas.
Imperas has focused on producing instruction-accurate models of ARM Cortex processors as well as ARM7, ARM9, ARM10 and ARM11 processor core families. Such high-level models allow significant software development ahead of processor or microcontroller silicon as they run at a speed of hundreds of millions of instructions per second.
"Virtual platforms are gaining ground by allowing developers to code and test a fair portion of their systems prior to running on actual hardware. Our μC/OS family of products, when combined with solutions from Imperas, can significantly help developers reduce time to market," said Jean Labrosse, president of Micrium, in a statement from Imperas.
Virtual platforms utilizing OVP processor models can be created with the OVP peripheral and platform models, or the processor models can be integrated into SystemC/TLM-2.0 based virtual platforms using the native TLM-2.0 interface available with all OVP models. The OVP simulator also has integration into the Eclipse IDE [integrated development environment, enabling easy use for software developers.
In addition to working with the OVP simulator, these models work with the Imperas advanced tools for multicore software verification, analysis and debug, M*SDK, which includes tools for software development on virtual platforms such as OS and CPU-aware tracing, profiling and code coverage analysis.
"OVP, with ultrafast simulation, accelerates the development cycle and makes debug and test easier for software engineers. And M*SDK provides a more sophisticated set of tools addressing bleeding-edge embedded software development issues," said Simon Davidmann, president and CEO, Imperas and founding director of the OVP initiative.
It is good to see support for the RM Cortex-M3 processor core and the Micrium uC/OS II real-time operating system. I wonder how hard it would be to add on new/unsupported BSDs to enable simulations of board level systems? The virtual platform / machine is a nice concept but I am wondering if there is any performance hit with using it on the bare metal machine platform in addition to the rest of the OS and related system processes?
Can't remember exact dates but around 1985/6 one of my programmers wrote an emulator for the very first ARM chip based purely on the specification of the ARM design team. Thankfully, or rather surprisingly, it worked almost perfectly first time with just one slight error.
The platform for this miracle? The humble BBC Micro, okay it was a Master 128k if memory serves me correctly!
VM has been an excellent tool to shorten product development cycle. Product development team uses VM to bring up a basic Linux platform and, starts developing various applications and testing. As soon as the development is close to the last phrase, the VM will be ported to a bare metal machine for further testing and verification. It has been helping my team to get through the development cycle in a far shorter time. The challenge of this method is to port the VM to a bare metal machine. It can easily be done on x86 architecture. It becomes tricky on ARM or any other platform.
Join our online Radio Show on Friday 11th July starting at 2:00pm Eastern, when EETimes editor of all things fun and interesting, Max Maxfield, and embedded systems expert, Jack Ganssle, will debate as to just what is, and is not, and embedded system.