Tag Archives: Keil

ARM Keil ecosystem integrates the Atmel SAM ESV7

Keil is part of the ARM wide ecosystem, enabling developers to speed up system release to the market. 

Even the best System-on-Chip (SoC) is useless without software, as well as the best designed S/W needs H/W to flourish. The “old” embedded world has exploded into many emergent markets like the  IoT, wearables, and even automotive, which is no more restricted to motor control or airbags as innovative products from entertainment to ADAS are being developed. What is the common denominator with these emergent products? Each of these require more software functionality and fast memory algorithm with deterministic code execution, and consequently innovative hardware to support these requirements, such as the ARM Cortex-M7-based Atmel | SMART SAM ESV7.

AtmelChipLib Overview

ARM has released a complete software development environment for a range of ARM Cortex-M based MCU devices: Keil MDK. Keil is part of ARM wide ecosystem, enabling developers to speed up system release to the market. MDK includes the µVision IDE/Debugger and ARM C/C++ Compiler, along with the essential middleware components and software packs. If you’re familiar with Run-Time Environment stacked description, you’ll recognize the various stacks. Let’s focus on “CMSIS-Driver”. CMSIS is the standard software framework for Cortex-M MCUs, extending the SAM-ESV7 Chip Library with standardized drivers for middleware and generic component interfaces.

By definition, an MCU is designed to address multiple applications and the SAM ESV7 is dedicated to support performance demanding and DSP intensive systems. Thanks to its 300MHz clock, SAM ESV7 delivers up to 640 DMIPS and its DSP performance is double that available in the Cortex-M4. A double-precision floating-point unit and a double-issue instruction pipeline further position the Cortex-M7 for speed.

Atmel Cortex M7 based Dev board

Let’s review some of these applications where SAM ESV7 is the best choice…

Finger Printer Module

The goal is to provide human bio authentication module for office or house access control. The key design requirements are:

  • +300 MHz CPU performance to process recognition algorithms
  • Image sensor interface to read raw finger image data from finger sensor array
  • Low cost and smaller module size
  • Flash/memory to reduce BOM cost and module size
  • Memory interface to expand model with memory extension just in case.

The requirement for superior performance and an image sensor interface can be seen as essential needs, but which will make the difference will be to offer both cheaper BOM cost and smaller module size than the competitor? The SAM S70 integrates up to 2MB embedded Flash, which is twice more than the direct competitor and may allow reducing BOM and module size.

SAM S70 Finger Print

Automotive Radio System

Every cent counts in automotive design, and OEMs prefer using a MCU rather than MPU, at first for cost reasons. Building an attractive radio for tomorrow’s car requires developing very performing DSP algorithms. Such algorithms used to be developed on expansive DSP standard part, leading to large module size, including external Flash and MCU leading obviously to a heavy BOM. In a 65nm embedded Flash process device, the Cortex-M7 can achieve a 1500 CoreMark score while running at 300 MHz, and its DSP performance is double that available in the Cortex-M4. This DSP power can be used to manage eight channels of speaker processing, including six stages of biquads, delay, scaler, limiter and mute functions. The SAM S71 workload is only 63% of the CPU, leaving enough room to support Ethernet AVB stack — very popular in automotive.

One of the secret sauces of the Cortex-M7 architecture is to provide a way to bypass the standard execution mechanism using “tightly coupled memories,” or TCM. There is an excellent white paper describing TCM implementation in the SAM S70/E70 series, entitled “Run Blazingly Fast Algorithms with Cortex-M7 Tightly Coupled Memories” from Lionel Perdigon and Jacko Wilbrink, which you can find here.

This post has been republished with permission from SemiWiki.com, where Eric Esteve is a principle blogger as well as one of the four founding members of the site. This blog first appeared on SemiWiki on October 23, 2015.

Bump up your Atmel Studio

Written by Johannes Bauer, ARM

With Atmel Studio, Atmel has one of the best free development tools for ARM-based microcontrollers on the market.

Its slick IDE and the smooth integration of the Atmel Software Framework (ASF) makes it a good choice for users of the SAM3, SAM4, and the brand-new SAM D20 devices. One thing some might be missing, though, is a top-notch compiler.

Thankfully, there is a solution in the Atmel Gallery – the Keil MDK-ARM Toolchain extension. It allows Atmel Studio to use the highly optimizing ARM Compiler with its best-in-class code density and high performance for a wide range of applications. The extension requires an installation of Keil MDK-ARM, but makes the integrated compiler available transparently in Atmel Studio.

The ARM Compiler provides two run-time C/C++ library variants: a full ANSI compliant library and a Microlib for utmost code density on small microcontrollers like the Cortex-M0+ based SAM D20. You can give it a spin and see how your code size improves.

As a perfect match for the extension, ARM has recently introduced the MDK-ARM Atmel Edition, or MDK-Atmel for short. This special edition of the industry-standard Keil MDK supports compiling and debugging for ARM-based Atmel MCUs and is available at a reduced price compared to the full version of MDK. Of course you can also use MDK-Atmel stand-alone without Atmel Studio if you prefer that.

Together, the ARM development tools and Atmel software and hardware make a good combination for developers, no matter which environment they work in.

Atmel expands ARM Cortex-M4 Flash lineup with SAM4N series

Atmel has expanded its ARM Cortex-M4 Flash lineup with the entry-point SAM4N series. The new microcontrollers – which feature a 100MHz operating frequency – boast up to 1MB of Flash memory, multiple serial communication peripherals and analog capability.

“This combination of features, coupled with low power consumption, makes the SAM4N series ideal for a wide range of applications, including the industrial automation, consumer appliance and energy metering markets,” an Atmel engineer told Bits and Pieces.

“In addition, the SAM4N series offers pin-to-pin compatibility with the Atmel SAM4S, SAM3S, SAM3N and SAM7S devices – facilitating easy migration within the SAM lineup.”

As noted above, the SAM4N is built around a low power sipping design, achieving real-world consumption levels down to 170µA/MHz in active mode; down to 20µA in sleep mode with full RAM retention & wake-up time down to 10µs; and down to 1µA in backup mode with the RTC running.

Key hardware specs include fast serial communication with 7 UARTs, four SPIs and three I2Cs; 12-bit ADC, 10-bit DAC, integrated voltage reference, multiple timers and PWM.

On the software side, there is full IDE support for Atmel Studio 6, IAR and Keil, while a Modbus Demo (RTOS + Modbus RTU) will go live later this month. In addition, Atmel’s SAM4N Xplained Pro is available as a starter or evaluation kit – and is probably the most ideal platform for evaluating and prototyping with the SAM4N. Of course, extension boards can also be purchased individually. Additional information about Atmel’s new SAM4N lineup can be found here.