Commit graph

226 commits

Author SHA1 Message Date
matsutsuka
cc2b6e58d7 Followed a coding convention of contiki, in which cast operation should not be followed by a space char. 2007-09-01 01:08:07 +00:00
oliverschmidt
34af8fbc1a Fixed recent change. 2007-08-30 20:47:14 +00:00
matsutsuka
9d4fc0a1a8 Support for z80(sdcc) port.
In order to support, some core modules are modified as follows:

core/sys/dsc.h
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.
- DSC_HEADER is changed to remove extra semicolon.

core/sys/process.h
- process_data_t is expressed by void* in signatures (known bug on sdcc).

core/sys/autostart.h
- autostart_processes is changed to remove extra semicolon.

core/sys/cc.h
- CC_CONF_ASSIGN_AGGREGATE is introduced.
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/net/hc.c
core/net/uip_arp.c
core/net/uaodv.c
- Aggregation assignments are changed to uip_ipaddr_copy.

core/net/psock.c
core/net/uipbuf.c
core/net/dhcpc.c
apps/shell/shell.c
core/ctk/vnc-server.c
core/ctk/vnc-out.c
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

core/net/uip-over-mesh.c
- An extra semicolon is removed.

apps/dhcp/dhcp-dsc.c
apps/shell/shell-dsc.
apps/ftp/ftp-dsc.c
apps/process-list/process-list-dsc.c
apps/email/email-dsc.c
apps/webserver/webserver-dsc.c
apps/vnc/vnc-dsc.c
apps/vnc/vnc-viewer.h
apps/webbrowser/www-dsc.c
apps/about/about-dsc.c
apps/irc/irc-dsc.c
apps/telnet/telnet-dsc.c
apps/telnetd/telnetd-dsc.c
apps/netconf/netconf-dsc.c
apps/directory/directory-dsc.c
pps/calc/calc-dsc.c
- Modify an extern type to a real declaration, which is static
  to prevent a compile error.

core/net/mac/xmac.c
- Variables cannot be defined in a head of block on sdcc.

core/ctk/ctk.h
core/ctk/ctk.c
apps/program-handler/program-handler.c
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.

Makefile.include
- Add a set of configuration for an assembler.
- $(CLEAN) variable is introduced for customized cleanup.

apps/process-list/process-list.c
- PROCESSLIST_CONF_HEIGHT is introduced to address smaller screen size.

core/lib/ctk-filedialog.c
- FILES_CONF_HEIGHT is introduced to address smaller screen size.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/vnc/vnc-viewer.c
- A cast is added to prevent a compile error.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/webbrowser/webclient.c
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/loader/elfloader.c
- A cast is added to prevent a compile error.

core/net/rime/rimeaddr.c
- An initialization is added to prevent a compile error.

core/net/rime/rudolph0.c
- NULL is changed to 0, because NULL causes a compile error.

core/net/rime/route-discovery.c
- Add an argument to match the definition of nf_callbacks.

cpu/z80/strcasecmp.h
cpu/z80/strcasecmp.c
cpu/z80/contiki-sdcc-conf.h
cpu/z80/mtarch.c
cpu/z80/mtarch.h
cpu/z80/Makefile.z80
- New files to make compilation availble on sdcc.
- Added support for multithreading.
2007-08-30 14:39:16 +00:00
ksb
792eae91c6 rtimer implementation (not well tested)
sprintf that use strformat, so there's no need to pull in the newlib
implementation.
Build system improvements.
2007-08-21 09:03:55 +00:00
bg-
0fedf8845d * Standard defines for AVR. 2007-08-16 13:20:09 +00:00
bg-
dcafdfe51a * Standard defines for MSP430. 2007-08-16 13:09:06 +00:00
oliverschmidt
63a6493e5c Made tapdev and wpcap driver similiar making up a "driver template". 2007-08-10 14:59:59 +00:00
oliverschmidt
1c77f6f1d5 - The cc65 assembler variable 'ptr1' (a general zero page pointer) is actually part of the cc65 zero page area so it's a bad idea (tm) to use it in swapping that very area.
- The cc65 assembler variable 'sp' (the pointer to the C stack) is actually part of the cc65 zero page area so there's no need to manage it explicitly. Furthermore it is known to reside at the very start of the area so it can be initialized there for new threads.
2007-08-10 10:45:35 +00:00
oliverschmidt
9399718ede Cosmetic change... 2007-05-29 22:25:49 +00:00
oliverschmidt
b23f4fc89d Added a Contiki clock_time() implementation based on the cc65 clock() implementation. 2007-05-29 21:56:21 +00:00
oliverschmidt
c874d56f32 Clock implementations are typically not located in a lib subdirectory. 2007-05-27 21:29:18 +00:00
oliverschmidt
75f04995a9 Changed packet drivers from services to plain processes.
Now tcpip_output() is a function pointer that is supposed to be set via the macro tcpip_set_outputfunc(). Packet drivers do so on process startup.

Thus if there are several packet drivers in a Contiki system the one started last is the one actually used. This behaviour is especially useful for the 'IP forwarding' "meta" packet driver.
2007-05-26 23:05:36 +00:00
oliverschmidt
6ab3a6d1e3 Fixed copy&paste bug. 2007-05-26 22:51:38 +00:00
oliverschmidt
f0d5a14745 Moved into backyard as it was never ported to Contiki 2.x. 2007-05-26 21:28:30 +00:00
adamdunkels
2c53a38075 Architecture dependent code for the CC2420 driver 2007-05-25 08:07:54 +00:00
oliverschmidt
9ab8b78381 Moved cc65 loader requiring "labels hack" into backyard. 2007-05-23 23:49:45 +00:00
oliverschmidt
a22c543b1a Moved cc65 specific app into backyard. 2007-05-23 23:47:16 +00:00
oliverschmidt
1629c207b5 That PROCESS_EXITHANDLER() thing was after all kind of overengineered... 2007-05-23 22:13:29 +00:00
oliverschmidt
0bf8c95b79 Made use of exit handler. 2007-05-22 22:01:03 +00:00
adamdunkels
00b1e371cf Added energy estimation, disabled IRQs for A/D converting as it used close to 100% CPU time 2007-05-22 21:01:32 +00:00
adamdunkels
3872d004bc Reading timer now quicker, embryo for possible future drift configuration 2007-05-22 21:00:09 +00:00
adamdunkels
432d242a3c Added energy estimation, embryo for possible future drift configuration 2007-05-22 20:59:47 +00:00
adamdunkels
9a5bac6282 Added energy estimation 2007-05-22 20:59:11 +00:00
bg-
3f4ec3cf44 * Use _end rather than nonstandard __bss_end. 2007-05-21 15:29:46 +00:00
bg-
d68e4bd3df * Add missing file. 2007-05-21 14:28:14 +00:00
oliverschmidt
5f3296e943 Changed packet drivers from services to plain processes.
Now tcpip_output() is a function pointer that is supposed to be set via the macro tcpip_set_outputfunc(). Packet drivers do so on process startup.

Thus if there are several packet drivers in a Contiki system the one started last is the one actually used. This behaviour is especially useful for the 'IP forwarding' "meta" packet driver.
2007-05-20 21:29:39 +00:00
oliverschmidt
61f54204d7 Improved map file naming consistency. 2007-05-19 21:46:43 +00:00
oliverschmidt
51509fa49a Added dummy value to allow for building. 2007-05-19 13:20:37 +00:00
oliverschmidt
ae2073cac9 Factored out setup directory search path for source files into Makefile.include.
- All compilers used support the -I option for setting an include search directory.

- The Contiki source tree follows the (common) approach of placing declarations (in headerf iles) in the same directory as definitions (in source files).

As a result it makes sense to use the -I compiler option for just the same set of directories used for the vpath gnumake directive.

Note: I checked several builds but nevertheless one or the other might need some additional adjustsments. Sorry for the inconvenience.
2007-05-19 07:54:53 +00:00
adamdunkels
4364a9929a Removed WITH_UIP 2007-05-15 08:09:45 +00:00
oliverschmidt
237b1617b5 Factored out setup directory search path for source files into Makefile.include.
- Search target specific directories before CPU specific directories.
- Search CPU specific directories before generic directories.

Note: I checked several builds but nevertheless one or the other might need some additional adjustsments. Sorry for the inconvenience.
2007-05-13 08:41:11 +00:00
oliverschmidt
4fd1e3ece0 Added signed 32 bit data type. 2007-05-12 20:58:12 +00:00
oliverschmidt
8d3496194f Added Multithreading support to the cc65 targets based on the Contiki 1.x C64 implementation with the following changes:
- Added support for the function parameter.
- Removed support for preemption because:
  - No other current implementation does so.
  - Preemption support would make the code at least target-dependent or it wouldn't work at all (as on plain Apple2 machines without timer interrupt).
2007-04-21 22:15:45 +00:00
oliverschmidt
ec2411d5ea Structured the cc65 makefile like all the other makefiles in the Contiki 2.x build system. 2007-04-21 15:04:23 +00:00
oliverschmidt
5d62bbd039 Used SED to replace the assembler sources with the objects in the dependency file generated by the cc65 compiler. This allows to hide the assembler sources from GNU make which solves several issues. Now the cc65 toolchain behaves very similiar to gcc from the GNU make perspective. 2007-04-21 13:23:47 +00:00
oliverschmidt
48977bd89f Replaced the PROJECT_OBJECTFILES hack with puting the Contiki library (containing contiki-main.o) and the cc65 libary into a cc65 "library group" which allows mutual crossreferences between the libraries in the group. 2007-04-18 22:52:22 +00:00
oliverschmidt
f3502e2ca4 Added NOP headers in order to allow build. 2007-04-18 21:38:55 +00:00
oliverschmidt
c7e8ac499e Consistently use curly brackets for function calls (and add the same disclaimer as used in "my" other makefiles). 2007-04-14 15:55:50 +00:00
oliverschmidt
9cf544c45e Added the same disclaimer as used in the header file. 2007-04-14 15:48:42 +00:00
oliverschmidt
274afdb55c Made driver compilable with both Cygwin and VC++ (and usable for platform/win32 by using logging API). 2007-04-11 00:21:28 +00:00
oliverschmidt
9cc1871810 Fixed stupid bug. I have no idea how I didn't run into this one for months ! The development platforms have 400-600 bytes buffer size. So every incoming 1500 packet overwrote ~ 1000 bytes of uIP variables. And this happens very easily as every packet coming in for the Windows IP stack is seen by uIP as well (and discarded because of the wrong IP address). 2007-04-08 20:06:56 +00:00
adamdunkels
b2b750e83b rtimer_arch_now() now returns the correct value 2007-04-07 05:45:08 +00:00
oliverschmidt
e37d79e4a3 Don't rely on gcc's auto-import feature. 2007-04-07 00:27:22 +00:00
oliverschmidt
e5d3453a79 Minor code formatting change. 2007-04-05 19:42:47 +00:00
oliverschmidt
be08e76366 Now that Contiki has a htonl() we need the same workaround here that we already have for htons(). 2007-04-05 19:41:02 +00:00
bg-
8aa34f1ea4 * remove author. 2007-04-04 11:53:07 +00:00
adamdunkels
08d825c450 Added rtimer-arch.c 2007-04-03 19:05:13 +00:00
adamdunkels
b108ca702a Fixed description 2007-04-03 19:04:27 +00:00
adamdunkels
00645113e5 MSP430 real-time rtimer support using timerb1 2007-04-03 19:03:09 +00:00
oliverschmidt
d41c0671d9 Ooops, that was one level of indirection to much. 2007-04-03 18:37:15 +00:00
oliverschmidt
aa4434ca55 CPU agnostic implementation of the platform specific part of the multi-threading library. Uses fibers on Windows and the ucontext functions on other platforms. 2007-04-03 00:40:51 +00:00
joxe
8add3d4660 corrected comments 2007-04-02 16:32:20 +00:00
oliverschmidt
5bceecfbb0 Added Cygwin networking support using WinPcap. 2007-04-01 21:05:17 +00:00
oliverschmidt
01b9b31952 Moved wpcap*.[ch] from platform/minimal-net/net to cpu/native/net. 2007-04-01 20:39:05 +00:00
adamdunkels
e6301c6221 Moved tapdev*.[ch] from platform/netsim/net and platform/minimal-net/net to cpu/native/net 2007-03-31 18:49:37 +00:00
adamdunkels
c4300e8e8d Added #include that #defines NULL 2007-03-31 11:19:08 +00:00
adamdunkels
92e5e7a13c Removed clock_delay() 2007-03-29 23:43:59 +00:00
adamdunkels
7db75a8aa6 x86 elfloader 2007-03-28 20:27:13 +00:00
adamdunkels
7f4014ca4d Preliminary implementation of the rtimer architecture functions for the native CPU 2007-03-28 20:09:09 +00:00
adamdunkels
fbd01ee50b Added native CPU to avoid reliance on x86-specific code for the native and netsim platforms 2007-03-28 20:07:57 +00:00
adamdunkels
d2683224e9 Added clock_delay() between characters to avoid dropping them 2007-03-25 21:52:41 +00:00
adamdunkels
6a8d8e3abf Added experimental clock_fine() function 2007-03-25 21:51:31 +00:00
nifi
f0ce3a5292 Moved buildscripts from cpu/msp430 to platform/esb. 2007-03-23 16:19:41 +00:00
adamdunkels
8293e6215f Added elfloader-stub, symbols generation 2007-03-22 23:58:08 +00:00
adamdunkels
199e0cb30d Added NM definition 2007-03-22 23:57:33 +00:00
adamdunkels
011306ce54 LPM4_EXIT instead of LPM_AWAKE() 2007-03-21 23:23:43 +00:00
ksb
7c8665fb89 Padded struct codeprop_tcphdr to 4 bytes, to get around different
alignment on different platforms.
2007-03-18 13:15:00 +00:00
adamdunkels
b0b3e5d0d6 Redefined LD to gcc to make things compile. Removed generation of symbols.[ch] due to problematic builds (seemingly neverending loops). 2007-03-15 21:52:00 +00:00
adamdunkels
5a5313aa80 Added uip include and asmv definition to make it compile 2007-03-15 21:51:12 +00:00
adamdunkels
8f9aa7b2f7 Moved uip_ipchksum() into a separate file to allow the Tmote Sky port to be compiled entirely without uIP 2007-03-15 21:47:45 +00:00
adamdunkels
b7107c0eea Added uart1.c and the dev/ subdirectory 2007-03-15 21:46:43 +00:00
adamdunkels
329bb14d94 +copyright header 2007-03-15 21:39:23 +00:00
adamdunkels
36c17d22d0 uIP checksum calculation for MSP430 2007-03-15 21:38:46 +00:00
adamdunkels
c1df2e6df8 MSP430 definitions 2007-03-15 21:38:22 +00:00
adamdunkels
1fbc0aa5b7 UART1 driver 2007-03-15 21:37:19 +00:00
adamdunkels
574becc10e Interrupt arbitration for sensor drivers 2007-03-15 21:37:01 +00:00
ksb
b105b40e9a Added ELF-loader code, should probably eventually end up in core/loader.
Added some replacements for newlib's stdout.
Added missing startup code.
Some minor fixes.
2007-03-07 16:07:25 +00:00
oliverschmidt
5d2f948bba Allow to build the statically linked telnet-server and webserver examples using cc65. 2007-03-03 13:38:07 +00:00
oliverschmidt
73fabe4ba3 Factored out settings specific more to architecture and/or toolchain rather than specific target. 2007-03-03 10:05:03 +00:00
oliverschmidt
97681fdada The one and only uip_arch.h resides in core/net. 2007-03-03 09:48:39 +00:00
ksb
13af443115 CPU specific files for the AT91SAM7S ARM-based microcontrollers 2007-02-24 00:09:45 +00:00
bg-
429d41defd * General stuff for different baudrates:
- ubr argument to slip_arch_int

    - macros for calculating ubr

    - argument -Bbaudrate to tools tunslip and scat
2007-02-02 13:26:48 +00:00
bg-
2918e5ae20 SLIP for AVR on UART1 2007-02-02 13:13:16 +00:00
bg-
6257bb670b Rename cc2420_uart0.c to cc2420_spi.c 2007-02-01 14:46:07 +00:00
bg-
394992b99f * Workaround for bug in msp430-ld where __bss_end is sometimes
misaligned.

* Indent trailing brace properly.
2007-01-30 20:01:45 +00:00
bg-
a3fc32318e * Generic AVR stuff. 2007-01-25 18:24:29 +00:00
bg-
20fa9351f2 * First port of CC2420 driver to the AVR. 2007-01-25 18:22:55 +00:00
bg-
8ebe0466a0 * Defines for 8MHz cpus. 2007-01-25 17:55:13 +00:00
bg-
6dea7b68d1 * Fill clock_delay with something (needs rewriting). 2007-01-24 16:28:51 +00:00
adamdunkels
83b348631f Changed the generation of symbols to the mknmlist script. Now symbols.h is not automatically generated so we can use it as a normal include file and remove symbols-def.h. 2007-01-24 16:11:48 +00:00
bg-
6bb9d0fa04 * Missing volatile. 2007-01-23 12:24:35 +00:00
oliverschmidt
ef8ae0e158 Added an initial Makefile for the cc65 tool chain (www.cc65.org). For now it allows to build the statically linked hello-world example. 2007-01-03 10:26:40 +00:00
oliverschmidt
69492ff4ea Removed Contiki 1.x makefiles to avoid confusion on understanding the (already complex enough) Contiki 2.x build system. 2006-12-31 14:30:11 +00:00
oliverschmidt
6c4bcfb86f Moved 6502-specific implementation of local continuations into a 'sys' folder in order to allow the
#include "sys/lc.h"

in core/sys/pt.h to find it.
2006-12-31 14:26:02 +00:00
barner
5d6abc4cfe Provide dummy implementations for the leds and minileds module in order
to unbreak the build.
2006-12-22 17:05:31 +00:00
barner
9735acb03f - Re-implementation of timing facility using timer0 and the internal clock
source. Using an external clock source (esp. the real-time clock) did not
  work. This  might as well be a local problem (e.g. hardware).
- Provide some dummy implementations in order to fix the build.
2006-12-22 17:04:38 +00:00
barner
6eb200cfc1 Fix build: location of eeprom.h changed. 2006-12-22 17:02:24 +00:00
barner
45cbcde797 - Fix/enhence support for RS232 interface on AVR (ATMega128):
* support for multiple ports: (extended interface with 'port' parameter)
 * new function: rs232_redirect_stdout that allows you to redirect stdout
   to a serial port
- In order to implement support for other MCUs, adopt a copy of
   rs232_atmega128.h
2006-12-22 17:00:45 +00:00
barner
86f37e7c1b AVR specific implementation of contiki multi-threating architecture
(supporting per-thread stacks).
2006-12-22 16:55:53 +00:00
barner
265f45feba - Fix build of contiki-2.x AVR port.
- Generate symbol tables for loadable modules.
2006-12-22 16:54:36 +00:00
adamdunkels
bdb317274e Added generation of symbols.[ch], removed cfs-eeprom (should be in platform makefile instead) 2006-12-19 09:22:25 +00:00
adamdunkels
2e8431b3d9 Added generation of symbols.[ch] 2006-12-19 09:21:12 +00:00
fros4943
93714fc39f updated reference to "elfloader-tmp" 2006-12-18 15:17:47 +00:00
adamdunkels
5d3baef0d2 Removed old elfloader.c and replaced with the current code (previously in elfloader-tmp.c) 2006-12-18 11:45:47 +00:00
bg-
290489ac10 * Bump speed over serial to 115200 (Tmote sky only). 2006-12-01 15:07:49 +00:00
bg-
e9b0d2fe7c * Remove printfs. 2006-12-01 15:06:42 +00:00
bg-
a8c35677bd * Obob in cur_break initialisation. 2006-11-17 13:30:45 +00:00
joxe
6c59ef668f added SELECT_IO and SELECT_PM macros 2006-10-10 21:33:26 +00:00
adamdunkels
b04edbebb3 CFLAGS contain nodeid if it is defined 2006-10-09 09:15:48 +00:00
adamdunkels
bf5b90d764 Removed generation of node-id.c file since node ID now is stored in EEPROM 2006-10-09 09:13:23 +00:00
joxe
e49539eea9 removed old node id management from makefile 2006-10-09 09:12:46 +00:00
bg-
752fa92657 Minimalistic plug in replacement for the leds package. 2006-09-27 09:32:08 +00:00
adamdunkels
e072e4084a Added a function for measuring stack usage 2006-09-26 20:56:42 +00:00
adamdunkels
80a7d1fba2 Added mtarch.c 2006-09-01 22:56:26 +00:00
adamdunkels
2ab93b730f Fixed include path 2006-09-01 22:56:18 +00:00
adamdunkels
fbcb4a97c2 Made stacksize configurable via external definition 2006-09-01 22:56:02 +00:00
bg-
157ee59ff5 Obob bug spotted by nfi. 2006-08-25 09:40:21 +00:00
bg-
20bac141ca Use LPM4_EXIT to return from sleep on msp430. 2006-08-17 15:41:13 +00:00
bg-
b065b27759 * Deal with numerical overflows. 2006-08-17 15:25:46 +00:00
bg-
0bf3db5df7 Make malloc machine independent by relying on dependent sbrk(2). 2006-08-11 13:41:31 +00:00
adamdunkels
8ee4f7fc3d Removed out-commented stuff from Makefiles 2006-06-24 06:23:47 +00:00
nifi
c649818fe5 fix to allow projects to extend the linker flags 2006-06-22 14:24:49 +00:00
nifi
05f6bb5feb Import of the contiki-2.x development code from the SICS internal CVS server 2006-06-22 14:22:42 +00:00
adamdunkels
62e32d2b23 Added missing includes and made Ethernut 1 & 2 ports to compile again 2006-06-20 21:23:09 +00:00
adamdunkels
710b372a2d AVR makefile 2006-06-18 07:44:59 +00:00
adamdunkels
c9e808d638 Import of the contiki-2.x development code from the SICS internal CVS server 2006-06-17 22:41:10 +00:00