Skip to content

Commit acce270

Browse files
author
micromint
committed
Merge with upstream
2 parents d6a6275 + 03b8ae1 commit acce270

File tree

12,452 files changed

+3541167
-1406791
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

12,452 files changed

+3541167
-1406791
lines changed

.github/issue_template.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
Note: This is just a template, so feel free to use/remove the unnecessary things
2+
3+
### Description
4+
- Type: Bug | Enhancement | Question
5+
- Related issue: `#abc`
6+
- Priority: Blocker | Major | Minor
7+
8+
---------------------------------------------------------------
9+
## Bug
10+
11+
**Target**
12+
K64F|??
13+
14+
**Toolchain:**
15+
GCC_ARM|ARM|IAR
16+
17+
**Toolchain version:**
18+
19+
**mbed-cli version:**
20+
(`mbed --version`)
21+
22+
**meed-os sha:**
23+
(`git log -n1 --oneline`)
24+
25+
**DAPLink version:**
26+
27+
**Expected behavior**
28+
29+
**Actual behavior**
30+
31+
**Steps to reproduce**
32+
33+
----------------------------------------------------------------
34+
## Enhancement
35+
36+
**Reason to enhance or problem with existing solution**
37+
38+
**Suggested enhancement**
39+
40+
**Pros**
41+
42+
**Cons**
43+
44+
-----------------------------------------------------------------
45+
46+
## Question
47+
48+
**How to?**

.github/pull_request_template.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Notes:
2+
* Pull requests will not be accepted until the submitter has agreed to the [contributer agreement](https://github.com/ARMmbed/mbed-os/blob/master/CONTRIBUTING.md).
3+
* This is just a template, so feel free to use/remove the unnecessary things
4+
5+
## Description
6+
A few sentences describing the overall goals of the pull request's commits.
7+
8+
9+
## Status
10+
**READY/IN DEVELOPMENT/HOLD**
11+
12+
13+
## Migrations
14+
If this PR changes any APIs or behaviors, give a short description of what *API users* should do when this PR is merged.
15+
16+
YES | NO
17+
18+
19+
## Related PRs
20+
List related PRs against other branches:
21+
22+
branch | PR
23+
------ | ------
24+
other_pr_production | [link]()
25+
other_pr_master | [link]()
26+
27+
28+
## Todos
29+
- [ ] Tests
30+
- [ ] Documentation
31+
32+
33+
## Deploy notes
34+
Notes regarding the deployment of this PR. These should note any
35+
required changes in the build environment, tools, compilers, etc.
36+
37+
38+
## Steps to test or reproduce
39+
Outline the steps to test or reproduce the PR here.

.gitignore

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@ dist
77
MANIFEST
88

99
# Private settings
10-
private_settings.py
10+
mbed_settings.py
1111

1212
# Default Build Directory
13-
build/
13+
.build/
14+
BUILD/
15+
.mbed
16+
venv/
1417

1518
# Eclipse Project Files
1619
.cproject
@@ -32,8 +35,6 @@ var
3235
sdist
3336
develop-eggs
3437
.installed.cfg
35-
lib
36-
lib64
3738

3839
# Installer logs
3940
pip-log.txt

.pylintrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[Format]
2+
max-line-length=80

.travis.yml

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
1-
---
21
python:
32
- "2.7"
4-
script: "python workspace_tools/build_travis.py"
3+
4+
script:
5+
- PYTHONPATH=. python tools/test/config_test/config_test.py
6+
- PYTHONPATH=. python tools/test/build_api/build_api_test.py
7+
- python tools/test/pylint.py
8+
- py.test tools/test/toolchains/api.py
9+
- python tools/test/memap/memap_test.py
10+
- python tools/project.py -S
11+
- python tools/build_travis.py
12+
before_install:
13+
- sudo add-apt-repository -y ppa:terry.guo/gcc-arm-embedded
14+
- sudo apt-get update -qq
15+
- sudo apt-get install -qq gcc-arm-none-eabi --force-yes
16+
# Print versions we use
17+
- arm-none-eabi-gcc --version
18+
- python --version
519
install:
6-
- "sudo $TRAVIS_BUILD_DIR/travis/install_dependencies.sh > /dev/null"
7-
- sudo pip install colorama
8-
- sudo pip install prettytable
9-
- sudo pip install jinja2
20+
- sudo pip install -r requirements.txt
21+
- sudo pip install pytest
22+
- sudo pip install pylint
23+
- sudo pip install hypothesis
24+
- sudo pip install mock

CONTRIBUTING.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# Description
2-
This document is cheat sheet for everyone who wants to contribute to mbedmicro/mbed GitHub repository at GitHub.
2+
This document is cheat sheet for everyone who wants to contribute to [ARMmbed/mbed-os](https://github.com/ARMmbed/mbed-os) GitHub repository at GitHub.
33
All changes in code base should originate from GitHub Issues and take advantage of existing GitHub flows. Goal is to attract contributors and allow them contribute to code and documentation at the same time.
44

55
Guidelines from this document are created to help new and existing contributors understand process workflow and align to project rules before pull request is submitted. It explains how a participant should do things like format code, test fixes, and submit patches.
66

77
## Where to get more information?
8-
You can for example read more in our ```docs``` section in [mbedmicro/mbed/doc](https://github.com/PrzemekWirkus/mbed/tree/docs/docs) directory.
8+
You can for example read more in our ```docs``` section in [ARMmbed/mbed-os/doc](https://github.com/ARMmbed/mbed-os/tree/master/docs) directory.
99

1010
# How to contribute
1111
We really appreciate your contributions! We are Open Source project and we need your help. We want to keep it as easy as possible to contribute changes that get things working in your environment. There are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things.
1212

1313
Before a pull request will be merged, the [mbed Contributor Agreement](http://developer.mbed.org/contributor_agreement/) must be signed.
1414

15-
You can pick up existing [mbed GitHub Issue](https://github.com/mbedmicro/mbed/issues) and solve it or implement new feature you find important, attractive or just necessary. We will review your proposal via pull request mechanism, give you comments and merge your changes if we decide your contribution satisfy criteria such as quality.
15+
You can pick up existing [mbed-os GitHub Issue](https://github.com/ARMmbed/mbed-os/issues) and solve it or implement new feature you find important, attractive or just necessary. We will review your proposal via pull request mechanism, give you comments and merge your changes if we decide your contribution satisfy criteria such as quality.
1616

1717
# Enhancements vs Bugs
1818
Enhancements are:
@@ -23,7 +23,7 @@ Enhancements are:
2323
* Documentation work.
2424

2525
Bugs are:
26-
* Issues rose internally or externally by mbedmicro/mbed users.
26+
* Issues rose internally or externally by [ARMmbed/mbed-os](https://github.com/ARMmbed/mbed-os) users.
2727
* Internally (within mbed team) created issues from Continuous Integration pipeline and build servers.
2828
* Issues detected using automation tools such as compilers, sanitizers, static code analysis tools etc.
2929

@@ -39,7 +39,7 @@ Please be patient, digest Gate Keeper's feedback and respond promptly :)
3939
* Before starting the mbed SDK porting, you might want to familiarize with the [mbed SDK library internals](http://developer.mbed.org/handbook/mbed-library-internals) first.
4040

4141
# Glossary
42-
* Gate Keeper – persons responsible for overall code-base quality of mbedmicro/mbed project.
42+
* Gate Keeper – persons responsible for overall code-base quality of [ARMmbed/mbed-os](https://github.com/ARMmbed/mbed-os) project.
4343
* Enhancement – New feature deployment, code refactoring actions or existing code improvements.
4444
* Bugfix – Issues originated from GitHub Issues pool, raised internally within mbed classic team or issues from automated code validators like linters, static code analysis tools etc.
45-
* Mbed classic – mbed SDK 2.0 located in GitHub at mbedmicro/mbed.
45+
* Mbed classic – mbed SDK 2.0 located in GitHub at [ARMmbed/mbed-os](https://github.com/ARMmbed/mbed-os).

DOXYGEN_FRONTPAGE.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# mbed OS code base
2+
3+
This is the code documentation for mbed OS.
4+
5+
For more information, please see:
6+
7+
* [The mbed OS API References](https://docs.mbed.com/docs/mbed-os-api-reference/)
8+
* [The mbed OS Handbook](https://docs.mbed.com/docs/mbed-os-handbook/)

Jenkinsfile

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
2+
// List of targets to compile
3+
def targets = [
4+
//"LPC1768",
5+
//"NUCLEO_F401RE",
6+
//"NRF51822",
7+
"K64F"
8+
]
9+
10+
// Map toolchains to compiler labels on Jenkins
11+
def toolchains = [
12+
ARM: "armcc",
13+
//IAR: "iar_arm",
14+
GCC_ARM: "arm-none-eabi-gcc"
15+
]
16+
17+
// mbed.getCurrentBranch returns either local branch name or reference to pull request
18+
def currentBranch = mbed.getCurrentBranch()
19+
20+
// Create a map of predefined build steps
21+
def parallelSteps = mbed.createParalleSteps("mbed-os", targets, toolchains)
22+
23+
// Run build steps parallel, map as paramater
24+
mbed.compile(parallelSteps)
25+
26+
def testApps = [
27+
"mbed-os-cliapp",
28+
"mbed-client-testapp"
29+
]
30+
31+
// buildTestApps accepts array of test application names and a mbed-os branch or PR reference as parameters
32+
mbed.buildTestApps(testApps, "${currentBranch}")

MANIFEST.in

Lines changed: 0 additions & 3 deletions
This file was deleted.

README.md

Lines changed: 23 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -1,123 +1,23 @@
1-
mbed SDK
2-
========
3-
4-
[![Build Status](https://travis-ci.org/mbedmicro/mbed.png)](https://travis-ci.org/mbedmicro/mbed/builds)
5-
6-
The mbed Software Development Kit (SDK) is a C/C++ microcontroller software platform relied upon by tens of thousands of
7-
developers to build projects fast.
8-
9-
The SDK is licensed under the permissive Apache 2.0 licence, so you can use it in both commercial and personal projects
10-
with confidence.
11-
12-
The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough
13-
to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed.
14-
In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries
15-
have been built on top of the SDK by the mbed Developer Community.
16-
17-
Documentation
18-
-------------
19-
* [Tools](http://developer.mbed.org/handbook/mbed-tools): how to setup and use the build system.
20-
* [mbed library internals](http://developer.mbed.org/handbook/mbed-library-internals)
21-
* [Adding a new target microcontroller](http://developer.mbed.org/handbook/mbed-SDK-porting)
22-
23-
Supported Microcontrollers and Boards
24-
-------------------------------------
25-
View all on the [mbed Platforms](https://developer.mbed.org/platforms/) page.
26-
27-
NXP:
28-
* [mbed LPC1768](http://developer.mbed.org/platforms/mbed-LPC1768/) (Cortex-M3)
29-
* [u-blox C027 LPC1768](http://developer.mbed.org/platforms/u-blox-C027/) (Cortex-M3)
30-
* [mbed LPC11U24](http://developer.mbed.org/platforms/mbed-LPC11U24/) (Cortex-M0)
31-
* [EA LPC11U35](http://developer.mbed.org/platforms/EA-LPC11U35/) (Cortex-M0)
32-
* mbed LPC2368 (ARM7TDMI-S)
33-
* LPC2460 (ARM7TDMI-S)
34-
* LPC810 (Cortex-M0+)
35-
* [LPC812](http://developer.mbed.org/platforms/NXP-LPC800-MAX/) (Cortex-M0+)
36-
* [EA LPC4088](http://developer.mbed.org/platforms/EA-LPC4088/) (Cortex-M4F)
37-
* [EA LPC4088 DM](http://developer.mbed.org/platforms/EA-LPC4088-Display-Module/) (Cortex-M4F)
38-
* LPC4330 (Cortex-M4F + Cortex-M0)
39-
* [LPC1347](http://developer.mbed.org/platforms/DipCortex-M3/) (Cortex-M3)
40-
* [LPC1114](http://developer.mbed.org/platforms/LPC1114FN28/) (Cortex-M0)
41-
* LPC11C24 (Cortex-M0)
42-
* [LPC1549](https://developer.mbed.org/platforms/LPCXpresso1549/) (Cortex-M3)
43-
* [LPC800-MAX](https://developer.mbed.org/platforms/NXP-LPC800-MAX/) (Cortex-M0+)
44-
* [DipCortex-M0](https://developer.mbed.org/platforms/DipCortex-M0/) (Cortex-M0)
45-
* [DipCortex-M3](https://developer.mbed.org/platforms/DipCortex-M3/) (Cortex-M3)
46-
* [BlueBoard-LPC11U24](https://developer.mbed.org/platforms/BlueBoard-LPC11U24/) (Cortex-M0)
47-
* LPCCAPPUCCINO (Cortex-M0)
48-
* [Arch](https://developer.mbed.org/platforms/Seeeduino-Arch/) (Cortex-M0)
49-
* [Arch GPRS](https://developer.mbed.org/platforms/Seeed-Arch-GPRS/) (Cortex-M0)
50-
* [Arch Pro](https://developer.mbed.org/platforms/Seeeduino-Arch-Pro/) (Cortex-M3)
51-
52-
Freescale:
53-
* [FRDM-KL05Z](https://developer.mbed.org/platforms/FRDM-KL05Z/) (Cortex-M0+)
54-
* [FRDM-KL25Z](http://developer.mbed.org/platforms/KL25Z/) (Cortex-M0+)
55-
* FRDM-KL43Z (Cortex-M0+)
56-
* [FRDM-KL46Z](https://developer.mbed.org/platforms/FRDM-KL46Z/) (Cortex-M0+)
57-
* [FRDM-K20D50M](https://developer.mbed.org/platforms/FRDM-K20D50M/) (Cortex-M4)
58-
* [FRDM-K22F](https://developer.mbed.org/platforms/FRDM-K22F/) (Cortex-M4F)
59-
* [FRDM-K64F](https://developer.mbed.org/platforms/FRDM-K64F/) (Cortex-M4F)
60-
61-
STMicroelectronics:
62-
* [Nucleo-F030R8](https://developer.mbed.org/platforms/ST-Nucleo-F030R8/) (Cortex-M0)
63-
* [Nucleo-F072RB](https://developer.mbed.org/platforms/ST-Nucleo-F072RB/) (Cortex-M0)
64-
* [Nucleo-L053R8](https://developer.mbed.org/platforms/ST-Nucleo-L053R8/) (Cortex-M0+)
65-
* [Nucleo-F103RB](https://developer.mbed.org/platforms/ST-Nucleo-F103RB/) (Cortex-M3)
66-
* [Nucleo-L152RE](https://developer.mbed.org/platforms/ST-Nucleo-L152RE/) (Cortex-M3)
67-
* [Nucleo-F302R8](https://developer.mbed.org/platforms/ST-Nucleo-F302R8/) (Cortex-M4F)
68-
* [Nucleo-F334R8](https://developer.mbed.org/platforms/ST-Nucleo-F334R8/) (Cortex-M4F)
69-
* [Nucleo-F401RE](https://developer.mbed.org/platforms/ST-Nucleo-F401RE/) (Cortex-M4F)
70-
* [Nucleo-F411RE](https://developer.mbed.org/platforms/ST-Nucleo-F411RE/) (Cortex-M4F)
71-
* STM32F4XX (Cortex-M4F)
72-
* STM32F3XX (Cortex-M4F)
73-
* STM32F0-Discovery (Cortex-M0)
74-
* STM32VL-Discovery (Cortex-M3)
75-
* STM32F3-Discovery (Cortex-M4F)
76-
* STM32F4-Discovery (Cortex-M4F)
77-
* STM32F429-Discovery (Cortex-M4F)
78-
* STM32L0-Discovery (Cortex-M0+)
79-
* [Arch Max](https://developer.mbed.org/platforms/Seeed-Arch-Max/) (Cortex-M4F)
80-
81-
82-
Nordic:
83-
* [nRF51822-mKIT](https://developer.mbed.org/platforms/Nordic-nRF51822/) (Cortex-M0)
84-
* [Arch BLE](https://developer.mbed.org/platforms/Seeed-Arch-BLE/) (Cortex-M0)
85-
86-
Renesas:
87-
* [RZ-A1H](http://developer.mbed.org/platforms/Renesas-GR-PEACH/) (Cortex-A9)
88-
89-
Silicon Labs:
90-
* [EFM32 Zero Gecko] (https://developer.mbed.org/platforms/EFM32-Zero-Gecko/) (Cortex-M0+)
91-
* [EFM32 Happy Gecko] (https://developer.mbed.org/platforms/EFM32-Happy-Gecko/) (Cortex-M0+)
92-
* [EFM32 Leopard Gecko] (https://developer.mbed.org/platforms/EFM32-Leopard-Gecko/) (Cortex-M3)
93-
* [EFM32 Giant Gecko] (https://developer.mbed.org/platforms/EFM32-Giant-Gecko/) (Cortex-M3)
94-
* [EFM32 Wonder Gecko] (https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/) (Cortex-M4)
95-
96-
97-
Supported Toolchains and IDEs
98-
-----------------------------
99-
* GCC ARM: [GNU Tools for ARM Embedded Processors](https://launchpad.net/gcc-arm-embedded/4.7/4.7-2012-q4-major)
100-
* ARMCC (standard library and MicroLib): [uVision](http://www.keil.com/uvision/)
101-
* IAR: [IAR Embedded Workbench](http://www.iar.com/en/Products/IAR-Embedded-Workbench/ARM/)
102-
* GCC code_red: [Red Suite](http://www.code-red-tech.com/)
103-
* GCC CodeSourcery: [Sourcery CodeBench](http://www.mentor.com/embedded-software/codesourcery)
104-
* GCC ARM: [Em::Blocks](http://www.emblocks.org/web/)
105-
* GCC ARM: [CooCox CoIDE](http://www.coocox.org/)
106-
107-
API Documentation
108-
-----------------
109-
* [RTOS API](http://developer.mbed.org/handbook/RTOS)
110-
* [TCP/IP Socket API](http://developer.mbed.org/handbook/Socket) (Transports: Ethernet, WiFi, 3G)
111-
* [USB Device API](http://developer.mbed.org/handbook/USBDevice)
112-
* [USB Host API](http://developer.mbed.org/handbook/USBHost)
113-
* [DSP API](http://developer.mbed.org/users/mbed_official/code/mbed-dsp/docs/tip/)
114-
* Flash File Systems: [SD](http://developer.mbed.org/handbook/SDFileSystem), [USB MSD](http://developer.mbed.org/handbook/USBHostMSD), [semihosted](http://developer.mbed.org/handbook/LocalFileSystem)
115-
* [Peripheral Drivers API](http://developer.mbed.org/handbook/Homepage)
116-
117-
Community
118-
---------
119-
For discussing the development of the mbed SDK itself (Addition/support of microcontrollers/toolchains, build and test system, Hardware Abstraction Layer API, etc) please join our [mbed-devel mailing list](https://groups.google.com/forum/?fromgroups#!forum/mbed-devel).
120-
121-
For every topic regarding the use of the mbed SDK, rather than its development, please post on the [mbed.org forum](http://mbed.org/forum/), or the [mbed.org Q&A](http://mbed.org/questions/).
122-
123-
For reporting issues in the mbed libraries please open a ticket on the issue tracker of the relevant [mbed official library](http://mbed.org/users/mbed_official/code/).
1+
# ARM mbed OS
2+
3+
mbed OS is an open-source embedded operating system designed specifically for the "things" in the Internet of Things (IoT). It includes all the features you need to develop a connected product based on an ARM Cortex-M microcontroller.
4+
5+
mbed OS accelerates the process of creating a connected product by providing a platform operating system that includes robust security foundations, standards based communication capabilities, built-in cloud management services, and drivers for sensors, I/O devices and connectivity. mbed OS is built as a modular, configurable software stack so that you can readily customize it to the device you're developing for, and reduce memory requirements by excluding unnecessary software components.
6+
7+
## Current release
8+
9+
Our current release series is mbed OS 5.2:
10+
11+
- [Release Note](https://docs.mbed.com/docs/mbed-os-release-notes/en/latest/5_2/release_note/)
12+
13+
## Getting Started for Developers
14+
15+
We have a getting started guide for developers using mbed OS in applications:
16+
17+
- [Getting Started](https://docs.mbed.com/docs/mbed-os-handbook/en/5.2/)
18+
19+
## Getting Started for Contributors
20+
21+
We have a getting started guide for contributors working on mbed OS:
22+
23+
- Have a look in the docs directory

0 commit comments

Comments
 (0)