Robert Cravotta

Advertisement
Sponsor Image
Attend Windows Embedded Acceleration Workshops. Learn More!

Technical Editor Robert Cravotta explores processor and software-processing architectures and the impact they have on system and software development. Relevant architectures include microprocessors, microcontrollers, digital signal processors (DSPs), multiprocessor architectures, processor fabrics, coprocessors, and accelerators, plus embedded cores in FPGAs, SOCs, and ASICs.


Profile

RSS Feed

  • Add this blog to your RSS newsreader!

Recent Posts

Recent Comments

Most Commented On

Archives

By Category

Processor-based Design Articles

Blog

Thursday, April 24, 2008

Software and hardware: Processor vendors now give support and development kits serious attention

Apr 24 2008 7:13AM | Permalink | Email this | Comments (3) |
Blog This! using:  Blogger.com | LiveJournal |
Digg This | Slashdot This | add to Del.icio.us


When I am at an industry show or conference, such as the Embedded Systems Conference last week, people often ask me if I have seen anything exciting while there. Most of the time when someone asks me this question, I feel their meaning for "exciting" is did I see anything that will radically replace the current way the world works and revolutionize how we will do something from now on—such as during the Internet bubble where "everything" was radically changing—or not. I've always taken a reserved perspective when I see such claims because frankly, time usually proves those claims to be exaggerated or overly optimistic.

However, I do get excited when I see people trying to describe challenges from different angles, because the different vocabulary or perspective gained from such an exercise sometimes provides us, as an industry, an opportunity to find better, easier, or more effective approaches to addressing those challenges. Finding relationships between disparate entities that simplify how to represent a set of parts within a whole is one way better approaches are discovered.

Finding the sum of the numbers from 1 to 100 without a software program provides a simple example. One way to solve this question is to add 1 to 2 to 3 and so on up to 100; this approach does not attempt to identify any relationship between the numbers in the sequence. Another way to solve this summation is to apply a relationship between the numbers by realizing that 1+99=100, as does 2+98, 3+97, and so on up to 49+51. Identifying and taking advantage of this relationship can make solving this summation easier, faster, and more reliable than the original approach. It can also provide a model or method to apply to different, but similar, problem sets, such as summing the numbers from 1 to 999.

Currently, I see a shift in how the processor companies are viewing software with regards to their silicon products. I almost never hear anymore that they are not in the software business; although I have still heard recently from one processor vendor that they would like a third party to put them out of the business of providing the tools for their processor. I also am not hearing as often processor vendors referring to the software they are integrating with their reference designs and development kits as a "necessary evil." In fact, I am seeing more processor vendors spending large portions of their budgets in an attempt to make their development kits more useful to their customers.

I have some ideas on why this shift is occurring, why it is happening now, and why it harbingers an important and profound shift in how the industry views the relationship between software and hardware. I will begin expanding on those ideas in my next post, but today I would like to point out that development kits are the early visible benefactors from this change in perceived relationship between software and hardware. Development tools and evaluation/development kits are not new, but they are undergoing significant refinement. Several companies were touting and making their development kits available at the conference, and this generated significant traffic for the companies I spoke with.

These companies have embraced some important changes in what and how they deliver a development kit to their customers. First, most companies now take the out-of-the-box experience very seriously—so much so that children and spouses of technical executives, management, and engineers at these companies are being subjected to setting up development kits to figure out and refine how to get an embedded designer up and running with the kit in less than 10 minutes. Most of the kits I am seeing lately succeed well enough in this goal. Fast and easy out-of-the-box experiences mean fewer support calls and a better shot at getting that development kit considered during a design team's exploration efforts.

The next area of focus where I am seeing companies put more attention is proving to the developer that the provided hardware and software in the kit are working properly. This is being done with preloaded built-in self tests and tutorials that walk the developer through each of the features and demonstrate each function. The unofficial goal to complete this task, based on my observations, is between five and 60 minutes depending on the complexity of the system. Note that this time window includes troubleshooting for those cases where something is not quite working correctly. In fact, I saw a setup at the conference that purposely includes errors in the tutorial check-out to not only prove the hardware and software are working, but to demonstrate troubleshooting techniques and tools.

This essential step—to prove out the setup and provide self-troubleshooting—has the potential to remove a huge amount of support calls from developers who are not sure where the problem is in their setup. Also, I suspect, as part of the preloading task, that the development kits are being pre-verified before being sent out to developers to further reduce bad out-of-the-box and initial proof-of-operation experiences.

Another trend for development kits is a network connection to the online resources available for that development kit. This includes any errata and software patches as well as knowledge bases and user forums for questions, reviews, and discussions. Companies are recognizing the importance of these forums even to the point of leaving the "bad" comments in the forums because they either work themselves out or they point out something that the kit development team needs to address—a win-win either way.

An emerging trend is better interaction between the developer, the host workstation, the software, and the target hardware board. This can include video clips with dynamic diagrams, such as with Renesas' upcoming development kits, but it also includes the software performing the verification when the developer connects the hardware together or performs specific functions between the host and the target. I believe this is an area ripe for refinement, and many lessons learned will offload a lot of complexity from developers with new kits.

There are online resources to help you find development kits and tools. A couple of years ago, the online versions of EDN's DSP and Microprocessor Directories began supporting separate entries for each company's development support. We are in the process of trying to allow developers to begin their search from development tools rather than silicon targets, and if you have any ideas on how to do that, please comment here or send me an email. This is a real challenge.

Lastly, I think it is appropriate to point out that EDN has partnered with EDN Europe and the UK's Electronics Weekly to bring you the DEVmonkey online resource for development tools, which also includes reviews and writeups for development kits. Jon Titus runs the DEVmonkey blog. Check out these online resources and please provide feedback so that they can become even better resources for you in the future.

Reader Comments


at 4/28/2008 5:16:03 PM, Bluebee said:
This development is interesting, but not new for insiders: More than twenty years ago FORTH was the first operating system running on almost every microprocessor - I myself was able to work with really complex microprocessors only because there was a FORTH OS on it, that made it very easy to start. But then C took over and it began to be a nightmare to start on a new micro. Consequently demand for Programmers was rising. Now graphic tools are coming in to allow the use of microprocessors without being expert in C programming! What a change - what a chance!

at 5/1/2008 5:03:18 AM, Zack said:
My disappointment in development kits and tools in general stems from the lack of embracing the development of 64 bit VISTA USB drivers for their development kits and dongles. These companies are failing to meet this customer's expectations.

at 5/7/2008 1:28:09 PM, pj said:
Fortunately more and more vendors see the light and hitch to a standard platform which at present seems to be the Eclipse/GCC. From the developer's point of view it is a blessing to be able to use a consistent dialect, with machine-dependent stuff hidden as much as possible behind libraries, header files and preprocessor tricks. I recognize that vendor and third party compilers might have an edge over a multi-target GCC in term of specific capabilities, but, overall, the portability advantage trumps those issues, just like the portability of C (or Forth) on balance convinced most people to use it rather than assembly.

Post a comment


Display Name

Before submitting this form, please type the characters displayed above:


ADVERTISEMENT

©1997-2008 Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other Reed Business sites