Smart supermarket toy implementation for Networked Embedded Systems exam on Launchpad CC2650 with contiki-ng
8a0bc49433
This patch appends some gcc options to CFLAGS when building the default image in order to improve the debugging experience on GDB. We use the '-ggdb' option which produces debugging information used by GDB (including GDB extensions) with level 3 which includes preprocessor macros information. We also use '-Og' which enables optimizations that do not interfere with debugging. According to gcc manpage, it should be the optimization level of choice for the standard edit-compile-debug cycle, offering a reasonable level of optimization while maintaining fast compilation and a good debugging experience. Also, this patch removes the '-g' option from the default CFLAGS because there is no point in using it when BUILD_RELEASE=1. As expected, the overall ELF image increases (due to -ggdb3 option) while the .text section is reduced (due to -Og). For the sake of comparison, below follows the output of 'size'. Before patch: $ size -A hello-world.galileo hello-world.galileo : section size addr .text 13766 1048576 .rodata 241 1064960 .eh_frame 5160 1065204 .eh_frame_hdr 1212 1070364 .data 1188 1073152 .bss 12808 1077248 .debug_info 14351 0 .debug_abbrev 6281 0 .debug_aranges 768 0 .debug_line 6443 0 .debug_str 4805 0 .comment 17 0 .note 40 0 .debug_ranges 24 0 Total 67104 After patch: $ size -A hello-world.galileo hello-world.galileo : section size addr .text 11718 1048576 .rodata 249 1060864 .eh_frame 5496 1061116 .eh_frame_hdr 1204 1066612 .data 1156 1069056 .bss 12808 1073152 .debug_info 16727 0 .debug_abbrev 7254 0 .debug_loc 2083 0 .debug_aranges 768 0 .debug_macro 17273 0 .debug_line 13433 0 .debug_str 42192 0 .comment 17 0 .note 40 0 Total 132418 |
||
---|---|---|
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: