Commit Graph

124 Commits

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