developing with mbed os - arm architecture · online ide collaborated with cloud9 to undertake a...
Post on 26-May-2020
13 Views
Preview:
TRANSCRIPT
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
11
Github: ARMmbed/yotta
Windows installer:
https://github.com/ARMmbed/yotta_windows_installer
Mac installer (beta!):
https://github.com/ARMmbed/yotta_osx_installer
Docker Image (new!):
https://docs.mbed.com/docs/getting-started-mbed-os/en/latest/docker_install/
Docs:
http://yottadocs.mbed.com/#installing
Getting yotta
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
top related