MCUs are doing in again. Remember the first time MCUs offered a step function increase in performance and memory footprint? Well maybe some of you other 'old timers' do. We were struggling to fit large applications into small MCUs using assembly code. We would spend significant effort optimizing every 100 bytes of memory we used and every megahertz the CPU could provide.
Then something miraculous happened: CPU performance dramatically increased. This was driven not only by improved semiconductor processes to increase raw clock rates, but also due to MCU architectures 'borrowing' advanced features from their CPU big brothers.
We are now at another transition to a new MCU design paradigm. Continued improvements in MCU architectures, semiconductor processes, and development tools are providing another leap in development productivity. This time the capability is being borrowed from the high-level development platforms seen in cell phones and high-performance CPU systems.
In these systems hardware and software are completely integrated so that development occurs at the Applications Programming Interface (API) level or the software framework level. Low-level hardware drivers, previously needed for high-level programs written in C or C++ to get to the hardware guts of an MCU, are now no longer required. With APIs and frameworks system development can be done independent from MCU hardware details. No more poring over configuration register definitions in the MCU user manual. APIs and frameworks can load all the necessary configuration register data based on higher level definitions, and configurations can be checked for completeness and lack of conflicts. Now you just provide the frequency you want and the PLL and clock oscillator selections are generated automatically.
Perhaps even more important than the configuration of low-level parameters is the ability to easily implement high-level communications functions such as ethernet and USB along with high level implementations for Graphics User Interfaces (GUIs) and file storage. Implementing these functions becomes easier when a Real Time Operating System (RTOS) is used. The platform approach provides the RTOS, the high-level functions for communications, user interfaces, and storage, along with easy-to-use APIs, frameworks, and guided configuration wizards all in a single, integrated package. This platform approach, now being applied for MCU design, will enable another dramatic leap in development productivity.
One example implementation of this platform-oriented approach is embodied in the Renesas Synergy Platform. It provides all the elements previously described, as well as an Integrated System Development Environment (ISDE) that makes it easy to access and use all the platform capabilities.
In fact, in my Continuing Education Center online course next week, I will use the Renesas Synergy Platform to illustrate how APIs, frameworks, RTOS, and the associated high-level design capabilities can make example designs much easier to implement. You will be amazed at how easy it is to add networking interfaces, file system access, USB, and GUIs to a design.
To sign up for the free, 30-minute-per-day course, click here .
The development software used in the course is freely