Go to file
Tony Wu c50b5c6651 Tools - Fix fill section size variation
The linking order of object files affects the actual code placement,
which in turn affects the size of fill section due to the number of
zeros required to maintain appropriate data/code alignment may change.
This is observed when building on Mac and Linux host.

example: mbed compile -m K64F -t GCC_ARM (build 1)
+---------------------+-------+-------+-------+
| Module              | .text | .data |  .bss |
+---------------------+-------+-------+-------+
| Fill                |   120 |     4 |  2381 |
| Misc                | 28755 |  2216 |    84 |
| features/frameworks |  4236 |    52 |   744 |
| hal/common          |  2745 |     4 |   325 |
| hal/targets         | 12116 |    12 |   200 |
| rtos/rtos           |   119 |     4 |     0 |
| rtos/rtx            |  5721 |    20 |  6786 |
| Subtotals           | 53812 |  2312 | 10520 |
+---------------------+-------+-------+-------+

example: mbed compile -m K64F -t GCC_ARM (build 2)
+---------------------+-------+-------+-------+
| Module              | .text | .data |  .bss |
+---------------------+-------+-------+-------+
| Fill                |   128 |     4 |  2381 |
| Misc                | 28755 |  2216 |    84 |
| features/frameworks |  4236 |    52 |   744 |
| hal/common          |  2745 |     4 |   325 |
| hal/targets         | 12116 |    12 |   200 |
| rtos/rtos           |   119 |     4 |     0 |
| rtos/rtx            |  5721 |    20 |  6786 |
| Subtotals           | 53820 |  2312 | 10520 |
+---------------------+-------+-------+-------+

This patch fixes fill section size variation by sorting object
files before passing to linker.

Signed-off-by: Tony Wu <tung7970@gmail.com>
2016-09-10 08:30:01 +08:00
.github Update pull_request_template.md 2016-09-08 12:05:47 +03:00
TESTS Merge pull request #2651 from svastm/fix_lp_timer_test 2016-09-09 18:02:10 -05:00
docs Fix docs/BUILDING.md error command issue 2016-08-07 00:01:19 +08:00
features Merge pull request #2578 from c1728p9/fix_double_free 2016-09-09 18:00:09 -05:00
hal Merge pull request #2601 from radhika-raghavendran/master 2016-09-09 18:00:53 -05:00
libraries Merge pull request #2419 from svastm/serial_asynch_f1 2016-09-09 17:56:11 -05:00
rtos Merge pull request #2643 from c1728p9/fix_thread_self_termination 2016-09-09 18:01:38 -05:00
tools Tools - Fix fill section size variation 2016-09-10 08:30:01 +08:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore dont track .mbed files created by mbed-cli 2016-08-04 22:22:32 -05:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml Add pylint testing to Travis 2016-08-16 13:29:43 -05:00
CONTRIBUTING.md Mentioned the Contributor Agreement in Contributing.md 2015-04-16 11:47:51 -04:00
DOXYGEN_FRONTPAGE.md Very minimal text 2016-08-04 14:09:59 +01:00
Jenkinsfile Update Jenkinsfile 2016-08-25 16:49:51 +03:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
MANIFEST.in Further changes to reflect workspace_tools to tools rename 2016-06-09 21:40:54 +01:00
README.md Fixed link to release page 2016-08-22 14:05:54 +02:00
mbed_lib.json Added config option for stdio baud rate 2016-07-11 18:42:44 -05:00
requirements.txt Bump Progen version 2016-09-06 14:50:32 -05:00
setup.py Setup - fix progen def name - use dashes 2016-07-29 08:23:51 +02: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

Our current release series is mbed OS 5.1:

Getting Started for Developers

We have a 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