embedded

10 articles

Back to Reverse Execution

By Jakob Engblom  Simics reverse execution and reverse debugging is a unique and very powerful feature of the simulator. In this blog post and accompanying video, we will look at what exactly it is you can do with reverse execution in Simics. It is not just a matter of running backwards to a breakpoint or stepping instructions (pick up my 2012 S4D article for…

How Simics Gets Started (with video)

By Jakob Engblom ?Having worked with Simics for more than a decade, it is easy to get blind to the obvious. To me, starting a Simics simulation is a trivial thing that I do many times per day. However, to a newcomer to the product, it is not so obvious, and it might even seem a bit daunting. It is…

Inspecting and Reconfiguring a Target in Simics 4.8

By Jakob Engblom  As we said in the first blog post on Simics 4.8, a really big new feature is the System Editor function. The system editor combines two functions into a single view, both the exploration of an existing target as well as the modification and even construction of a new target from existing pieces. A demo video is available on the Wind River channel on YouTube,…

Simulation is a competitive advantage!

By Michel Genard The American general election is over. Pundits providing postmortem analysis will continue to generate a ton of studies. Let’s examine one aspect of the election that has already generated some interesting ink. This article in Time Magazine mentions how analytic teams tried to predict election results, even running as many as 66,000 simulations night after night. The…

Analyzing Manycore Scaling with Simics

By Jakob Engblom In my previous blog post on multicore scaling investigations with Simics, I tested a simple parallel program on a variety of machines. The scaling obtained was not particularly impressive, especially not on a 60-core target machine. In this post, we will use the Simics timeline view to look a bit closer at what is going on inside the…

Resistance is futile. You will be simulated!

By Michel Genard Within our blog series, we frequently refer to functional simulation as a requisite to do things that aren't possible in the real world when working on a physical board and a cross development system to develop embedded software. By using simulation, you’re transported to a novel dimension where, because of the control over time, you can become…

Diab Compiler Adding Support for new Infineon TriCore AURIX Microcontrollers

By Graham Morphew Infineon Technologies recently announced their next generation family of 32-bit TriCore™ microcontrollers for automotive applications.  The new architecture is called AURIX™ (AUtomotive Realtime Integrated neXt generation architecture) and it supports multi-core architectures of up to three independent TriCore CPUs.  The feature set of this new AURIX family is a perfect match for powertrain applications, electric vehicles as…

Forcing Rare Bugs to Appear – an Interview with Tingting Yu

By Jakob Engblom One use of Simics that has always been fascinating is to use the power you have over the target to somehow force error conditions in software. The hardware state control inherent in a tool like Simics should be useful to knock a system off of the expected common path and into code less tested, and to reveal…

Making a Faulty Serial Port

By Jakob Engblom  As noted before, one common use case for Simics is doing fault injection.  Fault injection is typically added to an existing system without changing it, since the goal is to maintain a fundamentally fast simulator when not injecting faults.  There are a range of mechanisms available in Simics to implement fault injection. This blog post will take a…

Catching up at IDF 2011 – An Embedded Chat with Intel ECG

By Eddie Glenn In case you missed it, the Intel Developer Forum (IDF) was held last week in San Francisco.  The Simics team was busy at IDF with multiple Simics-related events being held.   At IDF, we handed out free memory sticks preinstalled with Simics, models of Intel devices, and a hands-on tutorial.  This is a great way to quickly learn…