Commit Graph

9182 Commits

Author SHA1 Message Date
Oliver Schmidt
38cadabebb Merge pull request #521 from oliverschmidt/master
Add somewhat more support to use different mouse drivers.
2014-01-17 15:39:28 -08:00
Oliver Schmidt
a24865de72 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.
2014-01-17 23:45:59 +01:00
Oliver Schmidt
9c8302b56c Merge pull request #520 from oliverschmidt/master
Fixed some of the targets broken by changing the UIP_CONF_LLH_LEN default.
2014-01-17 14:11:49 -08:00
Oliver Schmidt
fb20cf5ee6 Added UIP_CONF_LLH_LEN. 2014-01-17 22:07:03 +01:00
Mariano Alvira
03e0c02fab Merge pull request #510 from hexluthor/adf7023-rl78
Add support for ADF7023 sub-GHz radio from Analog Devices and RL78 series MCU from Renesas
2014-01-16 05:24:14 -08:00
Ian Martin
7d3053bbc5 Remove hyphen from preprocessor symbol to fix compiler warning. 2014-01-10 16:31:05 -05:00
Ian Martin
85b439e33a Add eval-adf7xxxmb4z platform makefile. 2014-01-10 15:03:38 -05:00
Ian Martin
174d4dd80c Adds support for ADF7023 sub-GHz radio from Analog Devices and RL78 series MCU from Renesas.
This example platform for this port is the EVAL-ADF7XXXMB4Z w/ radio
daughter cards:

    http://www.analog.com/en/evaluation/eval-adf7023/eb.html

See the platform readme for usage and platform information:

    https://github.com/contiki-os/contiki/tree/master/platform/eval-adf7xxxmb4z/readme.md

All files provided by Analog Devices for this port are released under
the same license as Contiki and copyright Analog Devices Inc. per
agreement between Redwire Consulting, LLC and Analog Devices Inc. (SOW 08122013)
2014-01-04 18:56:51 -05:00
Ian Martin
e90af44ca7 Merge ADF7023 driver from https://github.com/analogdevicesinc/no-OS 2014-01-04 17:38:26 -05:00
Ian Martin
6d36c83513 Merge SPI driver from https://github.com/analogdevicesinc/no-OS 2014-01-04 17:38:26 -05:00
Ian Martin
6a88905f9d Merge UART driver from https://github.com/msalov/rl78-samples-R5F100SLAFB 2014-01-04 17:38:26 -05:00
Ian Martin
d0abf415e7 Merge RL78 files from https://sourceware.org/git/?p=newlib.git 2014-01-04 17:38:26 -05:00
Dragos Bogdan
cfd554dc24 Move files. 2014-01-04 17:27:52 -05:00
Dragos Bogdan
fb64cb5e4c Uncrustify. 2014-01-04 17:27:51 -05:00
Dragos Bogdan
94d5d384e0 Move files. 2014-01-04 17:27:29 -05:00
Dragos Bogdan
1667c4f0de Uncrustify. 2014-01-04 17:27:29 -05:00
Maxim Salov
2668b17f52 Move files. 2014-01-04 17:27:24 -05:00
Maxim Salov
096ff72bd9 Uncrustify. 2014-01-04 17:27:24 -05:00
DJ Delorie
5115554247 Move/rename files. 2014-01-04 17:27:23 -05:00
Oliver Schmidt
f13316415f Merge pull request #509 from oliverschmidt/master
Now that all supported targets echo the Return key on gets() there's no more need to print \n's.
2013-12-26 07:59:08 -08:00
Oliver Schmidt
f6940903a0 Now that all supported targets echo the Return key on gets() there's no more need to print \n's. 2013-12-26 16:12:39 +01:00
Benoît Thébaudeau
fe4eb545c0 cc2538: Remove the unused vtable section
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-12-23 15:50:05 +01:00
Benoît Thébaudeau
37e73894f1 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>
2013-12-23 15:06:13 +01:00
Benoît Thébaudeau
ab4b955f17 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>
2013-12-19 21:45:27 +01:00
Adam Dunkels
9e8733e57a Correct the operator in the comment so that it matches the actual #if 2013-12-18 08:35:06 +01:00
Adam Dunkels
9275322b51 Merge pull request #502 from adamdunkels/push/fix-the-ipv6-bugfix
Fix the IPv6 bugfix
2013-12-16 13:52:14 -08:00
Benoît Thébaudeau
e1147ec787 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>
2013-12-13 17:45:57 +01:00
Adam Dunkels
9114cd3215 Added an API for getting a callback when a ping reply is received. 2013-12-13 08:36:51 +01:00
Adam Dunkels
a8295404cc Merge pull request #498 from adamdunkels/push/contiki-3.x
Bump the version number in the development branch
2013-12-12 23:19:10 -08:00
Oliver Schmidt
942d4dae7b Merge pull request #501 from oliverschmidt/master
Have CBM DOS filetype of imported files match the one used by cc65.
2013-12-12 14:16:55 -08:00
Adam Dunkels
a6a081e67d Fixed a severe error in the bugfix: the conditional was reversed. The check must be if the TCP MSS is larger than the BUFSIZE and not the other way around. 2013-12-12 22:43:28 +01:00
Adam Dunkels
ef83850e63 Removed redundant #ifdef 2013-12-12 22:20:20 +01:00
Adam Dunkels
c0b3c87ba7 Make 0 the default link-layer header length, as far as uIP is concerned. Most currently used linke layers (specifically, 802.15.4) has adaptation layers that use separate buffers, so there is no need to reserve space in the uIP buffer. 2013-12-12 22:20:09 +01:00
Adam Dunkels
c7e0fa7152 Moved #defines so that UIP_TCPIP_HLEN and UIP_LLH_LEN are defined before they are used 2013-12-12 20:57:35 +01:00
Oliver Schmidt
63725eff36 Merge remote-tracking branch 'upstream/master' 2013-12-12 20:46:43 +01:00
Oliver Schmidt
3b2173e01f Have CBM DOS filetype of imported files match the one used by cc65.
CFS_WRITE implies O_TRUNC which is implemented on CBM DOS by deleting an
exsisting file. Hoewever this succeeds only if the CBM DOS filetype matches.

We need a working O_TRUNC in order to be able to overwrite the contiki.cfg
configuration file.

Note: Now it has be clarified why overwriting the configuration file started to
fail the CBM PFS (platform file system) can be activated for the recently added
ethconfig program.
2013-12-12 18:57:40 +01:00
Adam Dunkels
ae5a3f9f67 Bumped the version number from 2.6 to 3.x, which is to be used in the development branch 2013-12-12 17:33:18 +01:00
Mariano Alvira
5c21abf076 Merge pull request #155 from cetic/travis-slip-radio
Travis test for slip-radio
2013-12-12 07:13:17 -08:00
Nicolas Tsiftes
a8a9b66eff Merge pull request #457 from adamdunkels/push/uip6-bugfixes
IPv6 bugfixes
2013-12-12 05:02:39 -08:00
Sébastien Dawans
d772baa37d Travis test for slip-radio 2013-12-09 21:06:37 +01:00
George Oikonomou
79e6514c80 Merge pull request #494 from ADVANSEE/cc2538-lpm-fixes
cc2538: lpm: Fix several issues
2013-12-05 15:27:28 -08:00
Benoît Thébaudeau
5261bb861d cc2538: lpm: Fix RTIMER_NOW() upon wake-up
When returning from PM1/2, the sleep timer value (used by RTIMER_NOW()) is not
up-to-date until a positive edge on the 32-kHz clock has been detected after the
system clock restarted. To ensure an updated value is read, wait for a positive
transition on the 32-kHz clock by polling the SYS_CTRL_CLOCK_STA.SYNC_32K bit,
before reading the sleep timer value.

Because of this RTIMER_NOW() fixup, lpm_exit() has to be called at the very
beginning of ISRs waking up the SoC. This also ensures that all clocks and
timers are enabled at the correct frequency and updated before using them
following wake-up.

Without this fix, etimers could sometimes (randomly, depending on timings)
become ultra slow (observed from 10x to 40x slower than normal) if the system
exited PM1/2 very often. This issue occurred more often with PM1.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-12-05 20:23:29 +01:00
Benoît Thébaudeau
f149197aa8 cc2538: lpm: Speed up the transition to the 32-MHz XOSC after wake-up
As recommended by the CC2538 User's Guide, set SYS_CTRL_CLOCK_CTRL.OSC_PD to 0
before asserting WFI, and set it to 1 after the system clock is sourced from the
32-MHz XOSC following wake-up. This allows to automatically start both
oscillators upon wake-up in order to partially hide the 32-MHz XOSC startup time
by the 16-MHz RCOSC startup time.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-12-05 20:23:29 +01:00
Benoît Thébaudeau
13006e1c73 cc2538: lpm: Let system clock transitions complete before further changes
As a matter of precaution, always make sure that pending system clock
transitions are complete before requesting a new change of the system clock
source.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-12-05 20:23:29 +01:00
Benoît Thébaudeau
8514a91ea9 cc2538: lpm: Fix energest context when aborting lpm_enter()
In one of the abort cases in lpm_enter(), the energest context has previously
been set to LPM, so the abort code needs to set it back to CPU.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-12-05 20:23:29 +01:00
George Oikonomou
f2c552bb55 Merge pull request #478 from ADVANSEE/cc2538-startup-cleanup
cc2538: Startup cleanup
2013-12-05 11:07:19 -08:00
George Oikonomou
63298843b3 Merge pull request #491 from g-oikonomou/remove-lpp-from-readme
Remove LPP discussion from the cc2538 README
2013-12-05 11:07:03 -08:00
George Oikonomou
394aeb722d Don't increment the counter when a button is pressed 2013-12-05 18:33:09 +00:00
George Oikonomou
17b2150081 Merge pull request #463 from ADVANSEE/cc2538-ports-pins
cc2538: Clean up and improve port and pin definitions
2013-12-05 10:31:29 -08:00
George Oikonomou
6f22fd6642 Remove LPP discussion from the cc2538 README 2013-12-05 18:16:22 +00:00