Go to file
Kevin Bracey 9daf450eb3 K64F Ethernet: avoid using NULL thread during init
The K64F Ethernet driver installs an interrupt handler that sets thread
flags, and this could be called before the thread was initialised, so it
would use a NULL thread ID.

This triggers an RTX error-checking trap in debug builds, and could also
lead to other problems with received packets not being processed.

Adjusted so the RX interrupt handler does nothing if the thread isn't
initialised yet, and manually trigger a RX event flag after initialising
the thread in case any interrupts were ignored.

An alternative would have been to implement eth_arch_enable_interrupts,
but this mechanism is not present in the EMAC world - drivers will have
to start returning interrupts in their power up.

Fixes #5680
2017-12-21 11:14:08 +02:00
.github Copy edit pull_request_template.md 2017-10-27 13:41:02 -05:00
TESTS Merge pull request #5635 from c1728p9/fix_lazy_init 2017-12-12 17:41:21 +00:00
cmsis Modification to arm_math.h 2017-11-10 09:53:42 +00:00
drivers Make UARTSerial send all data when blocking 2017-11-21 09:51:36 +02:00
events equeue: some refactoring to meet coding rules 2017-10-30 13:56:11 +01:00
features K64F Ethernet: avoid using NULL thread during init 2017-12-21 11:14:08 +02:00
hal Add API to set ticker IRQ handler. 2017-10-30 10:38:38 +01:00
platform Merge pull request #5635 from c1728p9/fix_lazy_init 2017-12-12 17:41:21 +00:00
rtos Remove inclusion of an internal RTX header 2017-11-28 12:07:57 +01:00
targets Merge pull request #5667 from productize/fix-stm32-can3 2017-12-12 17:39:41 +00:00
tools Travis: define vendor matrix 2017-12-19 12:13:30 +00:00
.coveragerc Exclude libraries and tests from coverage numbers 2017-09-25 11:51:31 -05:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore Ignore doxygen builds temporay object database 2017-06-05 17:32:45 -05:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml Travis: fix gcc arm version to 6 2017-12-20 11:01:44 +00:00
CONTRIBUTING.md Update link in CONTRIBUTING.md 2017-06-09 16:38:38 -05:00
DOXYGEN_FRONTPAGE.md Very minimal text 2016-08-04 14:09:59 +01:00
Jenkinsfile Jenkinsfile: remove client app test temporarily 2017-06-01 12:15:09 +01:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
README.md Post coverage details on coveralls and link to them in readme 2017-09-05 14:32:50 -05:00
doxyfile_options Doxygen: Update excluded paths and predefined macros. 2017-12-14 16:44:01 +00:00
doxygen_options.json Doxygen: Update path and predefined macros. 2017-12-14 16:45:31 +00:00
mbed.h platform: add DeepSleepLock 2017-09-07 15:35:06 +01:00
requirements.txt Remove pycurl dependency 2016-10-20 16:24:47 -05:00

README.md

ARM mbed OS

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 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
  • Latest release Latest Tag CI Badge

Tools coverage Coverage Status

Getting Started for Developers

You need mbed CLI to build mbed OS. For more details, read the mbed OS Handbook.

Getting Started for Contributors

We have a Contributing and Publishing Guide in the mbed OS Handbook.