You are on page 1of 6

SRN14173

Peripheral Driver Library Release Notes


PDL Version 2.1.0
Release Date: July 14, 2016

Thank you for your interest in Cypress Peripheral Driver Library version 2.1.0. This document describes
the contents of the release package.

Overview
Cypress provides the Peripheral Driver Library (PDL) v2.1.0 to simplify software development for the
FM0+ and FM4 MCU portfolios.
The PDL 2.1.0 release provides the following features and capabilities:
Drivers for all supported peripherals for the FM0+ and FM4 MCU portfolios.
The ARM Cortex Microcontroller Software Interface Standard (CMSIS) core access header files
from the CMSIS release.
CMSIS compliant device header files, startup code (platform initialization), linker script, flash
loaders, and SVD files for all supported MCU series.
Board-specific configuration including drivers to support other devices on the board.
Code Examples demonstrating peripheral functionality for starter kits.
PDL Application Programming Interface Reference Manual.
PDL Quick Start guide.
See next table to learn about the new features in PDL 2.1.0.
If you have technical questions, visit www.cypress.com/support for help or contact information.

Updates in PDL 2.1.0


Next are the major updates in this version of PDL:
Code Examples PDL now includes ready to use project file for each IDE as a part of every code
example, no need to reconfigure.
Low-level programming Preconfigured project file for each IDE provided for every device
package (just the PDL must be linked to the project, see Quick Start Guide).
IDE Support:
o Updated to Keil Vision v 5.18.
o Added support for iSYSTEM winIDEA v9.12, Atollic TrueSTUDIO v5.5, and Makefile
support with GCC from ARM Embedded.
Documentation:
o Includes overview and setup information for each peripheral.
o Enhanced API Reference Guide.
o Enhanced Quick Start Guide.
Peripherals See Supported Peripheral Drivers and Driver Updates.

July 14, 2016 Document Number 002-14173 Rev. ** -1-


SRN14173

Device support Now CMSIS v4.5 compliant dedicated device header file and startup code for
every device package; no longer monolithic, no need to use #ifdef to configure PDL for a
particular series and package.
pdl_device.h No longer used.
NOTE: PDL 2.1.0 does not currently support the FM3 MCU portfolio. To develop firmware for the FM3
MCU portfolio, use version v2.0.x available through the PDL product page.

Supported Peripheral Drivers and Driver Updates


The PDL provides a high-level API to configure, initialize, and use a peripheral driver. The PDL also
provides numerous code examples that demonstrate how to use the peripherals. The PDL includes all the
necessary startup code for each supported device.
There were many common improvements made to all drivers in this release for all the drivers. These
include:
Updated Doxygen comments to enhance driver description in the API reference manual
Applied const qualifier to the configuration structure parameter for the Init() function for all drivers
to allow passing both const (flash) and RAM variables as function arguments.
Driver Version Description Updates
ADC 1.20 12 bit ADC Corrected declaration does not declare anything
and variable may be used uninitialized in a
function warning for GCC.
Corrected a typo in 8RangeComapreChannel
struct member name. The correct name is
8RangeCompareChannel.
BT 1.20 Base Timer Corrected declaration does not declare anything
and variable may be used uninitialized in a
function warning for GCC.
CAN 1.30 Control Area Network (CAN) Corrected a problem when the
Can_SetTransmitMsgBuffer() function could
occasionally resend last message.
CANFD 1.20 CAN with Flexible Data Rate None except common for all drivers.
CLK 1.20 Clock None except common for all drivers.
CRC 1.20 Cyclic Redundancy Check None except common for all drivers.
CR 1.20 Clock Rate High Speed Trimming None except common for all drivers.
CSV 1.20 Clock Supervisor None except common for all drivers.
DAC 1.20 Digital Analog Converter None except common for all drivers.
DMA 1.20 Direct Memory Access Corrected a typo in enTransferWdith function
declaration. The correct name is enTransferWidth.
DT 1.20 Dual Timer Corrected missing braces initialization warning for
GCC.
DSTC 1.40 Descriptor System Data Transfer Controller None except common for all drivers.
EXINT 1.30 External Interrupt None except common for all drivers.
EXTIF 1.50 External Bus Interface None except common for all drivers.
FLASH 1.20 Flash Memory None except common for all drivers.
GPIO 1.20 I/O Port Corrected missing braces initialization warning for
GCC.
HBIF 1.20 Hyper Bus Interface None except common for all drivers.
HSSPI 1.20 High Speed Quad SPI None except common for all drivers.
I2CS 1.20 I2C Slave None except common for all drivers.

July 14, 2016 Document Number 002-14173 Rev. ** -2-


SRN14173

Driver Version Description Updates


I2S 1.20 Inter-IC Sound None except common for all drivers.
I2SL Removed I2SL (the same functionality is in I2S).
ICC 1.20 Smart Card Interface None except common for all drivers.
LCD 1.20 Segment LCD Controller None except common for all drivers.
LPM 1.30 Low Power Consumption Mode None except common for all drivers.
LVD 1.20 Low Voltage Detection Corrected unused variable warning for GCC.
MFS 1.20 Multi-Functional Serial Interface Corrected missing braces initialization warning for
GCC.
MFT 1.20 Multi-Functional Timer Corrected missing braces initialization and
variable may be used uninitialized in a function
warning for GCC.
Corrected a typo in
Mft_Wfg_NzclClrAnalogFilterIrqFlag() function
declaration. The correct name is
Mft_Wfg_Nzcl_ClrAnalogFilterIrqFlag().
Corrected a typo in Mft_Wfg_Nzcl_SwTiggerDtif()
function declaration. The correct name is
Mft_Wfg_Nzcl_SwTriggerDtif().
PCRC 1.20 Programmable Cyclic Redundancy Check None except common for all drivers.
PPG 1.20 Programmable Pulse Generator None except common for all drivers.
QPRC 1.20 Quad Decoder and Position/Revolution Counter None except common for all drivers.
RC 1.20 HDMI-CEC/Remote Control Corrected variable may be used uninitialized in a
Reception/Transmission function warning for GCC.
RESET 1.20 Reset None except common for all drivers.
RTC 1.20 Real Time Clock Corrected condition to see if an RTC is running
before initialization procedure.
Corrected missing braces initialization warning for
GCC.
SDIF 1.20 SD Card Interface Corrected a typo in Sdif_DisableNomralIrq()
function declaration. The correct name is
Sdif_DisableNormalIrq().
UID 1.20 Unique ID Register None except common for all drivers.
VBAT 1.20 VBAT Domain Implemented workaround for Cypress ID 245800
on FM0+ TYPE2 (S6E1B) series. Updated
en_clk_current_t enum and Vbat_Init() function to
reflect TRM.
WC 1.20 Watch Counter None except common for all drivers.
WDG 1.20 Watch Dog Timer None except common for all drivers.

Supported Devices
This release supports Cypress FM0+ and FM4 devices as listed in the following table.
MCU Portfolio MCU Series Supported Package
FM0+ S6E1A s6e1a1xb, s6e1a1xc
S6E1B s6e1b3xe, s6e1b3xf, s6e1b3xg, s6e1b8xe, s6e1b8xf, s6e1b8xg
S6E1C s6e1c1xb, s6e1c1xc, s6e1c1xd, s6e1c3xb, s6e1c3xc, s6e1c3xd
FM4 MB9BFx6xM/N/R mb9bf16xm, mb9bf16xn, mb9bf16xr, mb9bf36xm, mb9bf36xn, mb9bf36xr, mb9bf46xm,
mb9bf46xn, mb9bf46xr, mb9bf56xm, mb9bf56xn, mb9bf56xr
MB9BFx6xK/L mb9bf16xk, mb9bf16xl, mb9bf36xk, mb9bf36xl, mb9bf46xk, mb9bf46xl, mb9bf56xk,
mb9bf56xl

July 14, 2016 Document Number 002-14173 Rev. ** -3-


SRN14173

MCU Portfolio MCU Series Supported Package


S6E2C s6e2c1xh, s6e2c1xj, s6e2c1xl, s6e2c2xh, s6e2c2xj, s6e2c2xl,
s6e2c3xh, s6e2c3xj, s6e2c3xl, s6e2c4xh, s6e2c4xj, s6e2c4xl, s6e2c5xh, s6e2c5xj,
s6e2c5xl, s6e2ccxh, s6e2ccxj, s6e2ccxl
S6E2D s6e2d3xg, s6e2d3xj, s6e2d5xg, s6e2d5xj, s6e2dfxg, s6e2dfxj, s6e2dhxg, s6e2dhxj
S6E2G s6e2g2xh, s6e2g2xj, s6e2g3xh, s6e2g3xj, s6e2ghxh, s6e2ghxj, s6e2gkxh, s6e2gkxj,
s6e2gmxh, s6e2gmxj
S6E2H s6e2h1xe, s6e2h1xf, s6e2h1xg, s6e2h4xe, s6e2h4xf, s6e2h4xg, s6e2hexe, s6e2hexf,
s6e2hexg, s6e2hgxe, s6e2hgxf, s6e2hgxg

Supported Toolchains
IAR Embedded Workbench for ARM 7.50
Keil Embedded Development Tools for ARM 5.17
GCC ARM Embedded 4.9-2015-q1-update
Atollic TrueSTUDIO 5.5.2
iSYSTEM winIDEA 9.12

Release Contents
The PDL is organized into several folders. The following table shows the PDL folder structure.

Path\Folder Description
cmsis CMSIS core access headers
devices Device header files, startup code, linker files, flash loader implementation, the CMSIS SVD file, and platform
drivers for each device series. Preconfigured project files for each supported IDE.
doc PDL documentation
driver Driver source code and headers
example Example code for each supported kit
utilities Various utility files

Updates
Check the Cypress PDL product page for the latest software and documentation.

July 14, 2016 Document Number 002-14173 Rev. ** -4-


SRN14173

PDL 2.1.0 Limitations


1. Atollic TrueSTUDIO relies on GDB server for debugging. Some debug probes, such as SEGGER
J-LINK, do not support flash programming for all available FM device series. If your device is not
supported, you can manually download an application image to the board using a standalone
flash programmer. Refer to the PDL Quick Start Guide for more information.

PDL 2.1.0 Known Defects


Defect Work Around
A call to Mfs_I2c_GetStatus() after calling Set the IBCR register directly using
1.
Mfs_I2c_ConfigAck() may not return, and the pstcI2c->IBCR with read-modify-write instead
application will hang. [239460]. of calling Mfs_I2c_ConfigAck() if you observe
the problem.

Documentation
PDL Quick Start Guide and API Reference Manual are located in the /doc subdirectory of the PDL
installation directory. The default location is:
Documents/Cypress/ PDL <version>

Technical Support
For assistance, go to http://www.cypress.com/support or contact our customer support at +1 (800) 541-
4736 Ext. 2 (in the USA), or +1 (408) 943-2600 (International).

Additional Information
Technical Reference Manuals
FM0+ Family of 32-bit ARM Cortex-M0+ Microcontrollers Peripheral Manuals (TRM)
FM4 Family of 32-bit ARM Cortex-M0+ Microcontrollers Peripheral Manuals (TRM)
Application Notes
AN202487 - Differences Among FM0+, FM3, and FM4 32-Bit Microcontrollers
AN211122 - Getting Started with FM4 Development
AN210985 - Getting Started with FM0+ Development
Development Kits/Boards
FM4-176L-S6E2GM - ARM Cortex-M4 MCU Pioneer Kit with Ethernet and USB Host
FM4-176L-S6E2DH - ARM Cortex-M4 FM4 Graphics MCU Starter Kit with WQVGA TFT
Display
FM4-176L-S6E2CC-ETH - ARM Cortex-M4 MCU Starter Kit with Ethernet and USB Host
FM4-120L-S6E2HG FM4 S6E2H-Series Starter Kit
FM4-U120-9B560 - ARM Cortex-M4 MCU Starter Kit with USB and CMSIS-DAP
FM0-64L-S6E1C3 - ARM Cortex-M0+ MCU Starter Kit with USB and Digital Audio Interface
FM0-100L-S6E1B8 - ARM Cortex-M0+ MCU Starter Kit with USB and SD Card Interface

July 14, 2016 Document Number 002-14173 Rev. ** -5-


SRN14173

Cypress Semiconductor
198 Champion Ct.
San Jose, CA 95134-1709 USA
Tel: 408.943.2600
Fax: 408.943.4730
Application Support Hotline: 425.787.4814
www.cypress.com

Cypress Semiconductor Corporation, 2016. This document is the property of Cypress Semiconductor Corporation and
its subsidiaries, including Spansion LLC (Cypress). This document, including any software or firmware included or
referenced in this document (Software), is owned by Cypress under the intellectual property laws and treaties of the
United States and other countries worldwide. Cypress reserves all rights under such laws and treaties and does not,
except as specifically stated in this paragraph, grant any license under its patents, copyrights, trademarks, or other
intellectual property rights. If the Software is not accompanied by a license agreement and you do not otherwise have a
written agreement with Cypress governing the use of the Software, then Cypress hereby grants you a personal, non-
exclusive, nontransferable license (without the right to sublicense) (1) under its copyright rights in the Software (a) for
Software provided in source code form, to modify and reproduce the Software solely for use with Cypress hardware
products, only internally within your organization, and (b) to distribute the Software in binary code form externally to end
users (either directly or indirectly through resellers and distributors), solely for use on Cypress hardware product units,
and (2) under those claims of Cypresss patents that are infringed by the Software (as provided by Cypress, unmodified)
to make, use, distribute, and import the Software solely for use with Cypress hardware products. Any other use,
reproduction, modification, translation, or compilation of the Software is prohibited.
TO THE EXTENT PERMITTED BY APPLICABLE LAW, CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, WITH REGARD TO THIS DOCUMENT OR ANY SOFTWARE OR ACCOMPANYING HARDWARE,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE. To the extent permitted by applicable law, Cypress reserves the right to make changes to this
document without further notice. Cypress does not assume any liability arising out of the application or use of any product
or circuit described in this document. Any information provided in this document, including any sample design information
or programming code, is provided only for reference purposes. It is the responsibility of the user of this document to
properly design, program, and test the functionality and safety of any application made of this information and any
resulting product. Cypress products are not designed, intended, or authorized for use as critical components in systems
designed or intended for the operation of weapons, weapons systems, nuclear installations, life-support devices or
systems, other medical devices or systems (including resuscitation equipment and surgical implants), pollution control or
hazardous substances management, or other uses where the failure of the device or system could cause personal injury,
death, or property damage (Unintended Uses). A critical component is any component of a device or system whose
failure to perform can be reasonably expected to cause the failure of the device or system, or to affect its safety or
effectiveness. Cypress is not liable, in whole or in part, and you shall and hereby do release Cypress from any claim,
damage, or other liability arising from or related to all Unintended Uses of Cypress products. You shall indemnify and
hold Cypress harmless from and against all claims, costs, damages, and other liabilities, including claims for personal
injury or death, arising from or related to any Unintended Uses of Cypress products.
Cypress, the Cypress logo, Spansion, the Spansion logo, and combinations thereof, PSoC, CapSense, EZ-USB, F-RAM,
and Traveo are trademarks or registered trademarks of Cypress in the United States and other countries. For a more
complete list of Cypress trademarks, visit cypress.com. Other names and brands may be claimed as property of their
respective owners.

July 14, 2016 Document Number 002-14173 Rev. ** -6-

You might also like