The Impact of Automation on Development

September 2nd, 2010

It seems obvious that automation will affect the test organization. Less obvious—but no less real—is that it will also affect the development organization. In fact, when you choose to automate the testing for an application, your relationship with development changes completely.

Think about it. Manual testers only have to be able to interact with the application using the screen, keyboard, and mouse or other device. Automated test tools, on the other hand, have to interact with the software at a deeper level, thus exposing the inner workings of the code and perhaps uncovering problems that prevent or complicate automation. If you’re not careful, developers might think you have suddenly transformed into an interfering busybody who is sticking your nose into their business.

This shift in your relationship with development can be handled in a bad way or a good way.

Click here to read this article at Sticky Minds.

Protect and control software stored in flash memory

August 31st, 2010

It’s been said for every measure, there’s a countermeasure, and that’s also true for securing code in embedded systems. Sometimes a small device can be just the countermeasure needed to thwart cloning of flash contents.

Many systems use external standard flash memory chip(s) to store the operating program for processors that do not include embedded nonvolatile program storage. This is great because it allows easy flash memory expansion and software modification, perhaps in the manufacturing line as a customer download or during a maintenance operation. The downside is that the OEM loses control over the contents of the flash, potentially allowing unauthorized copies or modification.

Click here to continue reading this article at Embedded Computing Design.

The 8 commandments for choosing a unit testing solution

August 26th, 2010

Teams who perform unit testing on a regular basis are perceived to be more reliable, professional and advanced. But what do you need to consider before choosing a unit testing solution?

We have developed the ‘8 commandments’ below as a guide for ensuring you select a unit testing solution that is right for your development.

1. Thou shalt not waste time on the learning curve

When choosing a unit testing solution, you will want one that will require minimal time for implementation. It may be worthwhile to time a new developer within your team with the framework to get an accurate idea of how long it takes to get started. For example – how long will it take them to write the first three tests for some class in your system? Is the API clear and simple? Is there a single point of entry in the API? Is there clear guidance on what to do at each step of the way? How often, if at all, do you need to check the docs and tutorials? How easy is it to look for the next step when you’re not sure what to do? Some tools offer guidance within the IDE, while some provide extensive help. Some don’t do either.

Click here to continue reading this article at EE Times Embedded.

Playing at work

August 24th, 2010

Playing a game gives people an opportunity to actively participate in unleashing creativity and generating new ideas. Think about it: You do your best work when you’re in a creative environment and in “flow.” Moreover, we often learn best when we do, observe, discuss, and reflect on the outcomes of the experience.

By any definition, an agile game is simple, adaptable, and quick to play. In the agile software development community, an agile game is also collaborative and provides value—it has a serious purpose. It can teach a specific agile concept leading to improved performance, as in 99 Test Balloons, or it can enable collaboratively exploring business needs, such as identifying new product concepts or prioritizing a project portfolio.

Put simply, teaching games help make your learning stick, and doing-work games help you accomplish business goals.

Click here to read this article at Sticky Minds.

Building Embedded Linux Systems Using System Builder

July 29th, 2010

Linux has been deployed as the defacto standard for a wide variety of embedded applications across virtually every market segment. Developers today are facing huge development challenges brought on by insanely short development cycles and ever-increasing hardware and software complexity driven by customer demand and competitive pressures.

One of the distinguishing characteristics of embedded systems is that each is a unique combination of hardware and software components.

Click here to read this article at Embedded Computing Design.

Listening to Your Customers

July 16th, 2010

The customer is often wrong. The agile notion of constantly soliciting customer feedback and incorporating that input into a product is a brilliant way to produce prototypes. Prototypes, of course, are poorly-implemented skeletons that mirror a real product.
Their function is to quickly minimize risk, which arises from vague requirements, unknown science issues, or from other uncertainties. Prototypes are invaluable when needed but are not required for every product. Maybe not for most.
Engineering teams need to be sheltered from customers when developing the real product.
Click here to read the hole article at EE Times.

Good Idea! Now What?

July 14th, 2010

idea.jpgA good idea is a valuable asset, and a lot of good ideas can be like a treasure trove. But what do you do with those ideas?  Many ideas wither, not because they are bad ideas, but because of clumsy presentation. Most nascent ideas stand a better chance if you remember these four things:

1. It’s not about you.
Most of the time, people pursue a new idea because they can see how it will help them. Don’t just tell them why you think your idea is a good one. See the world from their point of view, and frame the idea in terms of what matters to them. If your manager cares only about cost, then talking about quality, speed, reuse, or elegance won’t convince him to try your idea. Connect your idea with what’s important to the people you are hoping to influence.

2. It is about who you know.
Bringing your ideas to fruition is a social process. You will need the aid and interest of others to make your idea reality.

Click here to continue reading this article at Sticky Minds.

Embedded software-driven hardware verification

July 1st, 2010

chip.jpgBy best estimates, the software development effort behind 90 nm chip designs has already surpassed the hardware development effort. The projection for 2011 is that less than 40 percent of the overall chip development cost will be spent on hardware. Software now dominates project cycles and determines when a chip can get into volume production. As a result, the importance of software verification has increased, and software has taken on an integral role in the hardware verification process.

Click here to continue reading this article at Embedded Computing Design.

Debug will get your attention, sooner or later

June 29th, 2010

idea.jpgAsk an engineer what he is doing and there is a good chance his answer will be, “I am debugging.” Day in and day out, project after project, engineers debug — it’s part of being an engineer. Sometimes, it’s quick and easy, but sometimes it’s hard, not obvious, time consuming, and unpredictable. Everyone knows that debugging is a dreaded but necessary part of the design and verification process.
One alarming trend that is not necessary is the increasing proportion that debugging consumes in the design cycle. Within functional verification, it is the single largest component at approximately 60 percent and is projected to grow even larger. Broadly speaking, the reason for this trend is that traditional debug practices are not adequate for today’s problems.
Sooner or later, debug will get your attention.

Click here to continue reading this article at Embedded.com

Engineers increasingly plebiscite prototyping for for embedded system debug

June 21st, 2010

wrong.jpgResults from Byte Paradigm’s 2009 and 2010 surveys show that embedded systems engineers widely recognize prototyping as an efficient methodology to speed up embedded system debug, no matter the type of embedded system or its maximum speed.
In the constant quest to achieve shrinking time-to-market, reducing the time spent on a prominent task such as debugging is undoubtedly of great value. Prototyping does help shorten the overall design cycle time and boost the engineer’s productivity.

Innovative, flexible and powerful digital pattern generators are one of the key elements to speed up embedded system debug on prototype. innovation in PC instrumentation can lead to boosting the designer’s productivity and help design better and faster.

Click here to continue reading this article at Embedded Computing Desing