So your task is as easy as selecting a microcontroller (MCU) and then implementing the code that meets your application´s needs. Sounds straightforward, right? Well, both inexperienced and seasoned engineers might recognize some significant challenges here. In this blog series, we´ll take a look at some cross platform tools, tools that run on major operating systems like Microsoft Windows, Mac OS X and Linux, that can really simplify some of the challenges when undertaking a new embedded development project. Read part 1 here.
Part 2 – Streamlined search
The enormous selection of MCU products available to developers in today’s market can seem overwhelming, and finding the ideal MCU can be a tough task. When searching for a target device, developers typically have several design requirements for a system that can help guide their search.
For example, a battery-powered application may require an energy-friendly MCU that can extend the battery life as much as possible while also providing a fast and efficient core that can handle computationally intensive operations. A battery-powered smart watch is a good example of this type of power-sensitive application.
In this example, the developer could narrow the search to ARM Cortex-M3 MCUs that are optimized for ultra-low-power operation. This narrows the search to a handful of vendors, but still leaves questions open for which specific device to use. To help developers quickly narrow their search, a comprehensive development platform should include some form of a search tool or educational resources to help educate developers on a given MCU portfolio.
Today’s leading MCU suppliers offer extensive MCU portfolios, making it challenging to identify the optimal MCU product for an embedded application. A searchable MCU development tool can help developers narrow their search to 10 to 20 MCUs after a few clicks of a mouse.
Video: Silicon Labs: Simplicity Studio introduction
After identifying the ideal MCU solution, developers must consider development cost and development time associated with the new MCU. Obviously, using a legacy or known MCU requires less development resources, however, the latest MCUs may be able to achieve significantly higher performance or less power consumption. Continuing with our previous example, reducing power consumption in a battery-powered application can extend battery life, improving performance and reducing costs. In this example, it may be beneficial for developers to use a more energy-efficient device.
An intuitive, graphical configuration tool that configures the MCU
Ideally, your development tools should provide a graphical interface that doesn’t require you to tediously read data sheets or application notes to determine how to correctly use a device. A proper software platform should be able abstract those complexities and instead provide developers with a portal to configure the device via checkboxes, drop-down menus and text fields.
Although this seems like a simple concept on the surface, development tools with this capability (Figure 2) can significantly streamline design time, reducing time to market. In addition to providing guidance, these software tools can provide error checking and intelligence through calculators that further ease the development process.
Graphical configuration tools should be able to resolve errors associated with pin configurations (pin out conflicts or mode settings), clock gating (if a peripheral is configured without enabling a clock to the module), or peripheral configurations. In addition to checking and resolving errors, calculators can also make development easier.
For example, configuring a baud rate field on a universal asynchronous receiver/transmitter (UART) may depend on the system clock and other register settings. Intelligent software tools will abstract that computation, allowing developers to enter the desired baud rate without consulting a data sheet or reference manual.
Figure 2. A graphical configuration tool
In part 3, we will see how we can find bugs and remove unwanted energy drains in our source code.
Download the Simplicity Studio software tool for free here.
Have a question? Visit our community page here. Our team will be happy to help.