1 / 23

Introduction to the ARM mbed Platform– A Hands-on Course

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

wsprouse
Download Presentation

Introduction to the ARM mbed Platform– A Hands-on Course

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. Board Pinout NOTE – our Arduino shield only uses the outside rows!

  6. 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

  7. Updated Board Should Be 0226

  8. 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

  9. 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

  10. After installing the serial port driver, you should see these four devices

  11. 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

  12. Must have ARM Account

  13. But CMSIS is also a Toolbox

  14. 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

  15. 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.

  16. 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.

  17. 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.

  18. 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.

  19. 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.

  20. 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.

  21. Tomorrow Communications!!! RTOS!!!

  22. 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

  23. 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

More Related