Commit graph

1275 commits

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