Commit graph

200 commits

Author SHA1 Message Date
oliverschmidt 50be40768b Removed closing of stdin, stdout (and stderr on the Apple2). It was introduced in order to maximize the number of available file handles for the webserver. However none of the target machine DOSes allows to open a single file several times diminishing the intended effect very much. One the other hand not being able to "just printf() something" causes trouble over and again - i.e. hello-world seemingly not working...after all a typical case of german over-enigneering ;-) 2010-02-10 07:43:25 +00:00
oliverschmidt 1ac4d7f501 Used CFS instead of POSIX. 2010-02-08 22:26:19 +00:00
oliverschmidt 5570972957 Added a Contiki app basically combining apps/netconf and apps/dhcp. It's a 6502 specific app as it doesn't configure the running uIP instance but instead writes to the 'contiki.cfg' configuration file used by 6502 apps to configure uIP. 2010-02-08 22:08:17 +00:00
oliverschmidt 2d40c75efe Allow 6502 ctk programs (all running in non-window mode) to exit the Contiki process by calling LOAD_UNLOAD(). 2010-02-04 23:52:30 +00:00
oliverschmidt 4189884793 Don't activate UDP checksums on 6502 targets as the inline-assembler implementation in cpu/6502/net/uip_arch.c is broken! 2010-01-30 20:54:15 +00:00
oliverschmidt 26c9ec41f7 Activate uIP logging when "high level config" logging is enabled. 2010-01-30 20:48:31 +00:00
oliverschmidt fda46f6800 - cc65 2.13. allows to define all necessary paths through the single env var CC65_HOME.
- cc65 2.13. allows to override the stacksize from the linker command line thus eliminating the need for linker configs maintained by Contiki.
- cc65 2.13. integrates the startup code with the library. In 2.12. the startup code pulled in main(). Now main() is supposed to pull in the startup code. But  if main() resides itself in a library (as with Contiki) then nothing is pulled in at all :-(. The workaround is to pull in main() explicitly through the new option -u (working like the same GCC option).
2009-10-18 11:34:38 +00:00
oliverschmidt 31eb62821f cc65 2.13. features a default-per-target mouse driver so there's no need to deal with their names in Contiki anymore. 2009-10-18 09:33:08 +00:00
oliverschmidt 738397b855 cc65 generates dependency files having the list of prerequisites start with a tab character.
The processing done in the canned command sequence FINALIZE_DEPENDENCY brings this tab character to the beginning of the line making the empty rule look like a command.

Therefore we replace the tab character in question with a blank.
2009-07-26 21:27:43 +00:00
oliverschmidt 7a228fea41 Replaced classic approach of generating dependency files via rule with generating them as side effect of generating object files. The issue with "No rule to make target ..." is solved as suggested in http://make.paulandlesley.org/autodep.html.
At least with gcc (and cc65) the dependency files are generated without an additional run of the C compiler. This is especially beneficial on Cygwin because of the fork() performance issue.
2009-07-02 22:36:04 +00:00
oliverschmidt 1585077da7 Adjusted cfs_seek() offset type configuration macro name. 2009-03-01 12:26:53 +00:00
oliverschmidt d0b7d22229 Adjusted CFS implementations to the recent CFS API changes. 2009-02-28 11:45:35 +00:00
oliverschmidt f822ac9797 Added clock_seconds() implementation. 2008-07-12 14:44:37 +00:00
oliverschmidt c9a8eea371 Added cfs_seek to the preprocessor level implementation of the cfs API. 2008-07-06 07:28:05 +00:00
oliverschmidt f6c310d90a I'd better don't try to be smart by including read access into every write access - as the cc65 CBM POSIX file I/O library doesn't allow for both reading and writing at all. 2008-06-16 11:20:22 +00:00
oliverschmidt 456d7ad45e Updated URL. 2008-06-13 20:08:06 +00:00
oliverschmidt d619b095a9 Added some info on the high-level config macros (and other stuff). 2008-06-12 22:15:50 +00:00
oliverschmidt 929da590be Removed '!' as gnumake already adds '.'. 2008-05-22 19:43:08 +00:00
adamdunkels 31ea41d8db Changed the name of UIP_CONF_TCP_FORWARD to UIP_CONF_IP_FORWARD since forwarding is done at the IP level 2008-05-14 19:19:28 +00:00
oliverschmidt b7958e3472 Fixed minor copy&paste issue. 2008-03-29 15:22:39 +00:00
oliverschmidt 3d1d6e333c Added high level config macro for the new compiletime forwarding option. 2008-03-29 15:21:51 +00:00
oliverschmidt e72ca9e5d4 Allow division by RTIMER_ARCH_SECOND to compile. 2008-03-28 22:38:03 +00:00
oliverschmidt a500f2dd73 Removed unused variable. 2008-03-04 22:56:54 +00:00
oliverschmidt a7e73d030a Added naive snprintf support. 2008-02-16 08:56:29 +00:00
oliverschmidt bb19396d21 Introduced yet another high-level config macro. 2008-01-01 19:47:03 +00:00
oliverschmidt 216d20dabb Allow to implement cfs API on preprocessor level using a "pfs" (platform file system) by setting a new high-level config macro. 2008-01-01 17:44:24 +00:00
oliverschmidt faad65bddd Use cfs filesystem to allow for specific implementations. 2007-12-24 00:13:28 +00:00
oliverschmidt 93ff3add1f Use cfs filesystem to allow for specific implementations. 2007-12-23 15:37:28 +00:00
oliverschmidt 5592b1df6c Implement cfs API on preprocessor level using POSIX functions.. 2007-12-23 15:29:19 +00:00
oliverschmidt fda38428d9 Introduced some more high-level config macros. 2007-12-23 13:55:38 +00:00
oliverschmidt 14a8cf7200 Made use of the new high-level config macros. 2007-12-23 12:33:57 +00:00
oliverschmidt 125f261b7d Introduced high-level macros to be set on the make command line. They allow easy configuration of Contiki for typical (cc65-)project scenarios. 2007-12-23 12:32:43 +00:00
oliverschmidt 0564cc50fd Splitted POSIX based cfs implementation to avoid pulling in potentially large POSIX directory I/O functions without needing them at all. 2007-12-21 01:36:01 +00:00
oliverschmidt 102e3e2a24 Make use of fastcall. 2007-12-21 01:13:44 +00:00
oliverschmidt e4086d8374 Use cfs filesystem to allow for specific implementations (and make use of fastcall). 2007-12-21 01:04:29 +00:00
oliverschmidt 1863f8aef2 Added generic ctk mouse implementation based on cc65 mouse drivers. 2007-12-20 22:47:39 +00:00
oliverschmidt 2c45596f5c Optimized non-logging scenario. 2007-12-20 20:49:59 +00:00
oliverschmidt 14fa993204 Define an empty rtimer_arch_now() macro to keep compiler happy. 2007-12-20 20:28:34 +00:00
oliverschmidt 333ad36a4a Added general ctk support to the cc65 build. 2007-12-16 17:03:27 +00:00
oliverschmidt f55b3cfe0e So we're finally back at reducing the memory footprint be avoiding to pull in large C-library enitities. 2007-12-16 17:02:37 +00:00
oliverschmidt 8644822a34 Soe we're finally back at reducing the memory footprint be avoiding to pull in large C-library enitities. 2007-12-16 13:08:09 +00:00
oliverschmidt 805f3f87d3 Make the "empty" error_exit implementation the default to be optionally overridden. 2007-12-16 13:05:23 +00:00
oliverschmidt b32f0643ab Moved stuff into sys subdir to clean up the apple2enh dir (and because the corresponding shared res. cpu stuff is in the sys dir as well). 2007-12-15 11:04:11 +00:00
oliverschmidt e59252ab29 Moved stuff into sys subdir to clean up the 6502 dir (and because the corresponding shared stuff is in the sys as well). 2007-12-15 00:14:18 +00:00
oliverschmidt 983688bef6 Use C99 type to typedef Contiki types. 2007-12-15 00:06:27 +00:00
oliverschmidt 2bcabc061d Optimized to work with logging turned off. 2007-12-08 22:34:59 +00:00
oliverschmidt 382603b581 Made error_exit() implementation target-specific. 2007-12-08 22:21:50 +00:00
oliverschmidt 70321f690f Made error_exit() implementation target-specific. 2007-12-08 22:16:43 +00:00
oliverschmidt 4defaddf31 Avoid pulling in the DNS client. Later we'll want to have this configurable. 2007-12-08 21:48:49 +00:00
oliverschmidt a54195ff04 Fixed to work with logging turned off. 2007-12-08 21:47:26 +00:00
oliverschmidt 69a16d89c5 Fixed typo. 2007-12-08 21:19:06 +00:00
oliverschmidt a980f40bf6 Take in account that the C64 Retro Replay clockport needs to be activated in order to work with the RR-Net Ethernet card. 2007-12-08 21:05:48 +00:00
oliverschmidt 1afc872a29 cc65 has recently become more restrictive... 2007-12-06 10:36:33 +00:00
oliverschmidt 45988fdfd0 Fixed LAN91C96 driver. 2007-12-01 20:23:11 +00:00
oliverschmidt 9f1feb6e26 Added LAN91C96 driver. 2007-11-30 12:34:08 +00:00
oliverschmidt 66717d11ba Generic SMSC LAN91C96 driver for cc65 targets. The driver is intended to be loaded dynamically as relocatable module. It modifies itself to accomodate different Ethernet IO address locations:
- ETH64 ($DE10)
- Apple2 LANceGS ($C0x0)
2007-11-30 12:32:07 +00:00
oliverschmidt b51a680a02 Minor optimization. 2007-11-29 21:56:55 +00:00
oliverschmidt 394d70c57d Added some info on the 6502 targets. 2007-11-28 18:19:14 +00:00
oliverschmidt 9d39b4be54 Added global error_exit() and config read function to build. 2007-11-27 21:43:32 +00:00
oliverschmidt 6028fccc39 Added read function for a simple binary config file. 2007-11-27 21:42:02 +00:00
oliverschmidt 67af780c93 Made include paths consistent. 2007-11-27 20:54:10 +00:00
oliverschmidt 20824c5603 Make use of global error_exit(). 2007-11-27 20:52:52 +00:00
oliverschmidt 2ef0eec6f6 Made error_exit() globally available. 2007-11-27 18:17:47 +00:00
oliverschmidt 18d591206e Added (default) log implementation for cc65 targets. 2007-11-27 16:48:44 +00:00
oliverschmidt 74c4e10f23 No reason to not just compile petsciiconv.c for all cc65 targets. 2007-11-25 21:43:55 +00:00
oliverschmidt 7fc383e100 Minor change in comment. 2007-11-24 12:57:09 +00:00
oliverschmidt 5608e2d451 Minor adjustment to predominant coding style. 2007-11-22 11:41:18 +00:00
oliverschmidt a2dd620ecc Allow the webserver and telnetd examples to build. 2007-11-22 11:40:17 +00:00
oliverschmidt da44474fd4 Generic Ethernet driver for cc65 targets. The actual hardware driver is loaded as relocatable module. 2007-11-20 21:10:20 +00:00
oliverschmidt e6e6ea415c Generic Cirrus Logic CS8900A driver for cc65 targets. The driver is intended to be loaded dynamically as relocatable module. It modifies itself to accomodate different Ethernet IO address locations:
- C64 TFE ($DE00)
- C64 RRNet ($DE08)
- Apple2 Uther ($C0x0)
2007-11-19 23:14:14 +00:00
oliverschmidt 9a96dbca03 Moved currently inconsistent files to backyard to clean up for release 2.1 2007-11-19 23:00:33 +00:00
oliverschmidt eabf01903d Replaced most type definitions with reference to stdint.h. 2007-11-17 23:42:23 +00:00
matsutsuka 582a7476d4 *-dsc.c files have been changed to remove forward reference for struct_icon variable, bacause it is strange that this variable is used wholly inside the C source file and declared extern for the forward reference. 2007-09-06 01:36:10 +00:00
oliverschmidt 89e81f9eed Renamed 6502-conf.h into 6502def.h to be in line with similiar files created in the meanwhile and added C99 names. 2007-09-05 10:59:10 +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
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 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 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
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 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
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
adamdunkels c9e808d638 Import of the contiki-2.x development code from the SICS internal CVS server 2006-06-17 22:41:10 +00:00