Anbarasu Samiappan & Jaya Kathuria (Cypress semiconductor)
embedded.com (February 27, 2017)
In the first article of this two-part series, we discussed how the integrated architecture of 32-bit MCUs provide OEMs with a way to upgrade 8- and 16-bit systems in terms of performance, power, and advanced analog and digital peripherals. In this article, we’ll cover how modern software tools, hardware development ecosystems, and ready-made firmware stacks with code examples ease system design and development of 32-bit systems.
Designing complex systems
When you migrate from 8- or 16-bit to 32-bit, it might seem that your development ecosystem would become more complicated given the need to deal with a more complex CPU core, rich register sets, and additional peripherals. To minimize this complexity, MCU manufacturers abstract many elements of design through software tools and libraries accessed through an integrated development environment (IDE). The industry follows the trend of providing a single development environment that supports 8-bit and 32-bit architecture to enable the easy and seamless porting of designs. For example, prominent IDEs like IAR’s Embedded Work Bench, Cypress’ PSoC creator, Keil’s uVision, MPLAB, and others all support 8-bit and 32-bit processors in the same development environment.
Advanced IDEs not only act as an integrated compiler, programmer, and debugger, they also enable concurrent hardware and firmware development using the same tool. This allows developers to configure programmable hardware resources in conjunction with software design using a graphical design editor. Such a hardware/software co-design environment can greatly simply design. For example, device hardware features are abstracted as libraries that are pre-verified, production-ready components for both analog and digital blocks. The IDE automatically places these components into the selected target MCU, then routes all on-chip signals and directs I/O for optimal pin placement. Each library component is parameterized so that the implementation is automatically configured to match the requirements of the application and avoid wasting resources.
Click here to read more ...