Merge pull request #8663 from cmonr/rollup

Rollup PR: Docs + small fixes
pull/8671/head
Martin Kojtal 2018-11-07 08:57:21 +01:00 committed by GitHub
commit 96191e22b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 42 additions and 27 deletions

View File

@ -2,4 +2,4 @@
Mbed OS is an open-source, device software platform for the Internet of Things. Contributions are an important part of the platform, and our goal is to make it as simple as possible to become a contributor. Mbed OS is an open-source, device software platform for the Internet of Things. Contributions are an important part of the platform, and our goal is to make it as simple as possible to become a contributor.
To encourage productive collaboration, as well as robust, consistent and maintainable code, we have a set ofguidelines for contributing toMbed OS. Please see: [contributing guidelines](https://os.mbed.com/docs/latest/reference/contributing.html). To encourage productive collaboration, as well as robust, consistent and maintainable code, we have a set of guidelines for [contributing to Mbed OS](https://os.mbed.com/docs/latest/reference/contributing.html).

View File

@ -19,13 +19,20 @@
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. 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: Mbed OS provides a platform that includes:
* Security foundations.
* Cloud management services. - Security foundations.
* Drivers for sensors, I/O devices and connectivity. - Cloud management services.
- Drivers for sensors, I/O devices and connectivity.
## Release notes ## Release notes
The [release notes](https://os.mbed.com/releases) detail the current release. You can also find information about previous versions. The [release notes](https://os.mbed.com/releases) detail the current release. You can also find information about previous versions.
## License and contributions
The software is provided under [Apache-2.0 license](LICENSE). Contributions to this project are accepted under the same license. Please see [contributing.md](CONTRIBUTING.md) for more info.
This project contains code from other projects. The original license text is included in those source files. They must comply with our [license guide](https://os.mbed.com/docs/latest/reference/license.html)
## Getting started for developers ## Getting started for developers
We have a [developer website](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. We have a [developer website](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.
@ -36,6 +43,7 @@ We also have a [contributing and publishing guide](https://os.mbed.com/contribut
## Documentation ## Documentation
For more information about Mbed OS, please see [our published documentation](https://os.mbed.com/docs/latest). It includes published Doxygen for our APIs, step-by-step tutorials, porting information and background reference materials about our architecture and tools. For more information about Mbed OS, please see [our published documentation](https://os.mbed.com/docs/latest). It includes Doxygen for our APIs, step-by-step tutorials, porting information and background reference materials about our architecture and tools.
To contribute to this documentation, please see the [mbed-os-5-docs repository](https://github.com/ARMmbed/mbed-os-5-docs).
To contribute to this documentation, please see the [mbed-os-5-docs repo](https://github.com/ARMmbed/mbed-os-5-docs).

View File

@ -897,7 +897,6 @@ int SDBlockDevice::_read(uint8_t *buffer, uint32_t length)
// read until start byte (0xFE) // read until start byte (0xFE)
if (false == _wait_token(SPI_START_BLOCK)) { if (false == _wait_token(SPI_START_BLOCK)) {
debug_if(SD_DBG, "Read timeout\n"); debug_if(SD_DBG, "Read timeout\n");
_deselect();
return SD_BLOCK_DEVICE_ERROR_NO_RESPONSE; return SD_BLOCK_DEVICE_ERROR_NO_RESPONSE;
} }

View File

@ -69,7 +69,7 @@ void Nanostack::Interface::attach(
} }
Nanostack::Interface::Interface(NanostackPhy &phy) : interface_phy(phy), interface_id(-1), _device_id(-1), Nanostack::Interface::Interface(NanostackPhy &phy) : interface_phy(phy), interface_id(-1), _device_id(-1),
_connect_status(NSAPI_STATUS_DISCONNECTED), _blocking(true), _previous_connection_status(NSAPI_STATUS_DISCONNECTED) _connect_status(NSAPI_STATUS_DISCONNECTED), _previous_connection_status(NSAPI_STATUS_DISCONNECTED), _blocking(true)
{ {
mesh_system_init(); mesh_system_init();
} }

View File

@ -200,6 +200,7 @@ nsapi_error_t Nanostack::add_ethernet_interface(EMAC &emac, bool default_if, Nan
nsapi_error_t err = interface->initialize(); nsapi_error_t err = interface->initialize();
if (err) { if (err) {
delete interface;
return err; return err;
} }

View File

@ -33,26 +33,26 @@ namespace rtos {
namespace Kernel { namespace Kernel {
/** Read the current RTOS kernel millisecond tick count. /** Read the current RTOS kernel millisecond tick count.
The tick count corresponds to the tick count used by the RTOS for timing The tick count corresponds to the tick count the RTOS uses for timing
purposes. It increments monotonically from 0 at boot, hence effectively purposes. It increments monotonically from 0 at boot, so it effectively
never wraps. If the underlying RTOS only provides a 32-bit tick count, never wraps. If the underlying RTOS only provides a 32-bit tick count,
this method expands it to 64 bits. this method expands it to 64 bits.
@return RTOS kernel current tick count @return RTOS kernel current tick count
@note mbed OS always uses millisecond RTOS ticks, and this could only wrap @note Mbed OS always uses millisecond RTOS ticks, and this could only wrap
after half a billion years after half a billion years.
@note You cannot call this function from ISR context. @note You cannot call this function from ISR context.
*/ */
uint64_t get_ms_count(); uint64_t get_ms_count();
/** Attach a function to be called by the RTOS idle task /** Attach a function to be called by the RTOS idle task.
@param fptr pointer to the function to be called @param fptr pointer to the function to be called
@note You may call this function from ISR context. @note You may call this function from ISR context.
*/ */
void attach_idle_hook(void (*fptr)(void)); void attach_idle_hook(void (*fptr)(void));
/** Attach a function to be called when a task is killed /** Attach a function to be called when a thread terminates.
@param fptr pointer to the function to be called @param fptr pointer to the function to be called
@note You may call this function from ISR context. @note You may call this function from ISR context.
*/ */

View File

@ -49,7 +49,9 @@ CORE_LABELS = {
"Cortex-M23": ["M23", "CORTEX_M", "LIKE_CORTEX_M23", "CORTEX"], "Cortex-M23": ["M23", "CORTEX_M", "LIKE_CORTEX_M23", "CORTEX"],
"Cortex-M23-NS": ["M23", "M23_NS", "CORTEX_M", "LIKE_CORTEX_M23", "CORTEX"], "Cortex-M23-NS": ["M23", "M23_NS", "CORTEX_M", "LIKE_CORTEX_M23", "CORTEX"],
"Cortex-M33": ["M33", "CORTEX_M", "LIKE_CORTEX_M33", "CORTEX"], "Cortex-M33": ["M33", "CORTEX_M", "LIKE_CORTEX_M33", "CORTEX"],
"Cortex-M33-NS": ["M33", "M33_NS", "CORTEX_M", "LIKE_CORTEX_M33", "CORTEX"] "Cortex-M33-NS": ["M33", "M33_NS", "CORTEX_M", "LIKE_CORTEX_M33", "CORTEX"],
"Cortex-M33F": ["M33", "CORTEX_M", "LIKE_CORTEX_M33", "CORTEX"],
"Cortex-M33F-NS": ["M33", "M33_NS", "CORTEX_M", "LIKE_CORTEX_M33", "CORTEX"]
} }
CORE_ARCH = { CORE_ARCH = {
@ -66,7 +68,9 @@ CORE_ARCH = {
"Cortex-M23": 8, "Cortex-M23": 8,
"Cortex-M23-NS": 8, "Cortex-M23-NS": 8,
"Cortex-M33": 8, "Cortex-M33": 8,
"Cortex-M33F": 8,
"Cortex-M33-NS": 8, "Cortex-M33-NS": 8,
"Cortex-M33F-NS": 8,
} }
################################################################################ ################################################################################

View File

@ -17,7 +17,7 @@ from tools.utils import NotSupportedException
ARMC5_CORES = ["Cortex-M0", "Cortex-M0+", "Cortex-M3", "Cortex-M4", ARMC5_CORES = ["Cortex-M0", "Cortex-M0+", "Cortex-M3", "Cortex-M4",
"Cortex-M4F", "Cortex-M7", "Cortex-M7F", "Cortex-M7FD"] "Cortex-M4F", "Cortex-M7", "Cortex-M7F", "Cortex-M7FD"]
ARMC6_CORES = ARMC5_CORES + ["Cortex-M23", "Cortex-M23-NS", ARMC6_CORES = ARMC5_CORES + ["Cortex-M23", "Cortex-M23-NS",
"Cortex-M33", "CortexM33-NS"] "Cortex-M33", "Cortex-M33-NS", "Cortex-M33F", "Cortex-M33F-NS"]
CORE_SUF_ALPHA = ["MDFNS02347-+"] CORE_SUF_ALPHA = ["MDFNS02347-+"]

View File

@ -75,8 +75,8 @@ class mbedToolchain:
"Cortex-M23": ["__CORTEX_M23", "ARM_MATH_ARMV8MBL", "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"], "Cortex-M23": ["__CORTEX_M23", "ARM_MATH_ARMV8MBL", "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"],
"Cortex-M33-NS": ["__CORTEX_M33", "ARM_MATH_ARMV8MML", "DOMAIN_NS=1", "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"], "Cortex-M33-NS": ["__CORTEX_M33", "ARM_MATH_ARMV8MML", "DOMAIN_NS=1", "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"],
"Cortex-M33": ["__CORTEX_M33", "ARM_MATH_ARMV8MML", "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"], "Cortex-M33": ["__CORTEX_M33", "ARM_MATH_ARMV8MML", "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"],
"Cortex-M33F-NS": ["__CORTEX_M33", "ARM_MATH_ARMV8MML", "DOMAIN_NS=1", "__FPU_PRESENT", "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"], "Cortex-M33F-NS": ["__CORTEX_M33", "ARM_MATH_ARMV8MML", "DOMAIN_NS=1", "__FPU_PRESENT=1U", "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"],
"Cortex-M33F": ["__CORTEX_M33", "ARM_MATH_ARMV8MML", "__FPU_PRESENT", "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"], "Cortex-M33F": ["__CORTEX_M33", "ARM_MATH_ARMV8MML", "__FPU_PRESENT=1U", "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"],
} }
MBED_CONFIG_FILE_NAME="mbed_config.h" MBED_CONFIG_FILE_NAME="mbed_config.h"

View File

@ -363,8 +363,8 @@ class ARMC6(ARM_STD):
SHEBANG = "#! armclang -E --target=arm-arm-none-eabi -x c" SHEBANG = "#! armclang -E --target=arm-arm-none-eabi -x c"
SUPPORTED_CORES = ["Cortex-M0", "Cortex-M0+", "Cortex-M3", "Cortex-M4", SUPPORTED_CORES = ["Cortex-M0", "Cortex-M0+", "Cortex-M3", "Cortex-M4",
"Cortex-M4F", "Cortex-M7", "Cortex-M7F", "Cortex-M7FD", "Cortex-M4F", "Cortex-M7", "Cortex-M7F", "Cortex-M7FD",
"Cortex-M23", "Cortex-M23-NS", "Cortex-M33", "Cortex-M23", "Cortex-M23-NS", "Cortex-M33", "Cortex-M33F",
"Cortex-M33-NS", "Cortex-A9"] "Cortex-M33-NS", "Cortex-M33F-NS", "Cortex-A9"]
ARMCC_RANGE = (LooseVersion("6.10"), LooseVersion("7.0")) ARMCC_RANGE = (LooseVersion("6.10"), LooseVersion("7.0"))
@staticmethod @staticmethod
@ -416,6 +416,9 @@ class ARMC6(ARM_STD):
self.flags['common'].append("-mfloat-abi=softfp") self.flags['common'].append("-mfloat-abi=softfp")
elif target.core.startswith("Cortex-M23"): elif target.core.startswith("Cortex-M23"):
self.flags['common'].append("-march=armv8-m.base") self.flags['common'].append("-march=armv8-m.base")
elif target.core.startswith("Cortex-M33F"):
self.flags['common'].append("-mfpu=fpv5-sp-d16")
self.flags['common'].append("-mfloat-abi=softfp")
if target.core == "Cortex-M23" or target.core == "Cortex-M33": if target.core == "Cortex-M23" or target.core == "Cortex-M33":
self.flags['cxx'].append("-mcmse") self.flags['cxx'].append("-mcmse")

View File

@ -61,9 +61,9 @@ class GCC(mbedToolchain):
elif target.core.startswith("Cortex-M23"): elif target.core.startswith("Cortex-M23"):
self.cpu = ["-mcpu=cortex-m23"] self.cpu = ["-mcpu=cortex-m23"]
elif target.core.startswith("Cortex-M33F"): elif target.core.startswith("Cortex-M33F"):
self.cpu = ["-mcpu=cortex-m33"] self.cpu = ["-mcpu=cortex-m33+nodsp"]
elif target.core.startswith("Cortex-M33"): elif target.core.startswith("Cortex-M33"):
self.cpu = ["-march=armv8-m.main"] self.cpu = ["-mcpu=cortex-m33+nodsp+nofp"]
else: else:
self.cpu = ["-mcpu={}".format(target.core.lower())] self.cpu = ["-mcpu={}".format(target.core.lower())]
@ -97,7 +97,7 @@ class GCC(mbedToolchain):
"-Wl,--cmse-implib", "-Wl,--cmse-implib",
"-Wl,--out-implib=%s" % join(build_dir, "cmse_lib.o") "-Wl,--out-implib=%s" % join(build_dir, "cmse_lib.o")
]) ])
elif target.core == "Cortex-M23-NS" or target.core == "Cortex-M33-NS": elif target.core == "Cortex-M23-NS" or target.core == "Cortex-M33-NS" or target.core == "Cortex-M33F-NS":
self.flags["ld"].append("-DDOMAIN_NS=1") self.flags["ld"].append("-DDOMAIN_NS=1")
self.flags["common"] += self.cpu self.flags["common"] += self.cpu

View File

@ -74,12 +74,12 @@ class IAR(mbedToolchain):
elif target.core == "Cortex-M7F": elif target.core == "Cortex-M7F":
asm_flags_cmd += ["--fpu", "VFPv5_sp"] asm_flags_cmd += ["--fpu", "VFPv5_sp"]
c_flags_cmd.append("--fpu=VFPv5_sp") c_flags_cmd.append("--fpu=VFPv5_sp")
elif target.core == "Cortex-M23" or target.core == "Cortex-M33": elif target.core == "Cortex-M23" or target.core == "Cortex-M33" or target.core == "Cortex-M33F":
self.flags["asm"] += ["--cmse"] self.flags["asm"] += ["--cmse"]
self.flags["common"] += ["--cmse"] self.flags["common"] += ["--cmse"]
# Create Secure library # Create Secure library
if target.core == "Cortex-M23" or self.target.core == "Cortex-M33": if target.core == "Cortex-M23" or self.target.core == "Cortex-M33" or self.target.core == "Cortex-M33F":
secure_file = join(build_dir, "cmse_lib.o") secure_file = join(build_dir, "cmse_lib.o")
self.flags["ld"] += ["--import_cmse_lib_out=%s" % secure_file] self.flags["ld"] += ["--import_cmse_lib_out=%s" % secure_file]