Cypress Semiconductor FM Microcontrollers
The FM Family of microcontrollers provide devices for everything from low-power to high-performance embedded applications, targeting motor control and graphical displays at the top end, through to white goods, sensors and meters at the other.
The FM0+ family leverages the energy-efficient ARM® Cortex®-M0+ core, with ultra low-power modes and local clock gating, making them suitable for battery-powered and wearable devices. They also feature segmented LCD display peripherals and an impressive amount of on-chip flash and SRAM memory. Full-speed host and device USB, along with multiple serial interfaces and AES encryption provide an ideal platform for connected devices.
When more performance is required, the FM3 family makes the power of the ARM® Cortex®-M3 core available to embedded developers. To ensure the performance is delivered, the flash memory features an accelerator circuit, ensuring that zero wait-states can be maintained up to clock frequencies of 144MHz. Low-profile, compact packaging and support for 5.5V power supplies ensures robustness in compact designs for industrial applications.
In applications where 2D graphics are required, or the demands of motor control must be fulfilled, the FM4 family with their ARM® Cortex®-M4 core and its floating point unit are available. Like the FM3, it also features an acceleration circuit for its flash memory, enabling zero wait-state operating at clock speeds of up to 200MHz. To meets the needs of industrial applications the devices feature CAN and CAN-FD, Ethernet, and USB, as well as having dedicated motor control multifunction timers and quadrature encoders.
Both debug and, where available, trace support are provided on these devices via ARM's CoreSight™ technology, utilizing the Serial Wire Debug (SWD) interface for pure debugging, Serial Wire Output (SWO) single-pin interface for basic trace output, and Embedded Trace Macrocell (ETM) 5-pin interface for advanced trace output.
An overview of the CoreSight™ features supported by this family are:
|FPB (Flash Patch Breakpoint)||Implements hardware breakpoints||✔||✔||✔||✔||✔||✘|
|DWT (Data Watchpoint and Trace)||Hardware comparators for program counter
and data watchpoints
|ITM (Instrumentation Trace Macrocell)||Block supports printf style debugging, trace of
RTOS events and output of diagnostic system
|ETM (Embedded Trace Macrocell)||5-pin output for ITM or ETM trace messages||✘||✔||✔||✔||✔||✘|
|MTB (Micro Trace Buffer)||✔||✘||✘||✔||✔||✘|
|SWO (Serial Wire Output)||Single-pin output for ITM trace messages||✘||✔||✔||✔||✔||✘|
|TPIU (Trace Port Interface Unit)||Bridge between on-chip trace data and either
SWO or ETM interfaces.
|SWD (Serial Wire Debug)||Two-wire CoreSight™ interface used for debugging
and debug configuration.
Via the Analyser in winIDEA, embedded applications can be analysed for timing, even when based upon a Real-Time Operating System (RTOS). If you are looking to improve code quality, the integrated testing tool testIDEA can also test your code and deliver code-coverage report directly from execution on the target microcontroller as well.
To get started, simply build your application using the excellent Peripheral Driver Library, making use of the wealth of pre-existing peripheral drivers, then import the resulting ELF file into winIDEA workspace once your application is built. Getting started is made even easier with our Online Tutorial Getting started with winIDEA.