Commit graph

2466 commits

Author SHA1 Message Date
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