Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
© 2016 Renesas Electronics Corporation. All rights reserved.
INSIDE THE SYNERGY SOFTWARE PLATFORM
Lake Garda7-8 April 2016
© 2016 Renesas Electronics Corporation. All rights reserved.
What You Will Learn in this Session
Page 2
ComplexityRisk
Deadlines BudgetsProductivity
Support
In this presentation, we will look more deeply into the SSP and investigate the different levels provide:
1. Synergy Software Package Overview
2. The SSP OS and Middleware
3. SSP Defined Layers
4. Synergy Software in action
A Complex Connected Embedded System:
■ Multi-functions
■ Graphics requirements
■ Connected devices
■ Many middleware requirements
Main Task
Graphics TFT
BLE
WiFi
Wired
App1
App2
App3
Touch
© 2016 Renesas Electronics Corporation. All rights reserved.
Synergy Software Package Overview
Page 3
© 2016 Renesas Electronics Corporation. All rights reserved. 4
Synergy Software Package (SSP) – Software Platform
Renesas Synergy™ MCU
Customer Applications
Tools
CloudV
SA
Ad
d-O
n
QS
A A
dd
-On
Renesas Synergy™ Software Package (SSP)
BSP
ThreadX®
RTOSHAL Peripheral
Drivers
Stacks &
Middle-ware
ApplicationFramework
Ap
ps
Ma
na
ge
rSoftware API
BSP & HAL Abstract application from
hardware - portability
RTOSEnables creation of
multitasking real-time applications
Stacks & Middle-wareHandles standardized TCP/IP, USB and GUI
functions
Application FrameworkProvides system level services used in most
applications
Software APIMakes application
development easy and makes it portable
Page 4
© 2016 Renesas Electronics Corporation. All rights reserved.
Renesas Synergy™ Software Package – Block Diagram
Page 5
Synergy Software Package (SSP)
Board Support Package (BSP)
ThreadX®
RTOS
Memory Management
Message Queue
Inter-process and Inter-thread
Communication
Advanced Scheduler
FileX®
Very Fast Performance and
Low Footprint
Complete Flash Management with
Wear Leveling
FAT12/16/32, exFAT, SD,
microSD, CF, and MemoryStick
USBX™
Host Stack
Host Controller
Device Stack
Device Controller
Host Classes(Storage, CDC,
HID)
Device Classes(Storage, CDC,
Audio, HID, Printer, Hub)
GUIX™
GUIX Studio
Run Time Library
Canvas
Drawing
Screen
System
Widget
Window
NetX™ and NetX™ DuoFTP
TFTP
Telnet
PPP
SMTP
POP3
HTTP
DNS
SNMP
SNTP
NAT
TCP
IPv4/v6
UDP
ICMP
IGMP
ARP
RARP
DHCP
Functional Libraries
CMSIS DSP
Captouch
Security & Encryption
Application Framework
Audio
Console
JPEG
SPI
I2C
UART
Touch Panel
External IRQ
Thread Monitor
Power Profile
Messaging
Hardware Abstraction Layer (HAL) Drivers
CAN
UART
SDHI
QSPI
SPI
IIC
SSI
RTC
Ethernet MAC Controller
Data Transfer Controller
DMA Controller
Clock Management
Graphics LCD Controller
2D Drawing Engine
Segment LCD Controller
Parallel Data Capture Unit
ADC12
ADC14
DAC12
Safety
USBHS
USBFS Timing & Control
Security & Encryption
© 2016 Renesas Electronics Corporation. All rights reserved.
Renesas Synergy™ Software Package – Block Diagram
Page 6
Synergy Software Package (SSP)
Board Support Package (BSP)
ThreadX®
RTOS
Memory Management
Message Queue
Inter-process and Inter-thread
Communication
Advanced Scheduler
FileX®
Very Fast Performance and
Low Footprint
Complete Flash Management with
Wear Leveling
FAT12/16/32, exFAT, SD,
microSD, CF, and MemoryStick
USBX™
Host Stack
Host Controller
Device Stack
Device Controller
Host Classes(Storage, CDC,
HID)
Device Classes(Storage, CDC,
Audio, HID, Printer, Hub)
GUIX™
GUIX Studio
Run Time Library
Canvas
Drawing
Screen
System
Widget
Window
NetX™ and NetX™ DuoFTP
TFTP
Telnet
PPP
SMTP
POP3
HTTP
DNS
SNMP
SNTP
NAT
TCP
IPv4/v6
UDP
ICMP
IGMP
ARP
RARP
DHCP
Functional Libraries
CMSIS DSP
Captouch
Security & Encryption
Application Framework
Audio
Console
JPEG
SPI
I2C
UART
Touch Panel
External IRQ
Thread Monitor
Power Profile
Messaging
Hardware Abstraction Layer (HAL) Drivers
CAN
UART
SDHI
QSPI
SPI
IIC
SSI
RTC
Ethernet MAC Controller
Data Transfer Controller
DMA Controller
Clock Management
Graphics LCD Controller
2D Drawing Engine
Segment LCD Controller
Parallel Data Capture Unit
ADC12
ADC14
DAC12
Safety
USBHS
USBFS Timing & Control
Security & Encryption
ThreadX®
RTOSFileX® USBX™ GUIX™ NetX™ and
NetX™ Duo
© 2016 Renesas Electronics Corporation. All rights reserved.
Renesas Synergy™ Software Package – Block Diagram
Page 7
Synergy Software Package (SSP)
Board Support Package (BSP)
ThreadX®
RTOS
Memory Management
Message Queue
Inter-process and Inter-thread
Communication
Advanced Scheduler
FileX®
Very Fast Performance and
Low Footprint
Complete Flash Management with
Wear Leveling
FAT12/16/32, exFAT, SD,
microSD, CF, and MemoryStick
USBX™
Host Stack
Host Controller
Device Stack
Device Controller
Host Classes(Storage, CDC,
HID)
Device Classes(Storage, CDC,
Audio, HID, Printer, Hub)
GUIX™
GUIX Studio
Run Time Library
Canvas
Drawing
Screen
System
Widget
Window
NetX™ and NetX™ DuoFTP
TFTP
Telnet
PPP
SMTP
POP3
HTTP
DNS
SNMP
SNTP
NAT
TCP
IPv4/v6
UDP
ICMP
IGMP
ARP
RARP
DHCP
Functional Libraries
CMSIS DSP
Captouch
Security & Encryption
Application Framework
Audio
Console
JPEG
SPI
I2C
UART
Touch Panel
External IRQ
Thread Monitor
Power Profile
Messaging
Hardware Abstraction Layer (HAL) Drivers
CAN
UART
SDHI
QSPI
SPI
IIC
SSI
RTC
Ethernet MAC Controller
Data Transfer Controller
DMA Controller
Clock Management
Graphics LCD Controller
2D Drawing Engine
Segment LCD Controller
Parallel Data Capture Unit
ADC12
ADC14
DAC12
Safety
USBHS
USBFS Timing & Control
Security & Encryption
© 2016 Renesas Electronics Corporation. All rights reserved.
Renesas Synergy™ Software Package – Block Diagram
Page 8
Synergy Software Package (SSP)
Board Support Package (BSP)
ThreadX®
RTOS
Memory Management
Message Queue
Inter-process and Inter-thread
Communication
Advanced Scheduler
FileX®
Very Fast Performance and
Low Footprint
Complete Flash Management with
Wear Leveling
FAT12/16/32, exFAT, SD,
microSD, CF, and MemoryStick
USBX™
Host Stack
Host Controller
Device Stack
Device Controller
Host Classes(Storage, CDC,
HID)
Device Classes(Storage, CDC,
Audio, HID, Printer, Hub)
GUIX™
GUIX Studio
Run Time Library
Canvas
Drawing
Screen
System
Widget
Window
NetX™ and NetX™ DuoFTP
TFTP
Telnet
PPP
SMTP
POP3
HTTP
DNS
SNMP
SNTP
NAT
TCP
IPv4/v6
UDP
ICMP
IGMP
ARP
RARP
DHCP
Functional Libraries
CMSIS DSP
Captouch
Security & Encryption
Application Framework
Audio
Console
JPEG
SPI
I2C
UART
Touch Panel
External IRQ
Thread Monitor
Power Profile
Messaging
Hardware Abstraction Layer (HAL) Drivers
CAN
UART
SDHI
QSPI
SPI
IIC
SSI
RTC
Ethernet MAC Controller
Data Transfer Controller
DMA Controller
Clock Management
Graphics LCD Controller
2D Drawing Engine
Segment LCD Controller
Parallel Data Capture Unit
ADC12
ADC14
DAC12
Safety
USBHS
USBFS Timing & Control
Security & Encryption
© 2016 Renesas Electronics Corporation. All rights reserved.
Renesas Synergy™ Software Package – Block Diagram
Page 9
Synergy Software Package (SSP)
Board Support Package (BSP)
ThreadX®
RTOS
Memory Management
Message Queue
Inter-process and Inter-thread
Communication
Advanced Scheduler
FileX®
Very Fast Performance and
Low Footprint
Complete Flash Management with
Wear Leveling
FAT12/16/32, exFAT, SD,
microSD, CF, and MemoryStick
USBX™
Host Stack
Host Controller
Device Stack
Device Controller
Host Classes(Storage, CDC,
HID)
Device Classes(Storage, CDC,
Audio, HID, Printer, Hub)
GUIX™
GUIX Studio
Run Time Library
Canvas
Drawing
Screen
System
Widget
Window
NetX™ and NetX™ DuoFTP
TFTP
Telnet
PPP
SMTP
POP3
HTTP
DNS
SNMP
SNTP
NAT
TCP
IPv4/v6
UDP
ICMP
IGMP
ARP
RARP
DHCP
Functional Libraries
CMSIS DSP
Captouch
Security & Encryption
Application Framework
Audio
Console
JPEG
SPI
I2C
UART
Touch Panel
External IRQ
Thread Monitor
Power Profile
Messaging
Hardware Abstraction Layer (HAL) Drivers
CAN
UART
SDHI
QSPI
SPI
IIC
SSI
RTC
Ethernet MAC Controller
Data Transfer Controller
DMA Controller
Clock Management
Graphics LCD Controller
2D Drawing Engine
Segment LCD Controller
Parallel Data Capture Unit
ADC12
ADC14
DAC12
Safety
USBHS
USBFS Timing & Control
Security & Encryption
© 2016 Renesas Electronics Corporation. All rights reserved.
SSP
OS and Middleware
Page 10
© 2016 Renesas Electronics Corporation. All rights reserved. CONFIDENTIAL
■ Industry proven multitasking Realtime Operating System
■ Realtime scheduling algorithms and efficient Multitasking● Round-robin scheduling + time-slicing● Preemptive and Preemption-threshold™ scheduling● Event-Chaining™ Technology● 0 to 1024 priority levels for tasks
■ Built-in resource management features
■ Built-in inter-task synchronization & communication features
■ Built-in event trace capability supported by PC based Visualizer
■ MISRA-C:2004 and MISRA-C:2012 Compliant
■ Pre-certified for: IEC 61508, IEC 62304, UL 60730-1 H, CSA E60730-1 H, IEC 60730-1 H, UL 60335-1 R, IEC 60335-1 R, UL 1998
ThreadX® RTOS
Threads scheduling
Priority 0
Priority 1
Priority 2
Priority 3
C
BA
ISR
D
ISR
C
A B B
C
A
DD
Round Robin/Time Slicing scheduling for tasks at same priority levels
Preemptive Multitasking when tasks at different priority levels ned to be scheduled
Higher priority thread preempts
C completes B restarts
Interrupt preempts D
Interrupt preempts C
ThreadX® features
Realtime Preemptive Kernel
Synchronization and Communication
Resource Management
Memory Management Timer Support
Semaphores & Mutex
Message Queues/Mailbox
Event Flags
ThreadX® Kernel
Page 11
© 2016 Renesas Electronics Corporation. All rights reserved. CONFIDENTIAL
■ NetX supports IPv4
■ NetX Duo supports both IPv4 and IPv6
■ Optimized TCP/IP stack for embedded systems
■ Based on Piconet™ architecture
■ Small-footprint - as small as 5KB, automatic scaling
■ Fast execution - achieve wire speed, no packet copying
■ Phase-II IPv6 Ready Logo Certification for NetX Duo
■ Integrates with TraceX™ system analysis support
■ BSD-compatible socket layer
■ Advanced Features:● UDP Fast-Path Technology™● Flexible packet management
NetX™ and NetX Duo™
IPv4/6 TCP/IP stack
EthernetMAC Controller
NetX™/NetX™ Duo
Network Driver
IPv4/v6ICMPv4/v
6IGMP
ARP
RARP
TCP UDP
NetX™ Application Bundle
SSP
Synergy MCU
Page 12
© 2016 Renesas Electronics Corporation. All rights reserved. CONFIDENTIAL
■ Application layer protocols available with SSP
■ Network configuration protocols ● DHCP client/server (dynamic IP address allocation)● DHCPv6 (client only)● SNTP (network time Protocol)
■ Domain name services● DNS, mDNS, DNS-SD● DNSv6● NAT (private network extension)
■Web server/network management● HTTP (v6)
■ Email transfer● POP3, SMTP
■ Connectivity protocols● PPP, Telnet (v6), FTP (v6), TFTP
■ Security protocols● TLS (partner provided)
NetX™ and NetX Duo™ Application Bundle
TCP/IP application bundle
NetX™ / NetX Duo™ Application
SMTP
POP3
Telnet
FTP
TFTP
PPP
DNS
mDNS
DNS-SD
DNSv6
DHCP
AutoIP
SNTP
DHCPv6
HTTP
HTTPv6
TLS
NetX™ / NetX Duo™
Page 13
© 2016 Renesas Electronics Corporation. All rights reserved.
GUIX Studio & GUIX Runtime
Page 14
GUIX includes a full-featured runtime UI library
Small-footprint (as small as 6 KB)
Built-in widgets and controls
Multiple screens with varying sizes and color formats(32b)
Alpha blending and anti-aliasing
Hardware assisted graphics acceleration e.g. 2DG accelerator in Renesas Synergy™
Touch screen and virtual keyboard
Customizable appearance and multilingual support
● WYSIWYG screen design environment
● Automatically generates C code compatible with the GUIX runtime library.
● Font generation tool.
● Import graphics from PNG or JPG files with conversion to compressed GUIX Pixel maps.
● Customize the default colors and drawing styles used by the GUIX widgets.
● Multiple resource themes
Develop using GUIX Studio
Execute on device using GUIX runtime
Integrate with application executable
© 2016 Renesas Electronics Corporation. All rights reserved.
SSP
PREDEFINED LAYERS
Page 15
© 2016 Renesas Electronics Corporation. All rights reserved.
Synergy Multi-Layer API Access
Page 16
Board Support Package (BSP)
HALDrivers
Software APIs
Functional Libraries
…more
DSP
Security
…more
Messaging
Audio
End Application Code
Application Framework
GLCDCDriverEMACC
Driver…more
Timing & Control Drivers
Synergy Microcontrollers
Custom Drivers
ThreadX®
RTOS
FileX®
USBX™GUIX™NetX™
NetX Duo™
MotorThread
DisplayThread
WaveformThread
NetworkThread
Main()ControlThread
AudioThread
1
Top API1
ApplicationFramework
2
2
HAL Driver
33
Custom Drivers4
4
MCU Registers5
5
© 2016 Renesas Electronics Corporation. All rights reserved.
Predefined Layers
Page 17
MCU
Framework
HAL Drivers
BSP
© 2016 Renesas Electronics Corporation. All rights reserved.
Board Support Package (BSP)
Page 18
BSP is the board hardware-specific support software with system level startup and
setup code
Will setup the stacks, heap, clocks, interrupts, and C run-time environment.
Service CMSIS ThreadX SSP
Access structures and definitions for peripheral register access
Standard names for intrinsic functions like NOP, WFI, etc.
Global interrupt control
Configuration of Systick timer
ITM debug primitives
Reporting and control of MCU clock chain
Default ISRs for fixed interrupts
Basic startup code, including: Setup of stack pointers Clock setup C run-time initialization STDIO initialization Configuration of non-existent port pins Heap initialization Initial CPU mode
Programming of ID code and flash-based option registers
Global control of parameter checking for SSP code
Atomic locking
Register protection
SYSTICK initialization
CPU context save/restore/switch for tasking
Services in BSP
Board Support Package
Application Program
BSP
HAL
Application Framework
X-WareTM
USBXTM Th
rea
dX
®NetXTM
FileX®
GUIXTM
Shared I/F
SSP
SynergyMCU
© 2016 Renesas Electronics Corporation. All rights reserved.
HAL Drivers
Page 19
■ RTOS-independent device driver for peripherals
■ Each HAL driver is composed of two components:● Low-level driver (LLD)
– Manipulates the peripheral registers directly
– Uses versions of the same peripheral seamlessly● High-level driver (HLD)
– The code is specific to a Renesas hardware peripheral, but does not directly access hardware registers
– Exposes one or more APIs to the framework code or user code● Benefits include:
– Portability across SSP platforms
– Low level allows for very fast code– However, more difficult to use than the SSP Frameworks
■Module names begin with r_
■ Examples are:● SPI● RTC● ADC Hardware Abstraction Layer
Application Program
ETHERC
USBHS
USBFS
CAN
SDHI
BSP
Shared Interface
X-W
are
TM
Application Framework
SSP
SynergyMCU
HAL
Serial Comm. I/f
IrDA Interface
QSPI
SPI
SSI
ADC14 andADC12
DAC8
Clock Mgmt
RTC
Timing & Control
GLCDC
SLCDC
DRW
PDC
Security & Encryption
© 2016 Renesas Electronics Corporation. All rights reserved.
HAL Interfaces/Drivers
Page 20
Application or Application Framework accesses HAL through Interface
Consistent interface to abstract hardware
Extensible configuration for designated hardwareSome peripherals support multiple interfaces
Some interfaces are supported by multiple peripherals
And in some cases there is a one-to-one mapping
© 2016 Renesas Electronics Corporation. All rights reserved.
Frameworks
Page 21
■ Gives developers the kind of abstraction, re-use, ease of programming, and consistency that results in faster time to working code.
■ Provides standardized APIs
■ Implements commonly used system services and frameworks
■ Abstracts the use of hardware peripherals from application programs● Provides unified interface ● Provides mutual exclusion & synchronization services
– Manages access conflicts
■ Examples of application frameworks● Messaging ● Audio playback ● Thread monitor ● Console application● UART ● External IRQ ● IIC ● JPEG decode● SPI ● Touch Panel
■ Module names begin with sf_Application framework
Application Program
Application Framework
Audio
Console
JPEG
Touch Panel
External IRQ
Messaging
BSP
HAL
ThreadX®
X-Ware™
SSP
SynergyMCU
SPI
IIC
UART
Thread Monitor
Power Profiles
Block Media
Cap. Touch Sensing ADC
© 2016 Renesas Electronics Corporation. All rights reserved.
USB MS DACTimers SRCSSI
PWM
Synergy MCUPeripherals
Application Program
data get decode convert
Page 22
Audio Application Framework
HA
L
Timer SRC
Ap
plic
atio
n
Fra
mew
orkX-ware™
FileX®
USBXTMThreadX®
Audio Framework
BS
P
SSP
What you can do●Playback audio files●Playback control features
– Start
– Stop
– Pause
– Resume
– Volume Control
How it works●Use APIs such as data get, decode, convert●Supported output peripherals
– DAC / PWM / SSI (I2S)●SSP components work together and
abstract MCU hardware features used
© 2016 Renesas Electronics Corporation. All rights reserved. Page 23
ADC Framework
■ ADC Framework provides generic and thread safe APIs for applications to sample data over available ADC channels
■ Configurable sampling rate and iterations
■ Samples and buffers data from ADC channels
■ Notifies applications when the configured number of samples are ready
■ Uses callback mechanism to notify availability of data
■ Framework uses GPT timer interface for timing functions
■ Framework uses DMA or DTC for efficient transfer of data from framework to application
ADC Framework
Application Program
HA
LA
pp
lica
tio
n
Fra
mew
ork
BSP
X-WareTM
S/IF
SSP
Th
rea
dX
®
SynergyMCU
R_GPT
Periodic Sampling ADC
GPT
R_DTC
Data Sampling and Capture
R_DMAC
DTC DMAC
R_ADC
ADC
© 2016 Renesas Electronics Corporation. All rights reserved.
What is Possible?
Page 24
MCU
BSP
Driver(s)
Framework
© 2016 Renesas Electronics Corporation. All rights reserved.
RENESAS SYNERGY SOFTWARE IN ACTIONSSP AND ISDE TOUR
David Noverraz, Engineering ManagerClairefontaine-en-Yvelines17-18th March 2016
© 2016 Renesas Electronics Corporation. All rights reserved.
Introduction
Page 26
© 2016 Renesas Electronics Corporation. All rights reserved.
The Renesas Synergy TM Platform for Embedded Designers
Page 27
A Solid Platform
SynergyMicrocontrollers
SynergyTools & Kits
SynergySolutions
SynergyGallery
Synergy Software
Software APIs
Synergy Software Package (SSP)
BSP
ThreadX®
RTOS
HAL Drivers
FileX®
GUIX™USBX™NetX™
NetX Duo™
Functional Libraries
Application Framework
Qualified SoftwareAdd-ons (QSA)
Verified SoftwareAdd-ons (VSA)
Stacks
Algorithms
Functions
Stacks
Algorithms
Functions
Specialties
…and more
Specialties
…and more
A complete and qualified platform that acceleratesembedded development, inspiring innovation and enabling differentiation.
AccelerateDevelopment
ReduceCost of Ownership
Lower Barriers to EntryThree
CoreValues
© 2016 Renesas Electronics Corporation. All rights reserved.
IDE vs ISDE
Page 28
IDE
=
ISDESolution-orientedcomponents
+
© 2016 Renesas Electronics Corporation. All rights reserved.
ISDE components
Page 29
e2 studio
New Preparation Phase Plug-
Ins
New Build Phase Plug-
Ins
New Debug Phase Plug-
Ins
SSP Pack(CMSIS
Pack format)
© 2016 Renesas Electronics Corporation. All rights reserved.
Quick ISDE tour
Page 30
© 2016 Renesas Electronics Corporation. All rights reserved.
Synergy Project Generator
Page 31
Initial project configuration and selection of toolchain
© 2016 Renesas Electronics Corporation. All rights reserved.
Synergy Project Generator
Page 32
Device and development board selection
© 2016 Renesas Electronics Corporation. All rights reserved.
Synergy Project Generator
Page 33
Renesas or user defined project templates
© 2016 Renesas Electronics Corporation. All rights reserved.
Synergy Project Editor – BSP Configurator
Page 34
Customisation of selected Board Support Package (BSP)
© 2016 Renesas Electronics Corporation. All rights reserved.
Synergy Project Editor – Clock Configurator
Page 35
Simplified clock tree and configuration
© 2016 Renesas Electronics Corporation. All rights reserved.
Synergy Project Editor – Pin Configurator
Page 36
Peripheral pin configuration with conflict detection
© 2016 Renesas Electronics Corporation. All rights reserved.
Synergy Project Editor – RTOS / HAL / SSP Module Configurator
Page 37
Module selection and configuration
© 2016 Renesas Electronics Corporation. All rights reserved.
Seeing is believing
Page 38
© 2016 Renesas Electronics Corporation. All rights reserved.
Synergy S7 USB CDC demo
Page 39
Synergy S7G2 Development kit DK-S7G2
Synergy GCC (GNU) compiler
SSP Comms Framework
Express Logic ThreadX Operating System
Express Logic USBX
Segger J-Link debugger
ISDE
© 2016 Renesas Electronics Corporation. All rights reserved. Page 40
THANK YOU FOR YOUR ATTENTION
PLEASE REMEMBER TO COMPLETE THE FEEDBACK
SURVEY IN YOUR SMARTPHONE APP