Embedded Blog
Embedded Blog RSSSimple measurements of software trace data using Sourcery Analyzer
My last post covered how to import data into Sourcery Analyzer that didn’t come from the Linux Trace Toolkit. In this post I’ll show you a few simple tools you can use to inspect the data in more detail. If you are using Sourcery Analyzer its because you want to explore the software behavior or performance of your design. This task is really three parts in one:
- Data collection: Gathering up information from the target. Sourcery Analyzer helps by providing automated data collection for Linux and Nucleus systems and a means to import data of any type that can be expressed in a text file.
- Data analysis: Turning this raw data into useful answers. Sourcery Analyzer has a pre-stocked library of analysis routines or you can add your own if need be.
- Making comparisons and form conclusions: This is the part that is up to you and the spongy grey matter you’ve got! Sourcery Analyzer does have some tools to help, though.
In the next post I’ll introduce you to the advanced measurements which can be accomplished using the other measurement tools offered by Sourcery Analyzer. If you would like to try some of this on your own please consider picking up an evaluation copy of Sourcery Analyzer. If you have questions feel free to leave a comment or drop into the Sourcery Tools forum and ask.
Tags: Sourcery Analyzer
Open source components for your embedded platform SDK
Let’s start with some trivia –
Which company has contributed over 10,000 changes to the official source repositories for the GNU toolchain?
No luck? Ok, maybe this will help:
This same company’s engineers hold over 50 leadership positions (maintainer, reviewer, steering committee member etc.) in the open source community!
I would not fault you for thinking of Fortune 500 high-tech names, but the answer is Mentor Graphics, specifically the Mentor Embedded division!
Embedded processing platforms – be it for graphics, mobile, industrial or any other application, rely on a stable SDK to enable end developers fully leverage the offered capabilities.
The development toolchain is an essential piece of the SDK, and it is a popular choice to use open source software components to build this. At Mentor Embedded, we have been enabling platform vendors deliver a quality SDK built around a full validated OSS-based toolchain founded on the Sourcery CodeBench development environment.
Given Mentor Embedded’s solid expertise and OSS knowhow, it is no surprise that we are a popular choice for semiconductor and system houses to enable their embedded development needs.
Some notable examples of SDKs that use the Sourcery CodeBench toolchain include the Qualcomm BREW MP SDK and the Xilinx Zynq SDK.
Apart from enabling commercial embedded platforms, the popular Sourcery CodeBench Lite toolchain is the cross compiler of choice for popular development boards such as the BeagleBoard and the PandaBoard.
To learn more about Sourcery Codebench and how we can help with your SDK needs, please visit the Sourcery Services page.
Tags: beagleboard, codebench, gnu, pandaboard, qualcomm brew, sdk, sourcery, toolchain, zynq
Smart Energy Profile (SEP) 2.0 specification released – What this means to you?
In February, I had blogged about the emergence of the smart energy arena, made up of an ecosystem stretching from the utility to your home including connected devices such as data concentrators, smart meters, home gateways, smart appliances etc.
A common standard that outlines the requirements regarding connectivity and intelligent communication between these devices is the Smart Energy Profile (SEP) 2.0 specification. Late last month, SEP 2.0 was ratified and is now available for download from the ZigBee Alliance’s website.
SEP 2.0 has a number of changes compared to its previous rev (v1.1) including support for multiple standards (ZigBee, Wi-Fi), an expanded list of Function Sets including Demand Response & Load Control, Price, Metering and more. Check out this EE Times article for an overview of the SEP 2.0 standard.
As increasing number of manufacturers join the ranks of designing smart energy and IoT (internet-of-thing) devices, it is useful to be aware of the requirements to design a SEP 2.0 compatible device.
At Mentor Embedded, we have been working closely with customers designing SEP 2.0 compatible devices and fully understand the demands of such a project. Nucleus is the RTOS of choice in these applications, offering a breadth of connectivity, networking and security features necessary to design a SEP 2.0 compatible device.
Please review this video for an understanding of the hardware and software strategies involved in designing SEP 2.0 compliant embedded devices.
Tags: Nucleus SEP, RTOS, smart energy, smart grid, smart meter, Wi-Fi, zigbee
Do you want Embedded Android or Linux in your car?
It is very likely that you will be getting either Linux or Android operating systems as part of your Infotainment System or Instrument Cluster in a latest model car. Designs based on these operating systems are now getting into production, with some European OEMs going first but many others close behind. How designers chose which operating system to use is a very current debate – the popularity and rapid growth of Android is unparalleled in operating system history – around 70% of smart phones sold are now Android based. These phone users are now expecting the functionality of Android, and Android App access in their cars.
On the other hand, Android is very unproven as an in-vehicle software platform, and does not have a strong automotive team at Google behind it. How secure and safe is it? As an alternative, Linux has the weight of the GENIVI industry alliance promoting it as an open source platform solution for IVI design. The 169 GENIVI members can’t all be wrong can they? Deciding which software platform to use is not necessarily a clear-cut decision, so we put together a short webinar to share the issues, and some market dynamics on this intriguing subject.
You will hear about :
- Android and Linux : Ownership & Roadmap
- Licensing
- Performance
- OEM and Tier 1 take-up
- Development Community
Please join us on May 16th – you can register at :
Tags: Android, automotive, genivi, Infotainment, Linux
New Supported Boards for ARM & Power Architectures
Hello all – Matt Radochonski from the Mentor Embedded marketing team with an update on our new board support packages for the last two months.
You may have noticed from our monthly newsletters that we’ve released new BSP’s for Nucleus RTOS, Nucleus SmartFit and Nucleus ReadyStart for ARM and PPC architectures as well as TI, STMicroelectronics and Freescale MCU’s. Below is a list of the new and updated BSP’s.
All Nucleus BSP’s are power-aware (click here for more detail on low-power design) and you can view the entire Supported Processor matrix here. If you don’t see your particular hardware supported, let us know and we’ll see what we can do.
| Nucleus RTOS BSP Updates: | |||
| Development Board | Processor Vendor | Supported Drivers | BSP Version |
| Hitex LPC4350EVAL | NXP | UART, SD/MMC, Kernel, CPU, I2C, SPI, USBH | 1.0.0 |
| Stellaris LM3S9D96-DK | Texas Instruments | SAFE NOR, SD/MMC, UART, Kernel, Ethernet, Touch Panel, USB Host, USB Function, CPU, I2C, SPI, LCD | 1.0.1 |
| AM335x Evaluation Module (Rev 1.1A) | Texas Instruments | Kernel, CPU, UART, I2C, SPI, CAN, LCD, Touch Panel, SAFE NAND, SD/MMC, USB Function, USB Host, Ethernet, Wireless | 1.2.1 |
| MPC8349EA-MDS-PB (Rev-A) | Freescale | Kernel, CPU, UART | 1.0.0 |
| BeagleBone (Rev A5) | Texas Instruments | SD/MMC, UART, Kernel, Ethernet, USB Host, USB Function, CPU, I2C, SPI | 1.0.0 |
| Nucleus SmartFit | |||
| MCU | Version | ||
| Texas Instruments | Stellaris LM3S9D96DK | ||
| Texas Instruments | Stellaris LM4F232EK | ||
| Texas Instruments | Launchpad LM4F120XLEK | ||
| STMicroelectronics | STM3240G | ||
| Freescale | Kinetis TWRK70F120M | ||
| Nucleus ReadyStart | |||
| MCU | Version | ||
| QEMU | 2.0.0 | ||
| Freescale i.MX28 | 2.0.0 | ||
| Texas Instruments Sitara 3517 | 2.0.0 | ||
Tags: board support, bsp, supported processors
Delivering GENIVI IVI Systems
It has been interesting to be involved in the evolution of the GENIVI Linux Infotainment solution, and the progress of early adopters taking their implementations to market. At the GENIVI All-Members meeting in Barcelona last week, BMW presented some details of their 3-year journey to take a GENIVI 1.0 Compliant Linux-based platform into production, scheduled for later this year.
The early work of the project was around software integration, platform selection, middleware and libraries. The work of course involved several other organizations, providing software and hardware components such as Harman, nVidia and Magneti Marelli. However the final responsibility for performance optimization and tuning for the complete system fell to BMW, who implemented the user interface themselves, and had to carry out further work on such issues as CPU Load, context switching between tasks, and Graphics/HMI performance. It is always hard, if not impossible, to predict performance until the full prototype is available, and as it turned out, there were many design adjustments needed. BMW presented the pre-production solution in their cars at the GENIVI members showcase last Thursday– it is hard to tell from the outside that there is so much Open Source software within!
Another area that caught my attention, and is likely to cost members a lot of time and energy in future, is around Open Source Software Licensing. Car makers have avoided using any Open Source software covered under the terms of GNU Public License V3 (GPLV3), because of the requirement to allow end-users to have the ability to modify, update or replace the software. The implications on warranties and liabilities are to hard to accommodate at present. So a lot of Open Source software is being made available under the more acceptable (to a car maker) GPLV2. However, even merging GPLV2 code with other license types such as Apache or BSD, and potentially some vendor-proprietary licenses, can throw up conflicts between the license terms when the software is combined into a single Infotainment product. Commercial scanning tools are available, such as Black Duck Protex, which automatically check if any included Open Source has been modified, without the original use terms being preserved and passed on (CopyLeft). However these compliance scans can produce massive amounts of output-data, and resolving any reported license conflicts can involve a lot of painstaking investigation. Some may be false-positive matches, but all have to be investigated and/or dismissed. The remedies may require removal of some Open Source components, or re-writing of software functions.
Making sure all license conflicts are resolved is ultimately the responsibility of the car-maker selling the vehicle – this is new territory for many automotive organisations more familiar with a strict code of liability and responsibility from their supply chain.
Pre-Silicon Software Development with Sourcery CodeBench Virtual Edition
Pre-Silicon Software Development with Sourcery CodeBench Virtual Edition
I recently got a crash course in hardware/software design workflows. While my software background is strong, my hardware design knowledge is very light. Any thoughts I have on Karnaugh maps or rising edge flip-flops are quite dusty. Even so, I clearly understood the problems solved by the new Sourcery CodeBench Virtual Edition, which does two things:
- Allows software teams to use a familiar Eclipse-based development environment to develop software on hardware that doesn’t exist yet using work-in-progress hardware models provided by the hardware team.
- Allows hardware teams to run real software on their work-in-progress hardware as part of their validation testing, complimenting the use of randomly generated test cases.
Debug on Vista Simulation and Veloce Emulation Targets
How does it work from the point of view of the software developer? These hardware models are available via additional Eclipse debug configurations, like you would see if you were debugging on a variety of embedded target boards. Under the hood, these hardware models are brought to life by Mentor Graphics’ very own Vista simulation and Veloce emulation platforms.
Shorter Time to Market
Note that these things happen pre-silicon. That is, the hardware team has yet to tape out and no hardware prototype boards have been produced yet. Normally at this stage in the product lifecycle, the software team must wait until hardware prototypes are available to begin writing and debugging hardware specific code.
With Sourcery CodeBench Virtual Edition, the software team can get a head start on software development and work in parallel with the hardware team even during the early parts of the hardware design phase. Once real prototype boards are available, the software team proceeds to use the same development environment they have been using all along. This leads to a compressed overall product delivery schedule and while increasing overall design confidence.
Sourcery CodeBench Virtual Edition Video Demo
Watch as we use Sourcery CodeBench Virtual Edition to debug a FIFO driver, fix software bugs, and uncover hardware RTL problems pre-silicon using both Vista virtual prototype simulation and Veloce emulation targets. Sourcery Analyzer is deployed to identify and reduce estimated power consumption. Lastly, we kick off a debug session on a real hardware prototype board using the same familiar development environment.
Tags: emulation, pre-silicon, qemu, rtl, Sourcery Analyzer, sourcery codebench, SystemC, veloce, virtual edition, virtual prototype, vista
About Embedded Blog
Open source experts discuss challenges and community happenings for embedded Linux, automotive, IVI, HMI and technology integration.
Latest Posts
- Simple measurements of software trace data using Sourcery Analyzer
- Open source components for your embedded platform SDK
- Smart Energy Profile (SEP) 2.0 specification released – What this means to you?
- When an Innovative Plan Works!
- Do you want Embedded Android or Linux in your car?
- New Supported Boards for ARM & Power Architectures









