Go to file
Adam Green 7a08fb0d2b Only link in LPC17xx ethernet ISR as needed
Originally the ethernet ISR would be linked in to all mbed-os based
firmware because it was named ENET_IRQHandler() so that it would be
automatically placed in the FLASH image's interrupt vector table. This
meant that programs which made no use of the lwIP stack still pulled in
this ISR.

This commit changes the name of the routine so that the ISR isn't
automatically placed in the interrupt vector table at link time but is
instead dynamically placed in the interrupt vector table at runtime
when the lwIP stack is initialized. Now the ethernet ISR is only linked
in when it is actually needed.

Example arm-none-eabi-size output for a simple LED blinking program
showing the before and after size results:
   text	   data	    bss	    dec	    hex	filename
  13208	    148	   7784	  21140	   5294	LPC1768/HelloWorld.elf

   text	   data	    bss	    dec	    hex	filename
  12700	    148	   7468	  20316	   4f5c	LPC1768/HelloWorld.elf
2017-04-07 14:02:59 +01:00
.github Update pull_request_template.md 2016-09-08 12:05:47 +03:00
TESTS Fix test code mbed-os-tests-mbed_hal-flash 2017-03-24 20:45:19 +00:00
cmsis uVisor: Update to version 0.27.0 2017-02-21 13:24:23 +00:00
drivers Correct return values for `I2C::write(int, const char*, int, bool)` 2017-03-24 20:38:18 +00:00
events Merge pull request #3782 from geky/events-callback-inference 2017-02-21 10:53:14 -06:00
features Only link in LPC17xx ethernet ISR as needed 2017-04-07 14:02:59 +01:00
hal Fix crash with events in the past 2017-04-07 14:02:33 +01:00
platform Modify semihost_disabledebug() to support more interface FW revs 2017-04-07 14:02:15 +01:00
rtos Removed nRF52840 from memory constrained device list. 2017-04-07 13:59:40 +01:00
targets Introducing UBLOX_C030 platform. 2017-04-07 14:02:53 +01:00
tools IAR exporter: extended debugger settings template with modifiable options needed for Nordic targets. 2017-04-07 14:02:27 +01:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore Ignore .vscode folder 2017-01-11 20:48:05 +02:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml Enforce device_name is valid in targets.json 2017-02-08 14:54:26 -06:00
CONTRIBUTING.md Update CONTRIBUTING.md 2016-09-11 21:24:11 +08:00
DOXYGEN_FRONTPAGE.md Very minimal text 2016-08-04 14:09:59 +01:00
Jenkinsfile Update Jenkinsfile 2016-09-20 16:05:59 +03:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
README.md README: Minor interpunction fix 2017-01-19 16:06:08 +00:00
mbed.h Update MBED_LIBRARY_VERSION to v139 2017-03-24 20:48:22 +00: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 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.

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.

Current release

The current release, along with a selection of previous versions are detailed here: Release Notes

Getting Started for Developers

Please note that you will require mbed CLI to build mbed OS. For more details, please read the getting started guide for developers using mbed OS in applications:

Getting Started for Contributors

We have a getting started guide for contributors working on mbed OS:

  • Have a look in the docs directory