I’m an “abstraction” thinker when it comes to development so kudos to Renesas for giving me the Synergy Software Package (SSP) with both the ability to do most of my coding above the API while also providing the flexibility for me to directly access the hardware, if necessary. The SSP allows for multi-layer access that makes porting legacy code to Renesas Synergy Platform easier. The high-level APIs provide a layer of abstraction and a convenient interface to most user application threads to access middleware, protocol stacks, and the SSP Application Framework. Applications requiring lower-level access can call APIs at the HAL layer. For applications with hard real-time requirements I can directly access the MCUs’ registers and bypass all of the API layers. Application Framework The SSP Application Framework spares me from having to reinvent commonly used services across applications – in short, I can re-use the code across processors and, potentially, products. Example app frameworks include messaging, audio playback, thread monitor, console application, UART, external IRQ, IIC and SPI. These application frameworks also abstract me from having to directly interface with the hardware available in the microcontroller. In short, I don’t have to become an expert on Renesas MCUs. The upshot of all this application abstraction? Better code consistency and serious time savings. Sweet! Functional Libraries Functional libraries add additional capabilities to the SSP. Digital Signal Processing (DSP), Cryptography and Security, and Capacitive Touch libraries are currently included, with additional libraries planned down the road. The DSP Library is based on the ARM Cortex Microcontroller Software Interface Standard (CMSIS). Each functional library interfaces with HAL drivers (discussed next) so I don’t have to. Hardware Abstraction Layer (HAL) Drivers The Synergy SSP provides both low-level and high-level drivers for a variety of functions such as QSPI, SPI, SSI, CAN, graphics LCD controller, clock management, real-time clock, timing & control, serial communication, USBHS and USBFS, and security & encryption. True to their name, the HAL drivers insulate me from having to deal directly with the hardware and software portability tasks. However, if it’s necessary for me to write my own HAL driver, SSP supports that too. Flexible like a contortionist! Board Support Package (BSP) The BSP provides software support for the Synergy MCU and development board combination. It performs tasks such as setting up the stacks, heap, clocks, interrupts and C run-time environment. Because the BSP is configurable, I can modify the process to meet the requirements of my hardware design. Gosh, I feel as well-supported as my Synergy Platform board. That’s it for this week. Next time we’ll learn how and why Renesas delivers and warrantees Synergy Software as a product. Live long and profit. Professor_IoT Hot Tip of the Week Check out several Application Frameworks in action by downloading and running a variety of Synergy application examples . Among the examples, you'll find high level abstractions that access GUIX, NetX and USBX to implement DHCP, DNS, webserver, WiFi, mass storage host and device functions. More examples are being added, so check back often to see what’s new!
↧