Embedded Blog

Embedded Blog RSS

Simple measurements of software trace data using Sourcery Analyzer

May 22nd, 2013, by | Permalink | No Comments

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:

  1. 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.
  2. 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.
  3. 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.
Sourcery Analyzer helps you to make comparisons and draw form conclusions by creating data visualizations for you. My last post ended with this simple graph of my Honda Accord’s RPM over time:
Graph of imported data showing RPM
Graphs like this are great for quickly grasping the nature of the data. Making a comparison requires more detail, though. One of the most fundamental tools in Sourcery Analyzer is the “cursor”. This short video will demonstrate how to use cursors (yes, more than one!) to make precise observations in the graph.

One of the fundamental principles of data visualization is that a visualization needs to both show the data and make comparisons. For simple comparisons cursors can be a simple way to make your point. Often showing just a bit of data can be valuable as well. If you need to review the source data you can always do so using the Trace Viewer:
This is far more than just a simple viewer. The Trace Viewer can also display data synchronized with the graphs so that both forms can complement each other. To do so Sourcery Analyzer uses a “synchronization marker”. Synchronization markers designate a point in time of a graph or trace viewer at as being locked together. Then any scrolling that happens in one view is reflected in the other such that the same offset from the synchronization marker is displayed. In the simple case setting the synchronization marker to the beginning of the data is what most people want. This video will show you synchronization markers in action:

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.

If you import something interesting to Sourcery Analyzer please come back and leave a comment!

Tags:

Open source components for your embedded platform SDK

May 21st, 2013, by | Permalink | No Comments

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: , , , , , , , ,

Smart Energy Profile (SEP) 2.0 specification released – What this means to you?

May 15th, 2013, by | Permalink | No Comments

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: , , , , , ,

When an Innovative Plan Works!

May 14th, 2013, by | Permalink | No Comments

Free Nucleus RTOS source code? Just a few years ago if you would have told me that Mentor Graphics would be offering free-source-code for one of the most successful, popular and distributed RTOS’s in the world, I would not have believed it. Yet, for the last few quarters, Mentor is doing just that! The Nucleus Innovate Program was announced November 2012 and adoption is picking up quickly!

To date, semiconductor partners TI, STMicro and NXP are key participates. Having semiconductor support for the Nucleus Innovate Program is critical for two reasons: (a) the semiconductor partners are working with Mentor to create a number of new Nucleus BSPs for the Innovate Program which gives customers more choice and (b) Semiconductors have a lot of small customers who can benefit from the Nucleus Innovate Program. It’s truly a win-win-win for Mentor, our Semiconductor Partners and small customers!

There has been dozens of Qualification Forms submitted thus far. Many have been approved for small companies, startups and entrepreneurs who have received a free license of the Nucleus source code and Sourcery CodeBench Development tools. The community support and market response has been fantastic. In the coming months, we will introduce a number of new BSPs developed by our semiconductor partners and announce some new partners.

Innovation seems to be happening in lots of market segments. I personally review all Qualification Forms and have a good feel for the application types that are being submitted. For example, some example application segments that have been approved are: automotive diagnostics, wearable medical, motor control, industrial scales, water quality, fluorescence microscopy, radio control, satellite and flight simulation.

I’m delighted and please about the number of Qualification Forms and diversity in application types being submitted. It’s great to see the interest and adoption of the Nucleus Innovate Program in such a short time. Needless to say, I like it when an innovative plan works… so what’s holding you back, let’s go innovate!

More information about the Nucleus Innovate Program and the simple Qualification Form can be found here: http://www.mentor.com/embedded-software/nucleus/innovate/

Tags: , , , , , , , , , , ,

Do you want Embedded Android or Linux in your car?

May 9th, 2013, by | Permalink | No Comments

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 :

http://www.mentor.com/embedded-software/events/nting-android-based-automotive-infotainment–ivi–systems

Tags: , , , ,

New Supported Boards for ARM & Power Architectures

May 6th, 2013, by | Permalink | No Comments

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: , ,

IoT in the Hospital: Webinar by Mentor Embedded, Silex America and Freescale

May 6th, 2013, by | Permalink | No Comments

In the high-tech market, the IoT is driving connectivity requirements in devices across many segments. Considering the number of embedded medical devices hospital, you can quickly imagine areas where Wi-Fi connectivity can be used to connect devices, patients, administrators and doctors. For example, Wi-Fi can be applicable in the doctor’s office, in the operating room, at the nurse’s station, in the waiting room and so on. There are lots of dedicated embedded devices that have a specific purpose in the hospital. Just as we see consumer devices becoming connected and able to multitask, electronics in the hospital can achieve the same levels of connectivity.

Perhaps wishful thinking, but maybe an app will surface for connecting those devices with Smartphones. This personal app could manage your medical history and insurance credentials. It could also capture your vitals with check boxes for why you’re in route to the Doctors office or hospital. And maybe that information could be communicated by your Smartphone on the way to the hospital to minimize the wait-time and paperwork (go green) during the check-in process.

In the meantime, Mentor Embedded, Freescale and Silex America are teaming up to present an informative webinar on their joint technologies help to speed develop cycles for customers building medical devices. Mentor Embedded creates the Nucleus RTOS and Sourcery CodeBench tools, Silex America creates the Wi-Fi hardware modules and Freescale brings the popular i.MX family of ARM based platforms. While the individual products offer good value to prospective customers, the combined technologies and the right blend of integration brings significant value that saves time to market for developers.

Each company is well represented by experts in their products to talk about how the integrated technologies present optimized solutions for medical devices. During this webinar, you will learn about the embedded software and hardware challenges developers medical devices are faced with and how Mentor, Silex and Freescale are working together to provide fully integrated solutions on i.MX hardware to speed times to markets for our customers. Nucleus is offered with well documented source code and has been deployed in over 3 billion units worldwide. Moreover, Nucleus has been deployed in over 90 FDA Class II and Class III devices. Freescale has a significant medical installed base and Silex offers best-in-class Wi-Fi modules. Collectively, all three companies enjoy mutual customers in the medical space and will be eager to share best practices and lessons learned during the webinar.
To sign up for this webinar, please visit the registration link.

 http://www.mentor.com/embedded-software/events/connecting-medical-devices-securely-over-wi-fi-in-hospitals

Tags: , , , , ,

Delivering GENIVI IVI Systems

May 1st, 2013, by | Permalink | No Comments

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.

Tags:

Pre-Silicon Software Development with Sourcery CodeBench Virtual Edition

April 30th, 2013, by | Permalink | No Comments

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 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.

Sourcery Codebench Virtual Edition Debug Configurations

Sourcery Codebench Virtual Edition Debug Configurations

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.

Hardware/Software Uncompressed Schedule

Hardware/Software Uncompressed Schedule

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.

Hardware/Software Compressed Schedule

Hardware/Software Compressed Schedule

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: , , , , , , , , , ,

Enabling M2M devices with zero configuration networking

April 29th, 2013, by | Permalink | No Comments

The concept of machine-to-machine communication (M2M) is the foundation of the Internet of Things (IoT). Of the few core technologies that help facilitate this, zero configuration networking (zeroconf) is key.

Zero configuration networking is what allows your personal, portable wireless devices to talk to other similar devices – without any additional setup required from the user. In the pre-zeroconf days, users were required to perform admin tasks such as configuring DHCP and DNS server services. Obviously, the barrier to setup and configure wired/wireless networking was quite high.

Zero configuration networking gets around these limitations by relying on newer advanced methods. Two key methods, IP Multicast DNS (mDNS) and DNS-SD, for example, allow name-to-address resolution and automatic service discovery.

Although zeroconf has been around for a while, its importance has taken a whole new dimension given the rapid growth of internet enabled devices. Wi-Fi connectivity is ubiquitous in consumer devices, be it cell phones, tablets, Blu-ray players, TVs, cameras and more. Even non-traditional everyday use products such as refrigerators (streaming Pandora!) and cars are beginning to be proliferated with this interface.

By allowing devices to “talk” to each other, a seemingly limitless list of applications is enabled. Needless to say, when designing embedded devices for M2M applications (smart energy, medical, logistics etc.) it is important that the hardware and software chosen support the necessary interfaces and protocols. Nucleus RTOS has been customer proven for M2M applications and supports a wide range of connectivity and networking options including TCP/IP, IPv4/v6 and zero configuration networking.

Click here to request a trial of Nucleus ReadyStart to see how Nucleus can help with the design of your IoT device.

Tags: , , , , , ,

Open source experts discuss challenges and community happenings for embedded Linux, automotive, IVI, HMI and technology integration.