Commit graph

2537 commits

Author SHA1 Message Date
Andre Guedes 7043aa41b3 galileo: Fix newlib-syscalls issue in Makefile
This patch removes 'newlib-syscalls.c' from CONTIKI_SOURCEFILES variable
and appends it to PROJECT_SOURCEFILES. This way the buildsystem will
automatically consider the newlib-syscalls object code during linking
time.
2015-12-21 08:06:14 -02:00
Andre Guedes c9020d95e7 x86: Build release image
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
2015-12-21 08:06:14 -02:00
Andre Guedes 6c9ab4eb6c galileo: Remove unneeded syscall stubs
This patch removes _kill_r and _getpid_r stubs since they are not
required by newlib at this moment. These stubs should not be in
the commit that introduced the initial newlib-syscalls.c file.
2015-12-21 08:06:14 -02:00
Andre Guedes d3d2b51fa2 galileo: Initial stdio support
This patch introduces the initial support for stdio library in Galileo
platform. For now, only standard output and error are supported. Both
streams use the UART1 device.

Newlib doesn't call open() for stdin, stdout, and stderr which means
that the _write_r call is the first activity the stub will see on
those streams. For that reason, we initialize the UART1 device in
Galileo's platform main() function instead of in open() system call.
2015-12-21 08:06:14 -02:00
Andre Guedes ee82304211 galileo: Implement _sbrk_r syscall
This patch implements the _sbrk_r() system call for Galileo platform. This
system call is required by newlib's malloc() implementation. Next patch
will introduce the initial support for stdio library which requires a
working malloc() function for proper operation.

We are not sure about the heap size we should use. Preliminary tests
have shown that stdio library requests 1032 bytes heap. So, as an initial
guess, a 2Kb heap size should be enough for now.
2015-12-21 08:06:14 -02:00
Michael LeMay 9b6b5ce5b0 galileo: Instruct developer to build C library prior to building Contiki
This patch enhances build_newlib.sh to create Makefile.libc so that
the main Galileo makefile can attempt to include Makefile.libc and
instruct the developer to run build_newlib.sh first if the definition
within Makefile.libc is not detected.
2015-12-21 08:06:14 -02:00
Michael LeMay b2e4786187 galileo: Stylistic changes to make build_newlib.sh less repetitive
This script defines new variables to represent common paths and
filenames.  It does not introduce any functional changes.
2015-12-21 08:06:14 -02:00
Michael LeMay c8cdc0c157 galileo: Check for errors after downloading newlib tarball
Repeat the file existence and MD5 checks in build_newlib.sh after the
newlib tarball is downloaded and exit if either of the checks fail.
2015-12-21 08:06:14 -02:00
Andre Guedes 96e50ec2c4 galileo: Fix Makefile.galileo
This patch moves the compiler and linking options related to QuarkX1000
SoC to Makefile.x86_quarkX1000 since it is more suitable. For instance,
'-m32' should be used in any platform based on QuarkX1000, not only
Galileo. The same rationale applies for the others options (e.g. -march,
mtune).
2015-12-21 08:06:14 -02:00
Michael LeMay 2b5efdfbe7 galileo: Revise C compiler flags for consistency.
The CFLAGS setting used for the newlib build process includes
"-mtune=i586" as does the ASFLAGS setting used for the Contiki build
process.  However, the CFLAGS setting used for the Contiki build
process did not include that flag.  This patch adds it for
consistency.
2015-12-21 08:06:14 -02:00
Michael LeMay b79fcaa7d8 galileo: Override Ubuntu's default GCC flags to avoid link errors
Ubuntu enables GCC's stack protector by default (see
https://wiki.ubuntu.com/Security/Features).  This causes link errors
like the following:

 ...undefined reference to `__stack_chk_fail'

To avoid these errors, this patch adds the "-fno-stack-protector" flag
to both the CFLAGS used by the Contiki build process and the CFLAGS
used by the newlib build process.
2015-12-21 08:06:14 -02:00
Andre Guedes a8849b2909 x86: Move bootstrap code and linker script to cpu/x86
This is a refactoring patch, no functionality is changed. It moves
loader.S and galileo.ld from platform/galileo/ to cpu/x86/ directory
since they seem to be more SoC-specific than platform-specific.

It also renames galileo.ld to quarkX1000.ld since it can be used by
any platform based on Quark X1000 SoC, not only Galileo.

Furthermore, this patch also renames loader.S to bootstrap_quarkX1000.S
since it is pretty much a bootstrap code to any platform based on Quark
X1000 SoC.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia b2fa72bb98 x86: Break Makefile.x86 into common and pc specific ones
Now the cpu/x86/ provides a Makefile.x86_common and a
Makefile.x86_pc. The former includes the common Makefile
and adds legacy pc specific implementations (currently,
drivers only) into the building context, while the latter
has everything that defines the bootstrap of a x86 CPU.

This commit also fixes platform/galileo/ so it includes the
correct makefile - Makefile.x86_quarkX1000. Galileo uses
a Quark X1000 SoC which is not an IBM Generic PC-like CPU,
but it does provide most of a PCs peripherals through
its "Legacy Bridge". Thus, it makes sense that QuarkX1000's
Makefile includes code from the legacy_pc x86 cpu.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia 23e8090257 x86: Move available drivers into drivers/legacy_pc/
All drivers implemented so far are for chips which are only available
on legacy x86 PCs. This commit moves them into a more appropriate folder,
also making the cpu/x86/drivers/ folder ready for other x86 based SoCs.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia 9d3b9cadc4 galileo: Concentrate core implementations in platform/galileo/core/
Currently, it is common to see Contiki's core/ interfaces implementations
spread in both cpu/ and platform/. We here take one step further starting
an effort to centralize all of these in platform's code instead.

This commit starts this by adding platform/galileo/core/ and its sys/
subfolder, adding a stubbed mtarch.h and moving clock and rtimer
implementations to this new folder. From now on we should concentrate
implementation from Contiki's core/ interfaces into the appropriate
subfolder in platform/galileo/core/.

Note that this is not the current fashion followed on other platforms
and cpus folders, as most of them add the core interface implementation
into its subfolder directly. For instance, on CC2538DK,
core/dev/button-sensor.h is implemented in platform/cc2538dk/dev/
directly, while on Galileo it would sit at platform/galileo/core/dev/.
We believe ours is a better approach to organize and escalate a
platform's code base.

We also remove previous x86 mtarch.h and mtarch.c since they weren't used
at all - both native and cooja platforms have their own mtarch
implementations.
2015-12-21 08:06:14 -02:00
Andre Guedes 568f565b3d galileo: Update README.md file
This patch updates the README.md file, including information about the
current device drivers implementations as well as the Contiki APIs
supported.
2015-12-21 08:06:14 -02:00
Andre Guedes e4ff61ff6c galileo: Support for rtimer library
This patch adds support for rtimer library on Galileo's platform.

We use the PIT to implement the rtimer platform dependent
functionalities. We chose the PIT for mainly two reason: I) its
configuration is very simple II) it has a high frequency which
provides us a good clock resolution (requirement from rtimer
library).

Since we keep track of the number of ticks in software, we define
rtimer_clock_t type as uint64_t. This gives us a good amount of time
til the variable overflows. For instance, a 32-bit type would overflow
in about one hour for high clock resolution (~ 1us).

The rtimer clock frequency (RTIMER_ARCH_SECOND) is setup to 1 kHz.
There is no technical matter regarding this value. It is just an
initial guess.

Just for the record, we might want to use HPET in future to
implement the rtimer library since it seems to be more appropriate.
The reason why we don't use it at this moment is that, in order to
configure it, we need support for ACPI 2.0 which we don't. Once we
have use-cases for the rtimer library we'll probably replace PIT
by HPET or any other timer more suitable for the job.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia 7c871871de galileo: Add support for Etimer and Ctimer libraries
This patch adds support for the Etimer and Ctimer libraries. To support
the Etimer library, we should poll the etimer process every time the
system clock is updated. To do this more efficiently, by taking advantage
of etimer_next_expiration_time() API, we poll the etimer process only
when an 'Event Timer' has expired.

We don't need any platform specific support in order to enable the Ctimer
library since it relies completely on Etimer.

The others timer libraries (Timer and Stime) don't required any specific
platform support as well since they rely on the system Clock module only.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia eafcba5e7a galileo: Add support for Clock module
This patch adds support for Contiki's clock module. All functions from
core/sys/clock.h are implemented, except clock_set_seconds() and clock_
delay_usec(). The CLOCK_CONF_SECOND macro is set to 128. This value
seems to be good enough since several platforms used it. Finally, we
use the RTC driver to track the number of ticks from the system clock.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia 11098501d8 x86: Initialize the 8259 PIC
The Programmable Interrupt Controller is a chip responsible for
translating hardware interrupts to system interrupts. When it
receives an Interrupt Request (IRQ), it triggers the appropriate
interrupt line reaching the appropriate IDT gate, following a
previously setup offset.

There are 2 daisy-chained PICs. PIC1 handles IRQs 0-7 and PIC2
handles IRQs 8-15. If no vector offset is set, an IRQ0, for instance,
would trigger the interrupt 0, clashing with the "Division by zero exception"
handler. Thus the IRQs must be remapped.

This patch implements the PICs initialization through their 4
Initialization Command Words (ICWs) in a very "canonical" way:
- ICW1: the initializing command;
- ICW2: the vector offset for the PIC1 and PIC2 (we add an offset of 32 positions);
- ICW3: the inter-PICs wiring setup (we connect PIC2 to PIC1's IRQ2);
- ICW4: extra systems information (we set PIC1 as Master and PIC2 as slave).

It then masks the Interrupt Mask Register, blocking all IRQs but #2 initially.
These must be unmasked on demand. The IMR is 8-bits long, so setting the n^th bit to 1
would DISABLE the IRQ n while setting it to 0 would ENABLE IRQ n.

As stated, this is an implementation of the legacy 8259 PIC. More
investigation is needed so we decide if it is enough or if we need
the (newer) APIC implementation instead.

This patch also adds the outb() helper function to helpers.h. The helpers
is a wrapper for assembly 'out' instruction.

Finally, since we now properly support hardware interrupts, this patch
also enables IRQs in platform main().

More information:
- Quark X1000 Datasheet, section 21.12, page 898.
- http://wiki.osdev.org/8259_PIC
- http://stanislavs.org/helppc/8259.html
2015-12-21 08:06:14 -02:00
Andre Guedes f6644d9208 x86: CPU Initialization
This patch defines the cpu_init() function which should encapsulate
all code related to x86 CPU initialization. For now, this function
initializes GDT and IDT.
2015-12-21 08:06:14 -02:00
Andre Guedes b8feaea30d x86: Add helpers.h
This patch adds the helpers.h. This file should contain only x86-related
helper functions and macros. For now, we define the BIT macro and halt()
helpers which will be used in upcoming patches.

Additionally, this patch also changes loader.S to call the halt().
2015-12-21 08:06:14 -02:00
Andre Guedes 6ecc4a7371 galileo: Implement main() function
This patch implements the main() function for Galileo platform. At this
moment, only Processes subsystem is enabled. After this patch we are
able to some rudimentary debugging to ensure that process thread from
applications are being indeed executed.

Once we properly support more Contiki subsystems, such as clock, ctimer,
etimer, and rtimer, we will add them to Galileo platform's main() as well.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia 595088be09 galileo: Add a bootstrap stack for C runtime
All we need to provide to C at this point is a region in memory dedicated to
its stack. This is done by allocating a region in .bss and pushing its start
address to esp. Since the multiboot spec says it is not safe to rely on the
initial stack provided by the bootloader, this patch provides our own stack.

Galileo boards have 512Kb of SRAM and 256Mb of DDR3 RAM, so providing 8kb as
a start seems safe. Moreover, stack sizes are very application-oriented
so it may be too early to provide a bigger (or smaller) stack.
2015-12-21 08:06:14 -02:00
Andre Guedes 7a1898f73e galileo: Halt if main() returns
This patch adds extra intrunctions to loader.S so we halt if main()
returns.
2015-12-21 08:06:14 -02:00
Andre Guedes 7e13081776 galileo: Print elf sections sizes after build
This patch changes Galileo's buildsystem to print the elf sections
sizes after a new image is built. This way we can easily track how
these sections increase or decrease after any change.

To achieve that, we define a custom linking rule which is pretty much
the same as the default linking rule define in Makefile.include, but
we run 'size' command after the image is built.
2015-12-21 08:06:14 -02:00
Andre Guedes e820a8b03b galileo: Add README file
This patch adds a README file which contains general information about
the Intel Galileo board support. The file provides information about
supported features as well as instructions on how to build, run and debug
applications for this platform.
2015-12-21 08:06:14 -02:00
Andre Guedes 1fb7800110 galileo: Add 'debug' rule
This patch the 'debug' rule to simplify the debugging process. This new
rule runs OpenOCD and gdb with the right parameters. OpenOCD runs in
background and its output will be redirected to a log file in the
application's path called LOG_OPENOCD. Once gdb client is detached,
OpenOCD is terminated.

The 'debug' rule is defined in Makefile.customrules-galileo file (create
by this patch) which is included by the Contiki's buildsystem. So to
debug a Contiki application for Galileo board, run the following command:
$ make TARGET=galileo debug

If you use a gdb front-end, you can define the "GDB" environment variable
and your gdb front-end will be used instead of default gdb. For instance,
if you want to use cgdb front-end, just run the command:
$ make BOARD=galileo debug GDB=cgdb
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia f14f9aba41 galileo: Initial support for Intel Galileo Platform
This patch adds the initial support for Intel Galileo Platform. It
contains the minimum set of code required to boot a dummy Contiki
image.

For Galileo initial support, we implemented a linker script, a minimal
bootstrap code, a set of stubbed functions required by newlib, and a
very simple main() function. Moreover, we also define some header files
and macros required by Contiki.

To build applications for this platform you should first build newlib
(in case it wasn't already built). To build newlib you can run the
following command:
$ platform/galileo/bsp/libc/build_newlib.sh

Once newlib is built, you can build applications. To build applications
for Galileo platform you should set TARGET variable to 'galileo'. For
instance, building the hello-world application should look like this:
$ cd examples/hello-world/ && make TARGET=galileo

This will generate the 'hello-world.galileo' file which is a multiboot-
compliant [1] ELF image. This image can be booted by any multiboot-
complaint bootloader such as Grub.

Finally, this patch should be used as a guideline to add the initial
support for others platforms based on x86 SoCs.

[1] https://www.gnu.org/software/grub/manual/multiboot/multiboot.html
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia c9897fe9b0 galileo: Add BSP files
This patch creates the platform/galileo/bsp directory. This directory
contain all files related to Galileo's Board Support Package (BSP). For
now, the BSP consists of libc and bootloader.

Within the BSP directory, we have the scripts build_newlib.sh and build_
grub.sh. These scripts provide an easy and quick way to build the newlib
and the grub for the Galileo platform.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia 3a26d9dbc7 x86: Only add elfloader-x86.c to the platforms using it
Currently there are only one platform using CPU x86: Cooja. The
elfloader-x86.c is rather a POSIX implementation, so the Galileo port
won't use it for now. This patch fixes this by moving this source file to
be included by the platforms using it instead of the cpu's Makefile.
2015-12-21 08:06:14 -02:00
Joakim Eriksson e4744d1e59 fixed make login for Zoul on MAC 2015-12-19 10:28:30 +01:00
Antonio Lignan 5e14c22c98 Add support for the RE-Mote on-board power management feature 2015-12-18 16:20:30 +01:00
Antonio Lignan 834f965c95 Added support for the RE-Mote on-board Real Time Clock Calendar (RTCC) 2015-12-16 18:43:33 +01:00
Simon Duquennoy cc58384b40 jn516x: remove temporary adjustements for compilation in a 802.15.4e-free Contiki 2015-12-07 11:51:50 +01:00
Atis Elsts d79ce957a1 Adaptive time synchronization for TSCH 2015-12-07 11:51:41 +01:00
Simon Duquennoy 20c97367a9 Adding definitions required for TSCH to the sky and z1 platforms 2015-12-04 15:21:53 +01:00
Simon Duquennoy bc17cdca2c Merge pull request #1408 from simonduq/pr/jn516x-update
JN516x: tickless clock, power saving update, 32 kHz rtimer
2015-12-03 14:59:53 +01:00
Simon Duquennoy 3ff44f77b9 jn516x: added sleep modes, support for 32kHz rtimer, and tickless clock 2015-12-03 13:57:19 +01:00
George Oikonomou 27835eee2c Merge pull request #1399 from alignan/pull/pwm-driver
Added PWM driver for the Zolertia Zoul module and CC2538 platforms
2015-12-02 15:39:52 +00:00
Simon Duquennoy ebc8d9fb1c Merge pull request #1344 from tsparber/fix-doxygen
doxygen: Fixed all warnings
2015-11-30 22:07:15 +01:00
Cristiano De Alti 2e78558964 AVR platforms: use 32 bit clock_time_t. 2015-11-28 10:18:22 +01:00
Nicolas Tsiftes 6def22b3c5 Merge pull request #1376 from sumanpanchal/wismote-uart1-dma
Wismote : Direct memory access using UART.
2015-11-26 11:08:43 +01:00
Antonio Lignan 37fcb927be Added PWM driver for the Zolertia Zoul module and CC2538 platforms 2015-11-25 23:56:29 +01:00
Marco Grella 65e1fed1bc Added contacts for stm32nucleo-spirit1 platform. 2015-11-25 12:56:42 +01:00
Marco Grella e47c69c170 Merge remote-tracking branch 'upstream/master' into stm32nucleo-spirit1 2015-11-25 12:36:01 +01:00
Antonio Lignan bea4ff164d Changed Makefile.zoul as done in previous BSL commit 2015-11-24 21:27:56 +01:00
Antonio Lignan 0775de9732 Fixed really big test value leftover 2015-11-24 21:15:34 +01:00
Antonio Lignan aa9eb5264f Fixed warning related to gpio_callback_t type 2015-11-24 21:15:34 +01:00
George Oikonomou 8727fef05b Fix code style: platform/zoul 2015-11-24 21:15:34 +01:00
Antonio Lignan afa5ab1ae4 Updated README 2015-11-24 21:15:34 +01:00
Antonio Lignan daa3ce415c Fixed typos 2015-11-24 21:15:33 +01:00
Antonio Lignan 27fd1a5eb8 Updated RE-Mote revision A support and cleaning up Zolertia platforms 2015-11-24 21:15:33 +01:00
George Oikonomou e75bdd00e7 Remove duplicate block and define the argument of -a using $(shell) 2015-11-24 13:10:10 +00:00
Jelmer Tiete 1efeda4283 Added the PORT make variable to the cc2538dk and Remote makefile. Fixed bug in these makefiles on OSX introduced in #1162 2015-11-23 11:28:34 -08:00
Jelmer Tiete 715946ece3 Restructured cc26xx readme, included use of .upload and PORT variable. Added sleepy demo example to examples section. 2015-11-23 11:09:06 -08:00
Jelmer Tiete 9a8e749f6f Updated cc26xx Readme to mention serial upload script 2015-11-23 11:09:05 -08:00
Jelmer Tiete d01d53978c Removed forced upload speed for the RE-MOTE platform 2015-11-23 11:09:05 -08:00
Jelmer Tiete 97095c8bb5 Updated makefiles of srf06 platform to support uploading via cc2538-bsl script 2015-11-23 11:07:19 -08:00
George Oikonomou 41ea0308a3 Merge pull request #1390 from tsparber/fix-doxygen-whitespace
Cleanup some trailing spaces and convert tabs to spaces
2015-11-22 11:53:01 +00:00
Simon Duquennoy ba8552555a Merge pull request #1389 from simonduq/pr/update-jn516x
JN516x: minor fixes
2015-11-21 12:12:55 +01:00
Simon Duquennoy 673d1d103b JN516x: minor fixes 2015-11-21 10:23:15 +01:00
Benoît Thébaudeau 5d98cb71e2 cc2538: Add support for Coffee
Coffee is placed by default at the beginning of the flash memory, right
before the firmware. This avoids the memory gaps that there could be
before and after Coffee if it were placed after the firmware, because it
is unlikely that the end of the firmware is aligned with a flash page
boundary, and the CCA is not flash-page-aligned. Thanks to that, Coffee
is also always in the same flash area if its size remains unchanged,
even if the firmware changes, which makes it possible to keep the Coffee
files when reprogramming the firmware after a partial flash erase
command.

The default configuration of Coffee is set to use sensible values for a
typical usage on this SoC, i.e. for sensor data logging.

The default size of Coffee is set to 0 in order not to waste flash if
Coffee is unused.

COFFEE_CONF_CUSTOM_PORT can be defined to a header file to be used with
"#include" in order to override the default CC2538 port of Coffee. This
makes it possible to use Coffee with an external memory device rather
than with the internal flash memory, without having to alter the Contiki
files.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-11-19 01:22:58 +01:00
Benoît Thébaudeau cbcf1262d6 cc2538: upload: Support .bin not starting at beginning of flash
Depending on the linker script, the generated .bin file may start beyond
the beginning of the flash memory. However, no target address was passed
to cc2538-bsl.py by the upload make target, so it used the beginning of
the flash memory in all cases.

The load address of the lowest loadable output section is now passed to
cc2538-bsl.py. The start address of the .text output section or the
address of the _text symbol could have been used too, but this would not
have been compatible with all the possible custom linker scripts.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-11-19 01:22:58 +01:00
Benoît Thébaudeau 790c253d6d cc2538: Define and use device features
Define the available CC2538 devices and their features, and use them to
define the linker script memory regions. The .nrdata output section is
now always defined in order to trigger an error if it is used but no
memory is available for it. The CC2538 device used by Contiki is made a
configuration option, the CC2538SF53 device being the default.

This makes more sense than defining the flash memory address and size as
configuration options like previously, all the more not all values are
possible and all the features are linked by each device.

This change also makes it possible to:
 - use the correct SRAM parameters for the CC2538NF11,
 - know at build time if the AES, SHA, ECC and RSA hardware features are
   available on the selected CC2538 device.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-11-19 01:18:33 +01:00
Tommy Sparber 938a425949 Cleanup trailing spaces and convert tabs to spaces
This commit removes trailing spaces and converts
tabs to spaces in all files affected by fix-doxygen PR.
2015-11-18 11:09:43 +11:00
Tommy Sparber 938d17576b doxygen: Fix many warnings
This commit fixes nearly all of the reported doxygen warnings.

I tried to not clutter the log with removed trailing spaces.
Removed whitespace and converted tab/spaces for all files affected by this commit
are in a separate branch.
2015-11-18 11:07:58 +11:00
suman_panchal 8d139222f6 Wismote : Direct memory access using UART. 2015-11-17 20:26:43 +05:30
Marco Grella 7e7c201c40 Updated radio parameters (in the submodule repo), to have more radio range. 2015-11-11 18:50:38 +01:00
Marco Grella 267d51acee Modified radio parameters to increase communication range. 2015-11-11 13:53:58 +01:00
Marco Grella 527903ee10 Added default BOARD value to let regression tests compile for any platform. 2015-11-11 13:48:38 +01:00
Marco Grella 41f9ca08e2 Merge with updated master. 2015-11-11 13:42:35 +01:00
Simon Duquennoy fbd78a7e3b Merge pull request #1293 from simonduq/pr/fix-warnings
Fix a number of compiler warnings and enable -Werror in Travis
2015-11-10 08:49:11 +01:00
Jelmer Tiete 7b4a9c8410 Small correction to cc26xx readme, code block in list was not propperly indented 2015-11-09 01:01:21 -08:00
George Oikonomou 3aa4547327 Merge pull request #1257 from bkozak-scanimetrics/cc26xx_fully_turnoff_radio
CC26xx - fully shutdown the rf-core & abort rx op
2015-11-04 15:45:05 +00:00
Antonio Lignan 6037e269a8 Merge pull request #1336 from sumanpanchal/z1-uart0-dma
Zolertia Z1: Direct memory access using UART.
2015-11-02 08:47:08 +01:00
George Oikonomou 984b8cd631 Configure ContikiMAC timings for CC13xx sub-ghz operation
This is required so that ContikiMAC will keep working correctly after the recent change that also turns off the RF analog part during duty cycling.
2015-11-01 23:21:04 +00:00
Oliver Schmidt 1639b712bb Removed CC_FASTCALL.
CC_FASTCALL was introduced many years ago for the cc65 tool chain. It was never used for another tool chain. With a798b1d648 the cc65 tool chain doesn't need CC_FASTCALL anymore.
2015-11-01 18:10:17 +01:00
suman_panchal 35cc40563e Zolertia Z1: Direct memory access using UART. 2015-10-31 11:45:13 +05:30
Oliver Schmidt 5443c740e9 Added 80 column IRC client / web browser for the C64.
Recently support for 80 column CONIO based on 320x200 graphics was added to the cc65 C library for the C64. This change leverages this for the IRC client and the web browser. Because not everybody prefers this 'soft80' display with its small 4x8 charbox the 40 column programs are still available as before (with the new programs called 'irc80' and 'webbrowser80').
2015-10-30 16:48:00 +01:00
Oliver Schmidt fb5d0b7ef0 Made 80 column display a cc65 application attribute.
So far 80 column display was an attribute of a cc65 platform. Now each cc65 application can ask for 80 column display by defining WITH_80COL. Of course this is ignored by platforms incapable of 80 column display.

I see three types of application:

* Applications not benefitting from 80 column at all and in fact looking better with 40 column display. These are now using 40 column display. Examples: ethconfig, ipconfig

* Applications taking advantage of 80 column display if it is available without drawbacks. These stay as they were. Examples: Telnet server, web server, wget

* Applications needing 80 column display so urgently that it is likely desirable even if the display becomes harder to read. These come now in both flavors allowing the user to choose. Examples: IRC, web browser

Note: This change doesn't actually introduce any 80 column display with drawbacks. This if left to a subsequent change.
2015-10-30 12:42:58 +01:00
Oliver Schmidt 634db88fe0 Adjusted cc65 constructor to recent cc65 change.
With 0ee9b2e446 cc65 constructor may not use the BSS anymore.
2015-10-29 22:25:48 +01:00
Oliver Schmidt 5024468c2f Rearranged ATARI memory usage.
The cc65 memory map for the ATARI XL has two holes so the linker needs hints which object files go where. Source changes lead to object file size changes requiring now and then to rearrange the object files.
2015-10-28 12:22:43 +01:00
Marco Grella e261cda8dc Compilation flags update: BOARD=ids01a4/5 SENSORBOARD=iks01a1 2015-10-27 12:12:59 +01:00
Nicolas Tsiftes 17714c2111 Merge pull request #1299 from sumanpanchal/wismote-nodeid-burn-restore-frm-xmem
Burn and restore node id using external flash of Wismote
2015-10-26 18:41:28 +01:00
suman_panchal 5a07279c4f Burn and restore node id using external flash of Wismote 2015-10-24 18:24:38 +05:30
Benoît Thébaudeau bf41de1be5 Merge pull request #1078 from drandreas/cc2538-crypto
cc2538: Add PKA drivers, ECC algorithms and examples
2015-10-21 11:24:35 +02:00
Simon Duquennoy 4edfb3671f Merge pull request #1315 from simonduq/pr/fix-jn516x-uart-printf
jn516x uart-driver.c: use DBG_vPrintf instead of printf.
2015-10-20 15:57:12 +02:00
Simon Duquennoy 810036e4f3 jn516x uart-driver.c: use DBG_vPrintf instead of printf. Issue https://github.com/contiki-os/contiki/issues/1314 2015-10-20 14:56:51 +02:00
Simon Duquennoy 2daa3d7377 Merge pull request #1269 from tadodotcom/tmp-uip-fallback-iface
More flexibility for the fallback interface
2015-10-20 11:33:14 +02:00
Simon Duquennoy c13274c550 jn516x platform: fix compiler warnings to enable -Wall -Werror compilation 2015-10-20 10:11:45 +02:00
Simon Duquennoy 7d55e89563 jn516x: enable -Wall 2015-10-20 10:11:43 +02:00
Adam Dunkels d48cf89e9b Fixed compiler warnings for the AVR platforms 2015-10-20 10:11:42 +02:00
Adam Dunkels c1ed924c67 Spell fix in function name 2015-10-20 10:11:38 +02:00
Simon Duquennoy aec8af25c0 jn516x: added WERROR 2015-10-20 10:11:22 +02:00
Simon Duquennoy 5ac4c2c867 Target cooja: fixed funciton prototype of uip_driver_send 2015-10-20 10:11:18 +02:00
Simon Duquennoy b0f21747e1 Target cooja: added missing declaration of simlog_char 2015-10-20 10:11:17 +02:00
Simon Duquennoy 43adbbf6f9 Target cooja: added missing includes 2015-10-20 10:11:16 +02:00
Simon Duquennoy 7328ee51ef micaz: added missing include 2015-10-20 10:11:14 +02:00
Simon Duquennoy 2533265d30 eval-adf7xxxmb4z: declare node_id only when needed 2015-10-20 10:11:13 +02:00
Simon Duquennoy 45af3adab4 exp5438: do not use char as array index 2015-10-20 10:11:04 +02:00
Simon Duquennoy 1957ecd94a exp5438: removed unused vairable 2015-10-20 10:10:18 +02:00
Simon Duquennoy c796ab418f exp5438: added missing include 2015-10-20 09:38:25 +02:00
Simon Duquennoy 2007863922 mbxxx: fix printf format 2015-10-20 09:37:26 +02:00
Simon Duquennoy fcd0302d02 mbxxx contiki-main.c: include uip-debug, as uip_debug_lladdr_print is used in main 2015-10-20 09:37:25 +02:00
Simon Duquennoy 16dd3af1e6 mbxxx temperature-sensor: remove unused variable 2015-10-20 09:37:24 +02:00
Simon Duquennoy 921a3c8a7b native platform: removed unused variable 2015-10-20 09:37:19 +02:00
Simon Duquennoy 10bd49a71a Merge pull request #756 from sieben/dos2unix
dos2unix fix
2015-10-18 20:26:07 +02:00
AntiCat d631270af4 cc2538: Add PKA drivers, ECC algorithms and examples 2015-10-18 20:14:17 +02:00
kkrentz c865982df5 JN516x: Call LLSEC.init instead of LLSEC.bootstrap 2015-10-15 00:41:12 -07:00
Simon Duquennoy bfeff0488d Port JN516x ccm-star implementation to new ccm_star_driver interface 2015-10-14 09:20:44 -07:00
Konrad Krentz b522c042ec llsec: Replaced bootstrap function with a simple init function 2015-10-14 08:21:40 -07:00
Oliver Schmidt 1b2028f1e0 Merge pull request #1302 from oliverschmidt/master
Removed mouse pointer initialization.
2015-10-09 22:22:07 +02:00
Marco Grella fc65757114 License headers and code style fixes. 2015-10-09 19:40:39 +02:00
Oliver Schmidt 43ac818dd2 Removed mouse pointer initialization.
Now the cc65 C library for CBM takes care of this.
2015-10-09 19:35:31 +02:00
Vladimir Pouzanov fee4476605 Fixed detection of windows-native 2015-09-29 10:36:18 +01:00
Simon Duquennoy 6d4f50e53a Merge pull request #1282 from farcaller/nativenet
Basic NETSTACK_CONF_RADIO based on kernel 802.15.4
2015-09-28 19:30:38 +02:00
Simon Duquennoy 2231cc9b0f Merge pull request #1266 from drugo72/avr-revival
AVR revival: new battery and temperature sensors and er-rest-example for the Raven
2015-09-28 17:52:26 +02:00
Mariano Alvira 94daacd244 Merge pull request #817 from SmallLars/econotag-ecc
Addet ECC functions on elliptic curve secp256r1.
2015-09-28 09:45:11 -05:00
Mariano Alvira ff7129dc53 Merge pull request #881 from drugo72/avr-fixes
Avr fixes
2015-09-28 09:41:21 -05:00
Vladimir Pouzanov bd1b7d9814 Fixed linuxradio compilation issues with native and minimal-net 2015-09-28 12:48:01 +01:00
Vladimir Pouzanov 4c8618e6ba Extracted linuxradio device name to contiki-conf 2015-09-28 12:48:00 +01:00
Vladimir Pouzanov 52c90519d9 Fixed missing #includes and restricted linuxradiodrv compilation to linux 2015-09-28 12:48:00 +01:00
Vladimir Pouzanov 867368b929 Basic NETSTACK_CONF_RADIO based on kernel 802.15.4 2015-09-28 12:47:11 +01:00
Simon Duquennoy f9537b6355 Merge pull request #1219 from simonduq/jn516x-port
NXP JN516x Platform
2015-09-25 12:09:52 +02:00
Lars Schmertmann 17ff3bb466 Added ECC functions on elliptic curve secp256r1 2015-09-24 14:11:20 +02:00
Simon Duquennoy bd7d45080d Added NXP JN516x platform 2015-09-23 14:38:31 +02:00
Cristiano De Alti 018be89b11 Revert abs -> ABS change from commit 0dab6926b3.
The avr-ravenlcd cannot include sys/cc.h since this in turns includes contiki-conf.h
which the avr-ravenlcd does not have.
2015-09-22 23:32:17 +02:00
Cristiano De Alti 7b5c57c892 See https://sourceforge.net/p/contiki/mailman/message/31702228/ 2015-09-22 23:32:17 +02:00
Cristiano De Alti 8e02955c3d Fix menu. How could it worked before? Also added a macro to disable JTAG using inline assembly 2015-09-22 23:32:17 +02:00
Cristiano De Alti a3435952ef Only output data and text sections to the hex file 2015-09-22 23:32:17 +02:00
Cristiano De Alti 65e70baa84 Tables must be const in order to be put into read-only section by means of __attribute__((progmem)) (avr-gcc 4.7.0) 2015-09-22 23:32:17 +02:00
Cristiano De Alti abac0f0381 Fix compilation of er-rest-example 2015-09-22 23:32:17 +02:00
Víctor Ariño 561e70b18e Updated current fallback_interface(s) to return int. 2015-09-22 12:53:04 +02:00
Cristiano De Alti d2528caa85 Implement battery and temperature sensors.
On the raven, the battery and temperature readings are available
from the companion 3290 cpu over the serial line.
Modify the existing raven-lcd-interface application to export
these sensors.
2015-09-21 22:45:57 +02:00
Lars Schmertmann 46ffc509c1 Added App/Tool/Example for usage of additional flash on econotag/mc1322x 2015-09-14 20:43:12 +02:00
Marco Grella 875bfd0a1a Updates of REAME files (main and submodule). 2015-09-11 15:56:12 +02:00
Marco Grella 87970a88a4 Comments and documentation fixes. 2015-09-10 14:28:08 +02:00
Mattias Buelens 72aac552ef Cooja: Track CFS file size
Previously, the Cooja mote assumed that its file was always initially empty (file.endptr == 0). Therefore, a file uploaded to a mote's CFS could never be read by the mote, as the mote would prevent reads from going past the EOF (indicated by endptr).

By tracking the file size and making it accessible to Cooja, the correct size of the uploaded file can be reported to the mote and allow it to read the uploaded file.
2015-09-09 23:06:09 +02:00
Nicolas Tsiftes bebf0f9156 Merge pull request #1246 from nvt/wismote-fixes
Minor fixes for the WisMote platform
2015-09-08 13:52:45 +02:00
Marco Grella b7459a12c1 Added radio sensor. 2015-09-07 19:59:03 +02:00
Rémy Léone 7a5071dd30 Adding a gitattributes and correcting line-endings
https://help.github.com/articles/dealing-with-line-endings/
2015-09-07 15:40:02 +02:00
Marco Grella 17aafb9daa Align to current master 2015-09-04 17:01:04 +02:00
Atis Elsts 2f79810b58 Use ENERGEST_SWITCH to switch between different power modes to improve energest accuracy. 2015-09-04 11:46:00 +02:00
Marco Grella a627a54224 Fixes to README.md instructions 2015-09-03 18:02:15 +02:00
Simon Duquennoy 265b65c67c Fix Wismote randon_init for link-layer addresses shorter than 8 bytes 2015-09-01 19:57:37 +02:00
Marco Grella 913ef068be Updated submodule stm32cube-lib 2015-09-01 15:34:34 +02:00
Simon Duquennoy 4904386f41 Wismote: init random seed 2015-09-01 10:51:25 +02:00
Simon Duquennoy db1635cf3c Z1: configure SFD timestamp with flag CC2420_CONF_TIMESTAMP, for consistency the Sky platform and with cc2420.c 2015-09-01 10:03:44 +02:00
Simon Duquennoy 34280338ac Z1: init random seed 2015-09-01 10:02:35 +02:00