Developing with mbed OS - ARM architecture · Online IDE Collaborated with Cloud9 to undertake a...

Post on 26-May-2020

9 views 0 download

Transcript of Developing with mbed OS - ARM architecture · Online IDE Collaborated with Cloud9 to undertake a...

Developing with mbed OS

Eric Yang

mbed Connect / Shenzhen, China

Staff Applications Engineer Internet of Things Business Unit

15th Dec 2015

2

The mbed OS Way

Re-usability

Small software components

Dependencies management

Semantic versioning

Portability

mbed™ HAL

Compiling for various targets

Rich ecosystem

Based on open-source components

Enabling community contributions

mbed Partners

Productive development tools

IDEs – online and offline

Command line

3

Introducing yotta

yotta is the build system and package manager of mbed OS

yotta makes it easier to re-use modules in C-family languages

http://yottadocs.mbed.com/

yotta comes with a public registry of re-usable modules

http://yotta.mbed.com/

yotta is also the name of the command-line tool

Shorthand: yt

4

The mbed OS way

Re-usability

Small software components

Dependencies management

Semantic versioning

Portability

mbed HAL

Compiling for various targets

Enabled by yotta

Rich ecosystem

Based on open-source components

Enabling community contributions

mbed Partners

Productive development tools

IDEs – online and offline

Command line

Using yotta in the background

5

Basic Concepts

Module

A re-usable piece of software (provides a

static library)

Usually published in a registry

Application

A module that produces a binary instead of a

library

Top-level object, usually depends on other

modules

Registry

Place where modules are stored

Can hold multiple versions

Target

Information about the hardware

Information about the toolchain

Allows inheritance

6

yourmodule

├── source

│ ├── sourcefile.c – for an application, call app_start()

│ └── moresource.c

├── test

│ └── sometest.c

├── yourmodule

│ └── header.h

├── module.json – populated by yt init

└── README.md

See demo!

Basic Concepts: Modules and Applications

7

maintainer

whatever source

control flow you do

(yotta doesn’t care)

Basic Concepts: The Public Registry

8

maintainer

Registry

publish

v1.2.1

v1.3.0

whatever source

control flow you do

(yotta doesn’t care)

Basic Concepts: The Public Registry

9

Basic Concepts: The Public Registry

maintainer

Registry

other

developers other

developers other

developers

publish

searches

installs module

v1.2.1

v1.3.0

whatever source

control flow you do

(yotta doesn’t care)

10

Basic Concepts: Target Descriptions

mbed-gcc

mk64f-gcc

frdm-k64f-gcc

base compiler description

chip

board – all you need to know as a user

12

yotta command-line demo

Tutorial: http://yottadocs.mbed.com/tutorial/tutorial.html

Documentation:

http://yottadocs.mbed.com/

http://yottadocs.mbed.com/reference/cheatsheet.html

yt –h, yt subcmd –h

https://www.youtube.com/playlist?list=PLiVCejcvpsevVVpgdIo4QxSl563ToLOIB

Source: https://github.com/ARMmbed/yotta

Also for bug reports, feature requests, etc.

13

mbed Development Tools

yotta command-line tooling offers:

Powerful control for terminal-savvy developers

Scripting abilities for automation of tasks

Our experience building mbed OS and early partner feedback

shows different project needs and tasks require different tools

Therefore, we are enabling yotta development support in IDEs

Development and workflow choice

Visual development support

14

Microcontroller Developer Kit µVision

Worked closely with the Keil® team to bring yotta support to µVision

Great for large-scale professional embedded projects

Uses yotta-generated make files

Integrates debug tools

Supports yotta registry and publishing

15

Microcontroller Developer Kit µVision

16

Online IDE

Collaborated with Cloud9 to undertake a pilot of an online platform for mbed

development

Follows user experiences already proven with the mbed 2.0 online IDE offering

Private workspace access and free to use

Tight Integration with mbed ecosystem, yotta tools and module registry

Allows getting started in an easy, intuitive and frictionless manner

Instant accessibility to a well-known, working environment

No installation required

17

Online IDE Demo

18

19

20

21

22

23

24

25

26

The trademarks featured in this presentation are registered and/or unregistered trademarks of ARM Limited (or

its subsidiaries) in the EU and/or elsewhere. All rights reserved. All other marks featured may be trademarks of

their respective owners.

Copyright © 2015 ARM Limited

Thank you