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 |
||
---|---|---|
.github | ||
TESTS | ||
cmsis | ||
drivers | ||
events | ||
features | ||
hal | ||
platform | ||
rtos | ||
targets | ||
tools | ||
.gitattributes | ||
.gitignore | ||
.pylintrc | ||
.travis.yml | ||
CONTRIBUTING.md | ||
DOXYGEN_FRONTPAGE.md | ||
Jenkinsfile | ||
LICENSE | ||
README.md | ||
mbed.h | ||
requirements.txt |
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