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>
Added UIP_CONF_LLH_LEN.
Merge pull request #520 from oliverschmidt/master

Fixed some of the targets broken by changing the UIP_CONF_LLH_LEN default.
Add somewhat more support to use different mouse drivers.

- The default mouse driver is now always named 'contiki.mou'.
- Alternative mouse drivers are present in the disk images.
- Users can select their mouse driver by renaming the files.
Merge pull request #521 from oliverschmidt/master

Add somewhat more support to use different mouse drivers.
Added mouse support for the Atari.
Merge pull request #522 from oliverschmidt/master

Added mouse support for the Atari.
Stopped to load plugins depending on simulations if there is no simulation
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