mirror of https://github.com/ARMmbed/mbed-os.git
commit
96191e22b2
|
@ -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.
|
||||
|
||||
To encourage productive collaboration, as well as robust, consistent and maintainable code, we have a set of guidelines for contributing to Mbed 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).
|
||||
|
|
18
README.md
18
README.md
|
@ -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.
|
||||
|
||||
Mbed OS provides a platform that includes:
|
||||
* Security foundations.
|
||||
* Cloud management services.
|
||||
* Drivers for sensors, I/O devices and connectivity.
|
||||
|
||||
- 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.
|
||||
|
||||
## 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
|
||||
|
||||
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
|
||||
|
||||
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).
|
||||
|
|
|
@ -897,7 +897,6 @@ int SDBlockDevice::_read(uint8_t *buffer, uint32_t length)
|
|||
// read until start byte (0xFE)
|
||||
if (false == _wait_token(SPI_START_BLOCK)) {
|
||||
debug_if(SD_DBG, "Read timeout\n");
|
||||
_deselect();
|
||||
return SD_BLOCK_DEVICE_ERROR_NO_RESPONSE;
|
||||
}
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ void Nanostack::Interface::attach(
|
|||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
|
|
@ -200,6 +200,7 @@ nsapi_error_t Nanostack::add_ethernet_interface(EMAC &emac, bool default_if, Nan
|
|||
|
||||
nsapi_error_t err = interface->initialize();
|
||||
if (err) {
|
||||
delete interface;
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -33,25 +33,25 @@ namespace rtos {
|
|||
namespace Kernel {
|
||||
|
||||
/** Read the current RTOS kernel millisecond tick count.
|
||||
The tick count corresponds to the tick count used by the RTOS for timing
|
||||
purposes. It increments monotonically from 0 at boot, hence effectively
|
||||
The tick count corresponds to the tick count the RTOS uses for timing
|
||||
purposes. It increments monotonically from 0 at boot, so it effectively
|
||||
never wraps. If the underlying RTOS only provides a 32-bit tick count,
|
||||
this method expands it to 64 bits.
|
||||
@return RTOS kernel current tick count
|
||||
@note mbed OS always uses millisecond RTOS ticks, and this could only wrap
|
||||
after half a billion years
|
||||
@note Mbed OS always uses millisecond RTOS ticks, and this could only wrap
|
||||
after half a billion years.
|
||||
@note You cannot call this function from ISR context.
|
||||
*/
|
||||
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
|
||||
|
||||
@note You may call this function from ISR context.
|
||||
*/
|
||||
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
|
||||
|
||||
@note You may call this function from ISR context.
|
||||
|
|
|
@ -49,7 +49,9 @@ CORE_LABELS = {
|
|||
"Cortex-M23": ["M23", "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-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 = {
|
||||
|
@ -66,7 +68,9 @@ CORE_ARCH = {
|
|||
"Cortex-M23": 8,
|
||||
"Cortex-M23-NS": 8,
|
||||
"Cortex-M33": 8,
|
||||
"Cortex-M33F": 8,
|
||||
"Cortex-M33-NS": 8,
|
||||
"Cortex-M33F-NS": 8,
|
||||
}
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -17,7 +17,7 @@ from tools.utils import NotSupportedException
|
|||
ARMC5_CORES = ["Cortex-M0", "Cortex-M0+", "Cortex-M3", "Cortex-M4",
|
||||
"Cortex-M4F", "Cortex-M7", "Cortex-M7F", "Cortex-M7FD"]
|
||||
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-+"]
|
||||
|
||||
|
|
|
@ -75,8 +75,8 @@ class mbedToolchain:
|
|||
"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": ["__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": ["__CORTEX_M33", "ARM_MATH_ARMV8MML", "__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=1U", "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"],
|
||||
}
|
||||
|
||||
MBED_CONFIG_FILE_NAME="mbed_config.h"
|
||||
|
|
|
@ -363,8 +363,8 @@ class ARMC6(ARM_STD):
|
|||
SHEBANG = "#! armclang -E --target=arm-arm-none-eabi -x c"
|
||||
SUPPORTED_CORES = ["Cortex-M0", "Cortex-M0+", "Cortex-M3", "Cortex-M4",
|
||||
"Cortex-M4F", "Cortex-M7", "Cortex-M7F", "Cortex-M7FD",
|
||||
"Cortex-M23", "Cortex-M23-NS", "Cortex-M33",
|
||||
"Cortex-M33-NS", "Cortex-A9"]
|
||||
"Cortex-M23", "Cortex-M23-NS", "Cortex-M33", "Cortex-M33F",
|
||||
"Cortex-M33-NS", "Cortex-M33F-NS", "Cortex-A9"]
|
||||
ARMCC_RANGE = (LooseVersion("6.10"), LooseVersion("7.0"))
|
||||
|
||||
@staticmethod
|
||||
|
@ -416,6 +416,9 @@ class ARMC6(ARM_STD):
|
|||
self.flags['common'].append("-mfloat-abi=softfp")
|
||||
elif target.core.startswith("Cortex-M23"):
|
||||
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":
|
||||
self.flags['cxx'].append("-mcmse")
|
||||
|
|
|
@ -61,9 +61,9 @@ class GCC(mbedToolchain):
|
|||
elif target.core.startswith("Cortex-M23"):
|
||||
self.cpu = ["-mcpu=cortex-m23"]
|
||||
elif target.core.startswith("Cortex-M33F"):
|
||||
self.cpu = ["-mcpu=cortex-m33"]
|
||||
self.cpu = ["-mcpu=cortex-m33+nodsp"]
|
||||
elif target.core.startswith("Cortex-M33"):
|
||||
self.cpu = ["-march=armv8-m.main"]
|
||||
self.cpu = ["-mcpu=cortex-m33+nodsp+nofp"]
|
||||
else:
|
||||
self.cpu = ["-mcpu={}".format(target.core.lower())]
|
||||
|
||||
|
@ -97,7 +97,7 @@ class GCC(mbedToolchain):
|
|||
"-Wl,--cmse-implib",
|
||||
"-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["common"] += self.cpu
|
||||
|
|
|
@ -74,12 +74,12 @@ class IAR(mbedToolchain):
|
|||
elif target.core == "Cortex-M7F":
|
||||
asm_flags_cmd += ["--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["common"] += ["--cmse"]
|
||||
|
||||
# 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")
|
||||
self.flags["ld"] += ["--import_cmse_lib_out=%s" % secure_file]
|
||||
|
||||
|
|
Loading…
Reference in New Issue