Don't increment the counter when a button is pressed
Added an API for getting a callback when a ping reply is received.
cc2538: Set the type of the .nrdata output section to NOLOAD

The .nrdata section is volatile, so its initialization must be controlled by the
application, and not be automatically done by the startup code. It should
neither be zeroed like .bss, nor be initialized from data in flash memory like
.data. This was already supposed to be the case, but the output section type of
.nrdata was not set to NOLOAD, causing the generated ELF .nrdata section header
to be of type PROGBITS instead of NOBITS, i.e. load data was generated to be
programmed in RAM, thus producing huge unprogrammable .bin files.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Correct the operator in the comment so that it matches the actual #if
cc2538: Sort link input sections by alignment to optimize size

Normally, the linker does not sort files and sections matched by wildcards, so
they are placed in the order in which they are seen during link. If numerous
objects with different alignments are mixed, or if objects with unusually large
alignments are present, this very likely leads to a lot of space being wasted
because of accumulated alignment gaps.

This commit forces input sections to be sorted by alignment (unless this is
overridden by the linker script), which decreases the number and the size of
alignment gaps, thus saving space.

For a typical Contiki project, this change saves nearly 1 kiB, mainly in .bss.

Note that this behavior is only enabled if the SMALL make variable is set to 1,
because this makes more sense for a size optimization.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
cc2538: Move SoC data to a dedicated section to save space

Some SoC data requires huge alignments. E.g., the µDMA channel control table has
to be 1024-byte aligned. This table was simply aligned to 1024 bytes in the C
code, which had the following consequences, wasting a lot of RAM:
 - As this table could be placed anywhere in .bss, there could be an alignment
   gap of up to 1023 bytes between the preceding data and this table.
 - The size of this table was also aligned to 1024 bytes, regardless of
   UDMA_CONF_MAX_CHANNEL, making this configuration option supposed to save RAM
   just useless.
 - .bss was also aligned to at least 1024 bytes, creating a huge alignment gap
   between .data and .bss.

Instead of relying on the compiler to force this alignment, and on the linker to
automatically place data, this change places carefully such SoC data in RAM
using the linker script. A dedicated section is created to place such SoC data
requiring huge alignments, and it is put at the beginning of the SRAM in order
to ensure a maximal alignment without any gap. In this way, the alignment of
.bss also remains normal, and the size of this table is not constrained by its
alignment, but only by its contents (i.e. by UDMA_CONF_MAX_CHANNEL).

In the case of the µDMA channel control table, the data is still zeroed by
udma_init() (instead of also being zeroed as part of .bss).

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
cc2538: Remove the unused vtable section

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Add comments to the #else and #endifs to make it clearer to what #ifdef they belong.
Merge pull request #505 from adamdunkels/push/fix-the-fix-that-fixes-the-fix

Fix the bug in the IPv6 bugfix
Fix buggy UART baudrate calculation in the RL78 UART driver.
Increase the default baudrate to 38400 bps for RL78.
Add cpu/rl78/dev/uart1.h because some examples rely on it.
Merge pull request #534 from hexluthor/rl78-fixes

UART-related fixes for Renesas RL78
Copied 'contiki_arg[c|v]' from 'native' to the other desktop targets.

- On the retro targets support for 'contiki_arg[c|v]' is optional as accesing arg[c|v] is rather expensive.
Merge pull request #536 from oliverschmidt/master

Copied 'contiki_arg[c|v]' from 'native' to the other desktop targets.
Added cmdline args support to wget example.
collect: making some protocol parameters configurable by COLLECT_CONF_ style defines

TTL (which has a rather low default of 15), MAC level retransmissions,
overall number of retransmissions, and the header bits dedicated to these
were all fixed in the collect.h and collect.c, without a simple way to
override them.
Extracted these as COLLECT_CONF_ parameters, keeping defaults as they were
before.

Signed-off-by: Csaba Kiraly <kiraly@disi.unitn.it>
Merge pull request #537 from oliverschmidt/master

Added cmdline args support to wget example.
Added more flexibility to webbrowser -> wget forwarding.

- Up to now the CTK program handler was necessary to start wget and forward the URL. Now alternatively the webbrowser uses the underlying OS to exec wget.

- Up to now windowed CTK was necessary to display the acknowledge dialog. Now alternatively the webbrowser displays the acknowledge text and buttons right in the webpage area.

- For now the targets 'win32' and 'c64' make use of the new capabilities.
Merge pull request #539 from oliverschmidt/master

Added more flexibility to webbrowser -> wget forwarding.