c9020d95e7
This patch adds support for building release images. The main difference between release images and default images is that the former is optimized for size while the latter is "optimized" for debugging. To build a release image, the BUILD_RELEASE variable should be set to 1. For instance, the following command build a release image from the hello-world application: $ cd examples/hello-world && make TARGET=galileo BUILD_RELEASE=1 To optimize for size we use the '-Os' option from gcc. This option also enables the strict aliasing optimization. This generates lots of warning messages since we use the '-Wall' option and lots of code in core/net/ break the strict-aliasing rules. Some test have shown that the strict aliasing optimization it not taking effect in the final binary. For that reasons, this patch manually disables the optimization. Also, the release image is stripped. For the sake of comparison, below follows the output from 'wc' and 'size' for both debugging (default) and release images. Default image: $ wc -c hello-world.galileo 71112 hello-world.galileo $ size hello-world.galileo text data bss dec hex filename 20379 1188 12808 34375 8647 hello-world.galileo Release image: $ wc -c hello-world.galileo 26320 hello-world.galileo $ size hello-world.galileo text data bss dec hex filename 18146 1156 12808 32110 7d6e hello-world.galileo |
||
---|---|---|
apps | ||
core | ||
cpu | ||
dev | ||
doc | ||
examples | ||
lib/newlib | ||
platform | ||
regression-tests | ||
tools | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile.include | ||
README-BUILDING.md | ||
README-EXAMPLES.md | ||
README.md |
The Contiki Operating System
Contiki is an open source operating system that runs on tiny low-power microcontrollers and makes it possible to develop applications that make efficient use of the hardware while providing standardized low-power wireless communication for a range of hardware platforms.
Contiki is used in numerous commercial and non-commercial systems, such as city sound monitoring, street lights, networked electrical power meters, industrial monitoring, radiation monitoring, construction site monitoring, alarm systems, remote house monitoring, and so on.
For more information, see the Contiki website: