Regardless of your job or industry, things are moving faster than ever. With breakthroughs in technology happening on a regular basis, new competitors can disrupt and unseat established businesses that have been built over many years. This phenomenon is no different for embedded software developers. These changes are creating pressure to complete the job faster and more efficiently than ever before, while also ensuring that software is high-performance and bug-free.
In all honesty, it can be a bit overwhelming.
With demands and pressure piling up, it’s vital to have the right embedded software design tools that can make your job easier — well, at least not make it any harder by having a lot of “work-arounds” and outdated features.
To ensure that you are in the best position to compete, you need to have the best equipment. Let’s take a look at some of the most important features you should look for when considering new embedded software design tools:
Feature No. 1: Simplicity is Key
Finding a user-friendly solution is often overlooked. When tools are too complicated, they can easily frustrate developers and lengthen development times — clearly, something designers don’t have time for. To make sure the embedded design software you’re considering is easy to use, download it first and then give it a test run before purchasing. Hint: seek out vendors that offer free 15-30 day trial periods.
Once you sign up for the trial period, use the product for the full length of time it’s available. Set up a trial project that allows your developers to get a real feel for the program — think of it as a thorough test drive. Put the program through its paces and see how easy the editor supports code development tasks and how quickly a compiler compiles code. When the trial is up, closely look over your evaluation. If you used the “canned” projects that came with the software package, that shouldn’t be considered a valid test, as those offerings are usually developed by the vendors for optimal results.
Feature No. 2: Debugging Capability and Speed
Perfect software is not designed on the first try. Let’s get that idea out there right away. When it comes to today’s complex, high-performance applications, there is usually some trial and error necessary to get things right. The reality is that developers will spend a lot of time debugging their applications, which is why debugger capability and speed have a big impact on time-to-market. When looking at software, some features to keep an eye out for include:
- Multiple information windows that let you monitor variables, memory and the stack
- Complex breakpoints that allow you to halt program executions based on instruction counts, cycle counts or timer counts
- Save and restore memory that lets you easily return the system to a known condition
Feature No. 3: Device and Core Support
Obviously, you want to choose software that supports the right devices. That’s a no brainer. When you start looking at new software, make sure you have a full list of the devices you’re currently using in your products. Take this list to cross reference the devices supported by the embedded design software you’re considering.
Who knows? It may be the case that the new software won’t need to support devices used in older products. Also, it’s never too early to start thinking about the future. Consider the devices you may potentially use, and look for the design software that will not only support what you need today, but what you could be using down the road. The fact is, you won’t want to spend the extra money purchasing new tools every time you start using a new device — buy the right solution once..
Feature No. 4: Support for Common Functionality
After you’ve picked a solution that (hopefully) supports the right devices, see if it supports the different functionalities you’ll need, such as a real-time operating system (RTOS), and communications hardware and software, such as USB, TCP/IP and Bluetooth. If your designs require these functionalities, and your chosen embedded design software doesn’t offer support for them, you’ll be forced to spend ever valuable time, money and effort designing your own solutions, which is not ideal.
If support for functional safety standards is important to your work, search for a tool that provides a solution that supports both qualification methods: “increased confidence from use” and “validation of the software tool.”
Feature No. 5: Tech Support
Technical support can be a make-or-break part of the decision process. If you are going to invest the money in a product, you’d better know that the supplier is going to provide you the necessary support if (when) something goes awry. While vendors differ greatly in the type of tech support they offer, what really sets them apart is depth and speed of response.
Based on this, find a vendor that offers quality technical support. You don’t want to be stuck waiting days for an answer to a question that is needed right away. As we mentioned earlier, you want to put the new solution through its paces; this includes trying out the technical support. Send a support request and see what happens. While it doesn’t necessarily have to cost more to buy embedded design software from a vendor with good technical support, it does matter to you if you get into a deadline-driven situation where tech support is greatly needed.
In the end, choosing the right embedded software development tools from the right vendor can be a challenge. Remember, before making your decision, thoroughly test out the products you’re looking into. This is your chance to really get a feel for the software you will be using for the foreseeable future, so don’t waste it. By considering these features, you will put yourself in a position to make an informed and well-researched decision, setting you up for design success in the future.