Search


  • WWW
    Wind River Blog Network

Disclaimer

Tips & Tricks Posts

August 30, 2010

Available Now: Wind River Developer Community for Linux!

By Kay Stanley

Kay_lg Check this site out! http://developer.windriver.com.

Our initiative to create a resource for our Linux users to connect with others is now a reality! This project focuses on encouraging interactions between Wind River users, Wind River engineers, and embedded Linux community experts.

Continue Reading >>

Consolidate, Consolidate, Consolidate

By Mark Hermeling

Hermeling_lg Many telecom applications are actually built up from multiple smaller sub-applications, often running on their own server in a rack, ATCA or otherwise. These servers run on multi-core processors, depending on the age of the last refresh this could be a dual, quad core or more. This is of course nothing new, what's new is how virtualization can improve server utilization.

Continue Reading >>

August 20, 2010

Coming Next Week: Wind River Developer Community for Linux!

By Kay Stanley

Kay_lg We have been busy creating a new resource for our Linux users to connect with others! One of the most high profile and exciting initiatives that I've been tasked with, is to partner with other Wind River staff, and create a place for Linux users of all kinds to come together. We've heard what our customers have been asking for and they were the key drivers behind this project:

Continue Reading >>

August 09, 2010

It’s Time for Testers to Step Up

By Paul Henderson

Henderson_lg RTC Magazine recently published an article that I wrote called "Time to Rethink Software Testing for Embedded Devices". In it I describe some of the new techniques that are possible, and I believe necessary, to delivery high quality device software for embedded devices.

  • When staying 'positive' doesn't pay
  • Getting negative with white box testing
  • Focusing on the 'deltas' with change-based test automation

Continue Reading >>

August 02, 2010

Test Driven Development Meets Continuous Integration

By Paul Henderson

Henderson_lg In my last posting I mentioned I'd be running a webinar with James Grenning on Agile testing. James is a recognized expert and frequent speaker on the topic of software development and one of the original authors of the Manifesto for Agile Software Development.

We talked about the case for agility where today's embedded software projects are inevitably faced with changing requirements and market conditions that cause unplanned, mid-course corrections. The result is what went in is often not what was expected to come out. Testing folks are the tail trying to wag the dog as they try to test in quality at the end of the project.

Continue Reading >>

June 22, 2010

Bill-Of-Material

By Mark Hermeling

Hermeling_lg Bill-of-material is something that is important in many devices and I have argued before that virtualization can help with this. Say you have a medical device like an MRI scanner, it is not uncommon that this device has three processors that collaborate. One processor, often in a separate box like an industrial PC, runs MS Windows and is the operator interface, possibly with touch-screen GUI. This is where the results are displayed.

Continue Reading >>

April 29, 2010

Leaders and Followers

By Mark Hermeling

Hermeling_lg Events such as ESC in San Jose this week are a great way to talk to a lot of customers in a very short timespan. Hence, a great place to be for a product manager like myself. The conversations show a clear difference between leaders in multicore adoption and followers of that adoption.

The discussions with the followers typically start of a bit timid. They are often afraid of multicore and see it as a necessary evil. After a while, they warm up and they start to see that the migration does not need to be very complicated, yes, it is work, but work that can be managed and controlled.

Continue Reading >>

April 26, 2010

So, What Does _Your_ Software Architecture Look Like?

By Mark Hermeling

Hermeling_lg Customers often ask me in my opinion as to what their path to multi-core should be. Invariably I ask them two things. 1) Describe your current hardware architecture, your next hardware architecture and what your hardware architecture will look like in 3 years; 2) Describe your current software architecture and any plans you have to evolve it.

This leads to interesting discussions, most customers can draw their hardware architectures, some can white board their software architectures easily, some have more problems, but I have a strong feeling that their drawing differs significantly from the actual implementation.

Continue Reading >>

April 19, 2010

ESC Silicon Valley

By Mark Hermeling

Mark Hermeling Looking forward to my trip to ESC Sillicon Valley next week. It is promising to be a busy show, especially since ESC is now combined with the Multicore expo. I just leafed through the agenda (in the form of a Nxtbook) and found a large number of sessions that I want to attend, experience show though that I'll probably be too busy talking to customer to attend sessions, which is a good problem to have of course.

I am hosting a 4 hour session (with several of my colleagues) on Multicore Demystified on Tuesday afternoon 2.30-7pm (there will be refresments!) in the Hilton Plaza Room. Do stop by either the session, or our booth at Multicore Expo for a chat if you want to brain storm about your next generation devices.

Continue Reading >>

April 16, 2010

Quit Bugging Me: Making Maps

By Mike Deliman

Deliman_lg A tool commonly used in embedded debugging is a linker map - a map of where all the symbols are in the runtime image.  These maps are useful as they turn raw addresses reported by some exception stubs (etc) into offsets into the data or text (program routines) in the computer's RAM.  They give you an idea of what may have been happening when the error occurred.

Producing a linker map is fairly easy.  Most linkers include command line options to produce a map.  This works fine and is very clear when used from a command line.  But things can get a little confusing from within an integrated gui environment.

Continue Reading >>

March 19, 2010

Quit Bugging Me: Another Surprise NaN!

By Mike Deliman

Mike Deliman An Earlier QBM, "Surprise NAN" covered how floating point computations may become corrupted from unexpected sources.  Today's Quit Bugging Me is about... another Surpise! NAN!

An application runs with several tasks.  One task, which computes a set of floating point values, periodically comes up with bad values, and sometimes the name becomes corrupted.  

Continue Reading >>

March 15, 2010

Virtualization and Fault Handling

By Mark Hermeling

Mark Hermeling In several of my previous posts I have written about the fact that embedded virtualization has low overhead, maintains determinism and all that good stuff. I have also written about some of the benefits of virtualization due to partitioning, scalability and such.

However, there is one aspect of virtualization that gets little 'air time' and that is the fact that there the hypervisor really is a nice, lean, partitioned management layer of your multicore (or single core) hardware.

Continue Reading >>

March 01, 2010

A Sea of Cores, Now What?

By Mark Hermeling

Hermeling_lg A great number of cores gives more processing power, but this power needs to be harnessed. The easiest way to control a sea of cores is of course to run a single operating system over this sea in a Symmetric MultiProcessing mode (SMP). Most modern operating systems support this (which includes Wind River Linux and VxWorks of course).

The trick is to minimize the impact of Amdahl's law. This law describes the maximum theoretically attainable speedup on your multicore processor. Given a N core multicore processor, one would expect an application to run N times as fast, at least ideally.

Continue Reading >>

January 26, 2010

Quit Bugging Me: Revalidated

By Mike Deliman

Deliman_lg One day, I get this phone call. "We're working with the system, we see the calls that update the exception handlers early on - connecting the clock routines, etc. Then not very much farther on we see the system has run past where tasking should be running but it's not. 

When we check, we're not getting any clock interrupts, and the clock exception handler isn't there any more. How could the system do that? Is there any way the OS could remove it's clock connections?"

Continue Reading >>

December 02, 2009

Article: Multi-Core Slow Down

By Mark Hermeling

Hermeling_lg An interesting article by Dan Woods on Multi-core slowdown. The article tries to temper people's expectations with regards to mArticle: Multi-Core Slow Downulticore. The basic argument goes: A multicore processor has more raw processing power, but it requires the software load that runs on top of that processor to be able to use those cores, if not, the software could run at the same speed as single-core, or even slower.

One of the ways to use all the cores of course is multi-threaded programming in combination with an SMP operating system that can schedule over all the cores (SMP being Symmetric Multi Processing). Typically multi-threaded programs use multiple threads of execution and use synchronization primitives to make sure executions happens in the right order.

Continue Reading >>

November 10, 2009

Primary Multicore Software Configurations

By Mark Hermeling

Hermeling_lg Many people ask the question as to what the best approach would be for them to go to multicore and/or virtualization. This is a great question to start a discussion as there is not a single silver bullet.

I meant to post a quick diagram on the different multicore configurations before, but life has been busy since we announced the Wind River Hypervisor earlier this year. Busy in this case is certainly a good thing.

Continue Reading >>

September 30, 2009

Quit Bugging Me: ABI

By Mike Deliman

Deliman_lg

What's in an ABI?  An Application Binary Interface is a lot like a API - Applications Programming Interface, except instead of just telling you how to make a call, what parameters to provide, and what returns and errnos to expect, an ABI also tells you something about how the interfaces work.  Understanding an ABI for a CPU means you understand how the registers are used, what they're for, and what they mean under different contexts.

Among the things ABIs give you is how your CPU formats memory (the stack) when it makes a call to a routine. An easy way to take a look at an ABI is to set a break point on a routine, and look at what the stack contains.  This is on a PowerPC target.  First I'll spawn a task, then extract the current information about the task - stack pointer, stack base, etc, using target-side debug routines. 

Continue Reading ››

August 24, 2009

Quit bugging me: surprise NaN!

By Mike Deliman

You've got a complex system. There are dozens of tasks, a handful of interrupt routines. Your system runs fine, for hours or sometimes days on end. The loading on your system is somewhat "bursty" in that average loading is only about 20% of peak load, and peaks only happen once every hour for less than 5 seconds. Every once in a while, for whatever reason, you suddenly get a divide by zero, not-a-number, or other unanticipated erroneous results on one of your floating point calculations.

In your system you only have a few tasks that employ floating point. You're pretty sure none of your ISRs do, all they do is copy or move data around, they shouldn't have to compute anything. Yet for some reason, occasionally any one of the tasks running floating point will go belly-up with unexplainable results. It just looks like some kind of random corruption.

Continue Reading ››

July 24, 2009

Quit Bugging Me: quick shell tricks - using addresses

By Mike Deliman

Here's a quick-trick you can do from the target side shell. It might come in handy. How-to run programs and pass variables by their addresses...

First I'll allocate some space, populate it, assign it to some new symbols and add those symbols to the target-side symbol table using the target resident shell:

Continue Reading ››

June 26, 2009

Quit Bugging Me: Induction

By Mike Deliman

Working on a customer problem once, we had an interesting phenomena. Upgrading a system with a large VME cage and several boards, the customer replaced older processor boards with what were then "new" boards. The old boards ran at (I think) 33 MHz, the new ones at more like 133MHz.

The overall system included motor control functions and sensor feedback, there were D-to-A, A-to-D, and other boards in the system. The problem was, with a straight-and-simple rebuild of software for the new boards, the system was giving anomalous readings. Checking the registers for values from the A-to-D boards, there were numbers showing up that were not possible. Readings indicated the motors were on and moving their load when in fact the motors were not connected. Switching back to the old computer boards eliminated the problem. We added some hardware to examine VME bus activity, to see if the new CPUs were reading the bus wrong. We had to put the test board between the CPUs and the sampling boards.

Continue Reading ››

June 25, 2009

Serial Intent

By Mike Deliman

Howdy out there,

I realize this is a blog that's supposed to be about real-time programming issues, and mostly I've posted about planetary and space based projects, with a few announcements about technology and news items. Though these combine subjects near and dear to my heart (space, and VxWorks), these were mostly "interest stories", not solid real-time issues. (It must be kind of like tuning into a financial news station and seeing stories about some new exotic fluffy breed of dog.)

Continue Reading ››

May 21, 2009

The Software Managers’ Blind Spot....

By Paul Henderson

I’m amazed at the consistency of input I’m getting from device software execs around the world about their lack of visibility into their testing process. Everybody is spending huge amounts of time and money (30-50% of their projects) on testing, but I haven’t found anyone yet that is comfortable with the result. I hear statements like this consistently:

“We have thousands of test cases and we’re afraid to not run them. In fact we are adding more all the time. But we really don’t know what software we are actually testing.”

Continue Reading ››

February 11, 2009

E6500 Suspend Problem Solved

By Doug Gaff

I've had a breakthrough on my suspend issues. It seems that the Dell Connection Manager Service was causing the suspend problem. As a reminder, I have the 5530 HSPA AT&T card. When you install Dell Control Point (DCP) and the associated drivers, you get Dell Connection Manager, which is supposed to help manage all of your network devices. Mostly it's redundant with the Network Center in Vista, but you do need it to connect to the Internet over the WWAN card.

As I've complained before, I don't like DCP. It's Dell QuickSet gone horribly wrong. So I've been actively trying to replace it. In my searching for something else to manage the WWAN card, I found an alternative utility called Dell Wireless Manager. It's bundled with the 5530 drivers, but if you poke around on Dell's FTP site, maybe you can find it for the other WWAN cards, too. It's a nice little app for enabling/disabling the card, connecting, looking at bandwidth usage (very important now that AT&T's data plan is 5GB / month), etc. It doesn't work right away when you install it, though, saying that it can't detect a WWAN card.

Continue Reading ››

February 06, 2009

Friday Trivia

By Richard Danter

Time is an illusion, UNIX time doubly so...

This is one for all the numerologists out there to ponder.

Next Friday, 13th Feb 2009, at 11:31:30 PM GMT/UTC UNIX time, the number used by UNIX systems such as Linux to calculate the current date and time, will be 1234567890.

Continue Reading ››

January 14, 2009

E6500 Part II & Cutting the Cord

By Doug Gaff

Update on my E6500 post. Things are improving in the driver department. Since that post, Dell has released new apps/drivers for: Sound, DCP, Fingerprint Reader, Embassy, and the Webcam. I'm no longer having most of the problems I reported, except suspend is still flaky when the mobile broadband card is enabled, and DCP still really sucks. As soon as I figure out how to run the mobile broadband card without DCP, I'm uninstalling that app. Many thanks for the numerous helpful comments and the commiseration.

Continue Reading ››

December 31, 2008

Predictions for 2009

By Doug Schaefer

I'm not usually one to make predictions. It's hard for me to tell the difference between a prediction and wishful thinking. But this article over at the Inquirer (still the best place to get an honest take on the industry along with /.) got me thinking about a couple of things I think are going to be important in 2009. So here we go...

2009: The Year of the GPGPU

This is more a continuation of a trend but the Inq article made some great points that I think will put some spotlight on general purpose programming with GPUs. The key one, is the recent standardization of a cross platform way of programming these things, OpenCL. ATI and nVidia have already signed up to provide OpenCL support for their chips and look for Intel's Larrabee platform to come with the same. I think there is still some software and hardware architectural things that need to be done to make GPGPU more efficient and easier to program. Look for LLVM (which needs an article on it's own) to play a role, as it already is with OpenGL, and look for one of the chip vendors to put a GPU on the memory bus shared with the CPU and make these things sing.

Continue Reading ››

December 29, 2008

I’m addicted to information

By Doug Gaff

Over this lovely holiday break, I have decided to catch up on {everything}. Starting next year off with a clean to do list seems like a good idea. Before I left work for the holidays, I managed to get my inbox down to 3 or 4 items. (If you think you're one of those 3, you'd better remind me via email.) But email is just one of my problems, an antiquated one in fact.

Most of the good stuff comes in through RSS feeds. I counted them a couple of days ago: 97 feeds. They breakdown roughly into the following categories: Business, Culture, Humor, Software, Technology, Work, odds and ends. Unfortunately, many of these feeds have high update rates, like BoingBoing, LifeHacker, and the collection of work-related feeds. Even PlanetEclipse, my first RSS feed, has become a challenge to follow in my expanding list. I've already dropped several others because the signal-to-noise ratio was too low.

Continue Reading ››

December 19, 2008

Fun with FEEDJIT

By Doug Schaefer

I'm not sure if you noticed, or are reading this blog from one of the syndication sites it gets copied too (like Planet Eclipse, or the Wind River Blog Network). But if you check back to the original site and scroll down a bit, you'll see a new panel called the FEEDJIT Live Traffic Feed. I know people express concerns about web things following them, and if I get enough negative response to it I'll pull it off. But in the meantime, I'm spellbound by this feature.

I'm learning quite a lot about the audience for this blog. The traffic feed gives me the city that where the person was, which is spread throughout the world, as well as a hint at how they got to my site. A few people come directly, I guess from an RSS reader where they've subscribed one way or another (Thank you!). More often, though, people end up here based on google searches, and I get the snippet that they were searching for! Creepy, but very useful.

Continue Reading ››

December 16, 2008

Fun with my little VIA console

By Doug Schaefer

At the Embedded Systems Conference in San Jose this year they handed out little VIA embedded EPIA systems to the attendees. I'm not sure everyone got one, but I was thrilled. It has a embedded VIA processor with a chipset that includes Unichrome 3D graphics, and also include a hard drive, ethernet, VGA, four USB ports, and audio in and out. It's a cool little unit.

I haven't done too much with it, but thinking about this Open Console concept (set top box with 3D graphics running Linux), I thought I'd try setting it up with some of the things I had in mind. I started by putting the Debian lenny installer onto a USB stick and installing from it. That was a little tricky until I reformated my USB stick and put syslinux on it properly. I installed enough packages to get X running with the openchrome driver for 3D graphics. glxgears ran pretty smoothly which gave me some hope I could actually use this thing to run games.

Continue Reading ››

November 24, 2008

Dell E6500 – good hardware, but lots of software problems

By Doug Gaff

I recently found myself in the market for a new home computer. I have a D820 at work, which has been working fine for a while now that I'm past the Vista pre-SP1 headaches, so I decided to look at the new Dell Latitude E series. The E series is the next generation business line, and the hardware specs on the E6500 I ended up buying are excellent: Core2 Duo T9600 2.8GHz, WUXGA screen, 250G hard drive will free fall sensor, 4G RAM, and lots of goodies that are part of the base platform. Additionally, Dell has completely redesigned the packaging of their Latitude line, and it's much more solid and streamlined that past versions.

A laptop is only as good as how well it travels, so I decided to take the E6500 on a business trip to Europe last week (Eclipse Summit Europe for those following on the Planet). I only put the basics on the laptop before my trip, because I wanted to prove out the system before loading it down. Sadly, even with only the basics installed, I had a ton of problems that all point to unstable drivers and some lousy software from Dell.

Continue Reading ››