250 likes | 279 Views
Introduction to the ARM mbed Platform– A Hands-on Course. Class 2: CMSIS, Hands-On. January 10, 2017 Charles J. Lord, PE President, Consultant, Trainer Blue Ridge Advanced Design and Automation. This Week’s Agenda. 1/9 Peeking Under the mbed Hood 1/10 CMSIS, Hands-On
E N D
Introduction to the ARM mbed Platform– A Hands-on Course Class 2: CMSIS, Hands-On January 10, 2017 Charles J. Lord, PEPresident, Consultant, TrainerBlue Ridge Advanced Design and Automation
This Week’s Agenda 1/9 Peeking Under the mbed Hood1/10 CMSIS, Hands-On 1/11 mbed Communications and Multitasking 1/12 The mbed Developer Network 1/13Porting mbed
This Week’s Agenda 1/9 Peeking Under the mbed Hood1/10 CMSIS, Hands-On 1/11 mbed Communications and Multitasking 1/12 The mbed Developer Network 1/13Porting mbed
Freescale FRDM-K64 • K64 Cortex-M4 • 120 MHz • 1 MB flash • 256 KB RAM • mbed • Arduino™ R3 pin layout - we can add shields Debug connector – next to RESET
Board Pinout NOTE – our Arduino shield only uses the outside rows!
Update the MBED driver if needed • Connect your FRDM-K64F board via the programming USB connector (next to the reset button) • Once Windows recognizes it, you should have a new drive called MBED. Open this folder. • If there is a DETAILS.TXT file on the MBED device, read it. Otherwise open mbed.htm with a text editor and look for the version number. It should be 0226. • If not, follow the directions at: http://developer.mbed.org/handbook/Firmware-FRDM-K64Fhttps://developer.mbed.org/media/uploads/sam_grove/0226_k20dx128_k64f_0x5000.bin
Install the Windows Driver if Needed NOT NEEDED FOR WIN 10 • Plug the FRDM board into the PC • Open Device Manager • Check ports – if you don’t see a mbed port, you need to install the Windows driver
Installing the Driver • http://developer.mbed.org/handbook/Windows-serial-configuration • Follow the directions on steps 1 and 2 • Note that this installer needs to be run for every mbed board that you use – it sets up a device driver for each individual serial number
After installing the serial port driver, you should see these four devices
Back to mbed CMSIS – Cortex Microcontroller Software Interface Standard • Standard for tools to be added to mbed • https://silver.arm.com/browse/CMSIS • expanded into other areas: • reference design software component management • reference debugger interfaces
CMSIS-CORE API for the Cortex-M processor core and peripherals. It provides a standardized interface for Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23*, Cortex-M33*, SC000, and SC300. Included are also SIMD intrinsic functions for Cortex-M4, Cortex-M7, and Cortex M33 SIMD instructions. *ARMv8
CMSIS-Driver Defines generic peripheral driver interfaces for middleware making it reusable across supported devices. The API is RTOS independent and connects microcontroller peripherals with middleware that can implement communication stacks and data storage, amongst others.
CMSIS-DSP DSP Library Collection with over 60 functions for various data types: fix-point (fractional q7, q15, q31) and single precision floating-point (32-bit). The library is available for Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23 and Cortex-M33. The Cortex-M4, Cortex-M7, and Cortex-M33 implementations are optimized for the SIMD instruction set.
CMSIS-RTOS API Common API for real-time operating systems. It provides a standardized programming interface that is portable to many RTOS and enables therefore software templates, middleware, libraries, and other components that can work across supported the RTOS systems. It provides a standardized programming interface that is portable to many RTOS, enabling software templates, middleware, libraries, and other components that can work across all supported RTOS.
CMSIS-Pack Describes with a XML based package description (PDSC) file the user and device relevant parts of a file collection (called software pack) that includes source, header, and library files, documentation, Flash programming algorithms, source code templates, and example projects. Development tools and web infrastructures use the PDSC file to extract device parameters, software components, and evaluation board configurations.
CMSIS-SVD System View Description for Peripherals. Describes the peripherals of a device in an XML file and can be used to create peripheral awareness in debuggers or header files with peripheral register and interrupt definitions.
CMSIS-DAP Debug Access Port. Standardized firmware for a Debug Unit that connects to the CoreSight Debug Access Port. CMSIS-DAP is distributed as separate package and well suited for integration on evaluation boards. This component is provided as separate download.
Tomorrow Communications!!! RTOS!!!
This Week’s Agenda 1/9 Peeking Under the mbed Hood1/10 CMSIS, Hands-On 1/11 mbed Communications and Multitasking 1/12 The mbed Developer Network 1/13Porting mbed
Please stick around as I answer your questions! • Please give me a moment to scroll back through the chat window to find your questions • I will stay on chat as long as it takes to answer! • I am available to answer simple questions or to consult (or offer in-house training for your company)c.j.lord@ieee.orghttp://www.blueridgetechnc.comhttp://www.linkedin.com/in/charleslordTwitter: @charleslordhttps://www.github.com/bradatraining