Skip to content

Release candidate for mbed-os-5.7.1 #5738

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 76 commits into from
Dec 21, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
2cc6ccf
Add ARMC6 feature to EV_COG_AD4050LZ and EV_COG_AD3029LZ
Nov 21, 2017
23f3d8d
Update trng_api.c
Nov 30, 2017
1cdd4a9
Realign ADuCM4x50 and ADuCM302x instance memory blocks
Dec 7, 2017
858c0d2
Fix RTR position bit in TX mailbox register
Nov 28, 2017
37637c6
Correct WiFi driver name to `X_NUCLEO_IDW0XX1`
betzw Nov 21, 2017
5abc792
Split test for secure & unsecure tests
betzw Nov 21, 2017
80dc8d6
Remove inclusion of an internal RTX header
bulislaw Nov 28, 2017
101ede0
Copied TARGET_STM32L432 to TARGET_STM32L433, renamed 432 files to 433
helmut64 Nov 27, 2017
1f72c67
Updated PeripheralNames.h, PeripheralPins.c and PinNames.h for STM32L…
helmut64 Nov 27, 2017
2f1927b
Added stm32l433xx.h defined STM32L433xx
helmut64 Nov 27, 2017
b4a0b59
defined STM32L433xx
helmut64 Nov 27, 2017
2a0be67
Updated to toolchain startup/linker files to support the 433 devices …
helmut64 Nov 27, 2017
655048d
Added TARGET_STM32L433RC stack size define into mbed_rtx.h
helmut64 Nov 27, 2017
39b2854
Updated wrongly defined UART3_BASE into USART3_BASE
helmut64 Nov 27, 2017
9b2c874
Enbaled bootloader support for STM32L432KC Added NUCLEO_L433RC_P target
helmut64 Nov 27, 2017
78cd49b
Changed NVIC Flash base address to support the bootloader
helmut64 Nov 27, 2017
b9f4cdf
Added the proper defines for the STM32L432 bootloader support
helmut64 Nov 27, 2017
cac9211
Remove custom Silicon Labs sleep management
stevew817 Nov 24, 2017
f195f5b
Remove usage from USB driver as well
stevew817 Nov 24, 2017
119ae0b
REALTEK_RTL8195AM Wifi driver - adds check of credentials
Nov 24, 2017
85c1289
tests-netsocket-gethostbyname
jeromecoutant Nov 24, 2017
4e46233
tests-netsocket-udp_echo
jeromecoutant Nov 24, 2017
54f495b
tests-netsocket-tcp_echo
jeromecoutant Nov 24, 2017
dd29348
tests-netsocket-tcp_hello_world
jeromecoutant Nov 24, 2017
b0c22d5
tests-netsocket-socket_sigio
jeromecoutant Nov 24, 2017
a19520a
STM32: Add USB Device on DISCO_F413ZH
bcostm Nov 21, 2017
01e6d4d
Correct pack_* members to refer to PACK files
theotherjimmy Nov 13, 2017
0e5a427
Unity framework : add float support in error print
jeromecoutant Nov 9, 2017
73fa64e
STM32 LOW_POWER_TIMER update : targets.json
jeromecoutant Nov 23, 2017
51b68ee
STM32 LOW_POWER_TIMER update : lp_ticker
jeromecoutant Nov 7, 2017
9b8ecab
STM32 LOW_POWER_TIMER update : rtc_api.c
jeromecoutant Nov 7, 2017
16a7ece
STM32 LOW_POWER_TIMER update : sleep
jeromecoutant Nov 7, 2017
3d3a83e
STM32 LOW_POWER_TIMER update : rtc_init procedure
jeromecoutant Nov 17, 2017
8359253
STM32 LOW_POWER_TIMER update : use error
jeromecoutant Nov 17, 2017
3264b21
STM32: RTC_LSI macro is replaced by lse_available config
jeromecoutant Dec 4, 2017
990fb1c
STM32 RTC : update and comment prescaler values
jeromecoutant Dec 4, 2017
82811f5
Add caching of apt-get + pip to .travis.yml
geky Dec 8, 2017
32a8b40
Split out "docs" into its own Travis job
geky Dec 8, 2017
669e549
STM32: Pass correct id to can_irq() for CAN3
adamheinrich Dec 6, 2017
b43b6cc
STM32 CAN3: remove test of CAN_2 and CAN_3
bcostm Dec 7, 2017
fd604f4
STM32: Set valid filter number for CAN3
adamheinrich Dec 7, 2017
17f704c
STM32 CAN3: add CAN_3 declaration for DISCO_F769NI
bcostm Dec 7, 2017
7afa7ca
Correct typo? in e2studio exporter code
theotherjimmy Dec 5, 2017
4b4aeb4
Add SingletonPtr test
maciejbocianski Dec 4, 2017
e97b38f
Fix deficiency in the race test
c1728p9 Dec 1, 2017
0493ba2
Protect local static object construction in ARMCC
c1728p9 Dec 1, 2017
859f367
Travis: define vendor matrix
0xc0170 Dec 19, 2017
7b09e95
Travis: set language to generic
0xc0170 Dec 19, 2017
d58614c
Travis: allow build/make to print output
0xc0170 Dec 19, 2017
802ea1e
Travis: Added yaml references for mbed 2 jobs
geky Dec 19, 2017
bc16f2f
Travis: Minor cleanup
geky Dec 19, 2017
f0f6fa9
Travis: fix gcc arm version to 6
0xc0170 Dec 20, 2017
a3bb61b
Statically allocate ARMCC required mutex objects
SenRamakri Dec 11, 2017
7dac0c0
Fixed call to deprecated get_details_txt
dhwalters423 Dec 15, 2017
8abe9a4
Add IAR exporter for STM32L475VG (mcu of DISCO_L475VG_IOT01A)
adustm Dec 14, 2017
b753262
STM32F3 : compilation issue
jeromecoutant Dec 12, 2017
0dfa368
STM32L4 : compilation issue
jeromecoutant Dec 12, 2017
e005456
STM32F4 : compilation issue
jeromecoutant Dec 13, 2017
2614c0b
C030 Battery Charger Voltage Fix
bqam-ublox Dec 8, 2017
bef3ea6
Licenses added in header files
bqam-ublox Dec 8, 2017
e163adb
Bracket moved to next line
bqam-ublox Dec 13, 2017
5b81d88
Nanostack flag fix
ryankurte Dec 1, 2017
fc24d80
Fixing changes to make greentea test mbed-os-tests-netsocket-connecti…
prashantrar Dec 4, 2017
d69efa5
Revert "Fixing changes to make greentea test mbed-os-tests-netsocket-…
prashantrar Dec 12, 2017
0671e11
Moving changes to RTW driver
prashantrar Dec 12, 2017
2edd6e5
Replacing formatting issues
prashantrar Dec 12, 2017
b64590b
reverting all tabs to spaces
prashantrar Dec 12, 2017
2f5a861
Readme updates for style and branding
sg- Dec 4, 2017
190bd25
Copy edit README.md
Dec 6, 2017
3db98b5
Fatal parameter error when deleting/terminating Thread object
marogi Nov 25, 2017
9cdeab9
Fixed whitespace
marogi Nov 27, 2017
77f4a55
Greentea Wifi testcase fixes
Nov 23, 2017
0415dfc
Greentea Wifi testcase fixes
Dec 1, 2017
34dc59d
Adding device_name for TB_SENSE_12.
Nov 9, 2017
3680e60
Remove include paths from uvision assembler export
theotherjimmy Nov 15, 2017
de20588
Update Mbed version block for patch release
adbridge Dec 20, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 67 additions & 40 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
language: python
python:
'2.7'

env:
global:
Expand All @@ -11,13 +14,22 @@ env:
"target_url": "https://travis-ci.org/$TRAVIS_REPO_SLUG/jobs/$TRAVIS_JOB_ID"
}\nDATA'

cache:
pip: true
directories:
- $HOME/.cache/apt
- $HOME/gcc-arm-none-eabi-6-2017-q2-update

before_install:
- bash -c "$STATUS" pending "Local $NAME testing is in progress"
# Make sure pipefail
- set -o pipefail
# Setup apt to cache
- mkdir -p $HOME/.cache/apt/partial
- sudo rm -rf /var/cache/apt/archives
- sudo ln -s $HOME/.cache/apt /var/cache/apt/archives
# Setup ppa to make sure arm-none-eabi-gcc is correct version
- sudo add-apt-repository -y ppa:team-gcc-arm-embedded/ppa
- sudo add-apt-repository -y ppa:libreoffice/libreoffice-4-2
- sudo apt-get update -qq

after_success:
Expand All @@ -28,22 +40,12 @@ after_failure:

matrix:
include:
- python: '2.7'
env:
- NAME=tools
- env:
- NAME=docs
install:
# Install dependencies
- sudo apt-get install gcc-arm-embedded doxygen
- pip install --user -r requirements.txt
- pip install --user pytest
- pip install --user pylint
- pip install --user hypothesis
- pip install --user mock
- pip install --user coverage
- pip install --user coveralls
- sudo apt-get install doxygen
# Print versions we use
- arm-none-eabi-gcc --version
- python --version
- doxygen --version
before_script:
# Create BUILD directory for tests
Expand All @@ -52,39 +54,52 @@ matrix:
# Assert that the Doxygen build produced no warnings.
# The strange command below asserts that the Doxygen command had an
# output of zero length
- |
doxygen doxyfile_options 2>&1 | tee BUILD/doxygen.out && [ ! -s BUILD/doxygen.out ]
- >
doxygen doxyfile_options 2>&1 |
tee BUILD/doxygen.out && [ ! -s BUILD/doxygen.out ]
# Assert that all binary libraries are named correctly
# The strange command below asserts that there are exactly 0 libraries that do
# not start with lib
- |
find "(" -name "*.a" -or -name "*.ar" ")" -and -not -name "lib*" | tee BUILD/badlibs | sed -e "s/^/Bad library name found: /" && [ ! -s BUILD/badlibs ]
# The strange command below asserts that there are exactly 0 libraries
# that do not start with lib
- >
find "(" -name "*.a" -or -name "*.ar" ")" -and -not -name "lib*" |
tee BUILD/badlibs |
sed -e "s/^/Bad library name found: /" && [ ! -s BUILD/badlibs ]
# Assert that all assebler files are named correctly
# The strange command below asserts that there are exactly 0 libraries that do
# end with .s
- |
find -name "*.s" | tee BUILD/badasm | sed -e "s/^/Bad Assembler file name found: /" && [ ! -s BUILD/badasm ]
# The strange command below asserts that there are exactly 0 libraries
# that do end with .s
- >
find -name "*.s" | tee BUILD/badasm |
sed -e "s/^/Bad Assembler file name found: /" && [ ! -s BUILD/badasm ]

- env:
- NAME=tools
install:
# Install dependencies
- sudo apt-get install gcc-arm-embedded
- pip install -r requirements.txt
- pip install pytest pylint hypothesis mock coverage coveralls
# Print versions we use
- arm-none-eabi-gcc --version
- python --version
script:
# Run local testing on tools
# Note: These take ~40 minutes to run
- PYTHONPATH=. coverage run -a -m pytest tools/test
- python2 tools/test/pylint.py
- coverage run -a tools/project.py -S | sed -n '/^Total/p'
# - python2 -u tools/build_travis.py | sed -n '/^Executing/p'
- coverage html
after_success:
# Coverage for tools
- coveralls
# Report success since we have overridden default behaviour
- bash -c "$STATUS" success "Local $NAME testing has passed"

- python: '2.7'
env:
- env:
- NAME=events
- EVENTS=events
install:
# Install dependencies
- sudo apt-get install gcc-arm-embedded
- pip install --user -r requirements.txt
- pip install -r requirements.txt
# Print versions we use
- arm-none-eabi-gcc --version
- gcc --version
Expand All @@ -96,14 +111,13 @@ matrix:
# Run local equeue tests
- make -C $EVENTS/equeue test

- python: '2.7'
env:
- env:
- NAME=littlefs
- LITTLEFS=features/filesystem/littlefs
install:
# Install dependencies
- sudo apt-get install gcc-arm-embedded fuse libfuse-dev
- pip install --user -r requirements.txt
- pip install -r requirements.txt
- git clone https://github.com/armmbed/spiflash-driver.git
# Print versions
- arm-none-eabi-gcc --version
Expand Down Expand Up @@ -143,13 +157,16 @@ matrix:
- ls MOUNT/littlefs
- CFLAGS="-Wno-format" make -CMOUNT/littlefs -B test_dirs QUIET=1

- python: '2.7'
env:
- NAME=mbed2
- &mbed-2
env: NAME=mbed2-NXP
install:
# Install dependencies
- sudo apt-get install gcc-arm-embedded
- pip install --user -r requirements.txt
- export GCC_DIR=$HOME/gcc-arm-none-eabi-6-2017-q2-update
- export GCC_ARCHIVE=$HOME/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
- export GCC_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/6-2017q2/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2?revision=2cc92fb5-3e0e-402d-9197-bdfc8224d8a5?product=GNU%20Arm%20Embedded%20Toolchain,64-bit,,Linux,6-2017-q2-update
- if [ ! -e $GCC_DIR/bin/arm-none-eabi-gcc ]; then wget $GCC_URL -O $GCC_ARCHIVE; tar xfj $GCC_ARCHIVE -C $HOME; fi
- export PATH=$PATH:$GCC_DIR/bin
- pip install -r requirements.txt
# Print versions we use
- arm-none-eabi-gcc --version
- python --version
Expand All @@ -158,6 +175,16 @@ matrix:
- mkdir BUILD
script:
# Run local mbed 2 testing
# Note: These take ~40 minutes to run
- python2 -u tools/build_travis.py | sed -n '/^Executing/p'

- python2 -u tools/build_travis.py --vendor "${NAME#mbed2-}"
- <<: *mbed-2
env: NAME=mbed2-STM
- <<: *mbed-2
env: NAME=mbed2-NORDIC
- <<: *mbed-2
env: NAME=mbed2-SILICON_LABS
- <<: *mbed-2
env: NAME=mbed2-MAXIM
- <<: *mbed-2
env: NAME=mbed2-ATMEL
- <<: *mbed-2
env: NAME=mbed2-NUVOTON
61 changes: 32 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,35 @@
# ARM mbed OS
[![Mbed OS][mbed-os-logo]][mbed-os-link]

[![Build status release][mbed-travis-release-svg]][mbed-travis-release]
[![Build status master][mbed-travis-master-svg]][mbed-travis-master]
[![Tools coverage status][mbed-coveralls-tools-svg]][mbed-coveralls-tools]
[![PR progress][mbed-waffle-svg]][mbed-waffle]

[mbed-os-logo]: logo.png
[mbed-os-link]: https://www.mbed.com/en/platform/mbed-os/
[mbed-travis-master]: https://travis-ci.org/ARMmbed/mbed-os
[mbed-travis-master-svg]: https://travis-ci.org/ARMmbed/mbed-os.svg?branch=master
[mbed-travis-release]: https://travis-ci.org/ARMmbed/mbed-os/branches
[mbed-travis-release-svg]: https://travis-ci.org/ARMmbed/mbed-os.svg?branch=latest
[mbed-coveralls-tools]: https://coveralls.io/github/ARMmbed/mbed-os?branch=master
[mbed-coveralls-tools-svg]: https://coveralls.io/repos/github/ARMmbed/mbed-os/badge.svg?branch=master
[mbed-waffle]: https://waffle.io/ARMmbed/mbed-os
[mbed-waffle-svg]: https://badge.waffle.io/ARMmbed/mbed-os.svg?columns=all

Arm Mbed OS is an open source embedded operating system designed specifically for the "things" in the Internet of Things. It includes all the features you need to develop a connected product based on an Arm Cortex-M microcontroller, including security, connectivity, an RTOS and drivers for sensors and I/O devices.

Mbed OS provides a platform that includes:
* Security foundations.
* Cloud management services.
* Drivers for sensors, I/O devices and connectivity.

## Release notes
The [release notes](https://os.mbed.com/releases) detail the current release. You can also find information about previous versions.

## Getting started for developers

mbed OS is an open-source embedded operating system designed for the "things" in the Internet of Things (IoT). mbed OS includes the features you need to develop a connected product using an ARM Cortex-M microcontroller.

mbed OS provides a platform that includes:
- Security foundations.
- Cloud management services.
- Drivers for sensors, I/O devices and connectivity.

mbed OS is modular, configurable software that you can customize it to your device and to reduce memory requirements by excluding unused software.


## Release Notes

The [Release Notes](https://docs.mbed.com/docs/mbed-os-release-notes/en/latest/) detail the current release and previous versions.

## Continuous Integration Status

We run continuous integration on all of our branches and pull requests to verify the stability of mbed OS. The following are the Travis CI indicators for mbed OS.

- Master branch [![Master Branch CI Badge](https://travis-ci.org/ARMmbed/mbed-os.svg?branch=master)](https://travis-ci.org/ARMmbed/mbed-os)
- Latest release [![Latest Tag CI Badge](https://travis-ci.org/ARMmbed/mbed-os.svg?branch=latest)](https://travis-ci.org/ARMmbed/mbed-os/branches)

Tools coverage [![Coverage Status](https://coveralls.io/repos/github/ARMmbed/mbed-os/badge.svg?branch=master)](https://coveralls.io/github/ARMmbed/mbed-os?branch=master)

## Getting Started for Developers

You need [mbed CLI](https://github.com/ARMmbed/mbed-cli) to build mbed OS. For more details, read the [mbed OS Handbook](https://docs.mbed.com/docs/mbed-os-handbook/en/latest/).
We have a [developer webiste](https://os.mbed.com) for asking questions, engaging with others, finding information on boards and components, using an online IDE and compiler, reading the documentation and learning about what's new and what's coming next in Mbed OS.

## Getting Started for Contributors
## Getting started for contributors

We have a [Contributing and Publishing Guide](https://docs.mbed.com/docs/mbed-os-handbook/en/latest/cont/contributing/) in the mbed OS Handbook.
We also have a [contributing and publishing guide](https://os.mbed.com/contributing/) that covers licensing, contributor agreements and style guidelines.
2 changes: 2 additions & 0 deletions TESTS/mbed_drivers/race_test/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,13 @@ static SingletonPtr<TestClass> test_class;
static void main_func_race()
{
get_test_class();
TEST_ASSERT_EQUAL_UINT32(1, instance_count);
}

static void main_class_race()
{
test_class->do_something();
TEST_ASSERT_EQUAL_UINT32(1, instance_count);
}

void test_case_func_race()
Expand Down
101 changes: 101 additions & 0 deletions TESTS/mbed_platform/SingletonPtr/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
/* mbed Microcontroller Library
* Copyright (c) 2017 ARM Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "mbed.h"
#include "greentea-client/test_env.h"
#include "utest/utest.h"
#include "unity/unity.h"

using utest::v1::Case;


class InstanceTest {
public:
InstanceTest()
{
_instance_counter++;
}

static int get_instance_counter()
{
return _instance_counter;
}

private:
static int _instance_counter;
};

int InstanceTest::_instance_counter = 0;


SingletonPtr<InstanceTest> singleton;


/** Test SingletonPtr lazy initialization
*
* Given a global singleton of type SingletonPtr<InstanceTest>
* When before first singleton use
* Then underneath object is yet not created
*/
void test_lazy_initialization()
{
TEST_ASSERT_MESSAGE(InstanceTest::get_instance_counter() == 0, "Initialized before first use!!!");
}

/** Test SingletonPtr single instance
*
* Given a singleton of type SingletonPtr<InstanceTest>
*
* When after first singleton use
* Then underneath object was created exactly once
*
* When after second singleton use
* Then underneath object was created exactly once
* and both (ref1 and ref2) are references to same instance
*
*/
void test_single_instance()
{
InstanceTest *ref1 = singleton.get();
TEST_ASSERT_NOT_NULL(ref1);

TEST_ASSERT_EQUAL_INT(1, InstanceTest::get_instance_counter());

InstanceTest *ref2 = singleton.get();
TEST_ASSERT_NOT_NULL(ref2);

TEST_ASSERT_EQUAL_INT(1, InstanceTest::get_instance_counter());

// same instance
TEST_ASSERT_EQUAL_PTR(ref1, ref2);
}

utest::v1::status_t test_setup(const size_t number_of_cases)
{
GREENTEA_SETUP(10, "default_auto");
return utest::v1::verbose_test_setup_handler(number_of_cases);
}

Case cases[] = {
Case("Test lazy initialization", test_lazy_initialization),
Case("Test single instance", test_single_instance),
};

utest::v1::Specification specification(test_setup, cases);

int main()
{
return !utest::v1::Harness::run(specification);
}
12 changes: 6 additions & 6 deletions TESTS/netsocket/gethostbyname/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ using namespace utest::v1;

// Hostname for testing against
// Must have A and AAAA records
#ifndef MBED_DNS_TEST_HOST
#define MBED_DNS_TEST_HOST "connector.mbed.com"
#ifndef MBED_CONF_APP_DNS_TEST_HOST
#define MBED_CONF_APP_DNS_TEST_HOST "connector.mbed.com"
#endif


Expand Down Expand Up @@ -59,9 +59,9 @@ void net_bringup() {
// DNS tests
void test_dns_query() {
SocketAddress addr;
int err = net->gethostbyname(MBED_DNS_TEST_HOST, &addr);
int err = net->gethostbyname(MBED_CONF_APP_DNS_TEST_HOST, &addr);
printf("DNS: query \"%s\" => \"%s\"\n",
MBED_DNS_TEST_HOST, addr.get_ip_address());
MBED_CONF_APP_DNS_TEST_HOST, addr.get_ip_address());

TEST_ASSERT_EQUAL(0, err);
TEST_ASSERT((bool)addr);
Expand All @@ -70,9 +70,9 @@ void test_dns_query() {

void test_dns_query_pref() {
SocketAddress addr;
int err = net->gethostbyname(MBED_DNS_TEST_HOST, &addr, ip_pref);
int err = net->gethostbyname(MBED_CONF_APP_DNS_TEST_HOST, &addr, ip_pref);
printf("DNS: query %s \"%s\" => \"%s\"\n",
ip_pref_repr, MBED_DNS_TEST_HOST, addr.get_ip_address());
ip_pref_repr, MBED_CONF_APP_DNS_TEST_HOST, addr.get_ip_address());

TEST_ASSERT_EQUAL(0, err);
TEST_ASSERT((bool)addr);
Expand Down
Loading