Commit graph

51 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
bg- 1b61ae4d8b * Use __data_load_end to find unused ROM. 2007-06-04 17:51:41 +00:00
bg- 4e778d73e6 * Add cle_info argument to cle_write_reloc.
* Use cle_info to extract low order bits in pc-relative calculation.
2007-06-04 17:50:25 +00:00
bg- 0f3f14f159 * Add cle_info argument to cle_write_reloc. 2007-06-04 17:47:56 +00:00
bg- 78eb449dc5 * Obob in assertion. 2007-05-28 16:22:15 +00:00
bg- b0884bf41a * Move loaded modules to higher addresses. 2007-05-15 16:21:29 +00:00
bg- 02c2d3c9c0 * Scratch buffer is used as a string more often than not, change to
char * rather than unsigned char *.
2007-05-15 10:28:03 +00:00
bg- 813b27d234 * Add last two relocs. 2007-05-11 15:40:16 +00:00
bg- 9f106aa6fc * Rename cle_upd_reloc to cle_write_reloc and changed first arg to
point to position to be updated.

* Factor cle.c into multiple files.
2007-04-26 13:37:28 +00:00
bg- 7e950141dd * Bug in assertion. 2007-04-26 12:54:52 +00:00
bg- a71b149e29 * Add/update linker & loader error codes. 2007-04-26 12:54:13 +00:00
bg- e82fc60702 * Add GNUC AVR support.
* Add/update linker & loader error codes.
2007-04-26 12:53:49 +00:00
bg- c476a0c1ea * Add GNUC AVR support.
* Change cle_upd_reloc to return consistent errorvalue.

* Suppress stupid GCC warning about casting pointer to wider types
  "(cle_addr)(uintptr_t)".
2007-04-26 12:52:52 +00:00
bg- 6d25bc6215 * For portability reasons change cle_addr from pointer type. 2007-04-25 15:43:43 +00:00
bg- da798a535b * For portability reasons change cle_addr from pointer type.
* Use loader/sym.h.

* cle_upd_reloc() makes updates in memory copy.
2007-04-25 15:41:02 +00:00
bg- ffb90bfe40 * For portability reasons change cle_addr from pointer type. 2007-04-25 15:36:53 +00:00
bg- f7908e332f * Like symtab but rely on ANSI C features. 2007-04-25 15:33:29 +00:00
oliverschmidt 687dce277d Make consistent presumptions about inlcude paths. 2007-03-24 15:21:34 +00:00
adamdunkels 0ddd326c9b More debugging information. Now identifies symtab and strtab based on type rather than name. 2007-03-22 23:56:44 +00:00
bg- 44f81a5625 * s/_DEF_/_/g
* Value is not const and of unknown type.
2007-01-30 18:04:59 +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- a88f797455 * Constness and voidness. 2007-01-23 12:29:50 +00:00
bg- f8d7943735 * Switch from linear search to binary ditto.
* Symbol names is "const char *" but symbol values are "void *" (not
  "const char *").
2007-01-12 13:55:04 +00:00
bg- f888f4784c * Fix an miscalculation.
* Changing naming to be more explicit about file offsets.
2007-01-12 13:36:27 +00:00
bg- e4305295f7 * First stab at loadable contiki modules in plural form. 2007-01-05 18:00:55 +00:00
bg- c367a49606 * Typedef for scratch buffer. 2007-01-05 17:47:53 +00:00
barner c4df71bb7e - AVR specific implementation of (linear) symbol table lookup, that uses the
necessary functions to load symbols from flash ROM.
- Implementing binary search is on my TODO list.
2006-12-22 17:12:31 +00:00
barner 54ac97990d - Fix / enhence AVR specific part of the ELF relocator. Some relocation types
are still unsupported and will write warings on the second serial port.

- Fix elfloader_arch_write_rom (), which has to reside in a special bootloader
  section of flash rom. The code is heavly inspired from avr-libc's documentation.

- Prelimiary implementation of elfloader_arch_allocate_rom: Code is
  flashed to fixed address 0x8000. Note that on the AVR, flash rom is adressed
  word (16bit)-wise, not byte wise!

- Preliminary implementation of elfloader_arch_allocate_ram using the mmem
  module. Current code does not free the memory.
2006-12-22 17:10:54 +00:00
bg- 98cea83de5 * Include loader/symbols-def.h and use extern declarations. 2006-12-20 14:41:28 +00:00
bg- d6b06f0661 * Add extern declarations. 2006-12-20 14:36:28 +00:00
bg- 3c9fe59106 * Typo in comment.
* More info in printfs.
2006-12-20 13:43:47 +00:00
bg- e3a501a8c1 * Resurrect traditional elfloader interface. 2006-12-20 13:38:33 +00:00
adamdunkels 946e11a0fc Added optional binary search 2006-12-19 09:31:37 +00:00
adamdunkels 419c5f3c17 Symbol is const 2006-12-19 09:30:57 +00:00
fros4943 1e23eb29ba added support for elf32_rel relocation entries (earlier only elf32_rela)
added support for rodata section

(x86 compability)
2006-12-18 15:35:16 +00:00
fros4943 98f8d160b3 removed symbols.h (now symbols-def.h)
symbols.h should be autogenerated at compile time
2006-12-18 15:28:49 +00:00
fros4943 1e254866d5 updated reference to symbols.h 2006-12-18 15:27:18 +00:00
fros4943 71940f287f new symbols definition header.
should be included from autogenerated symbols.h
2006-12-18 15:23:04 +00:00
fros4943 060225a97a added parameter to relocate method
+ renamed write_text() to write_rom()
+ added parameter to write_rom()
2006-12-18 14:54:04 +00:00
fros4943 ea0e2c0f7d moved elfloader-tmp.h -> elfloader.h 2006-12-18 14:45:49 +00:00
fros4943 6d93716fba removed old -tmp header 2006-12-18 14:39:55 +00:00
adamdunkels 5ab475498a Removed old elfloader.h and replaced with the current code (previously in elfloader-tmp.h) 2006-12-18 12:11:15 +00:00
adamdunkels 70170b65b6 Removed old elfloader.c and replaced with the current code (previously in elfloader-tmp.c) 2006-12-18 11:55:42 +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- 4e62a35e83 * Backwards compatible with elfloader.c but uses the new Contiki
link-editor. Taken together cle and elfloader_compat requires less
  ROM and RAM than the old version.
2006-12-01 15:15:08 +00:00
bg- 4f592bfc88 Small and modular dynamic link-editor. 2006-12-01 15:12:27 +00:00
bg- 0191c11595 Fix constness problems. 2006-12-01 15:05:20 +00:00
fros4943 b8bcf2ab59 x86 elf loader implementation (only 2 common types).
depends on a few not-yet-commited files
2006-10-25 10:53:31 +00:00
adamdunkels 17c32fa33e Updated documentation 2006-10-09 11:13:25 +00:00
adamdunkels 7bfd457bbc Fixed bug where instruction to be relocated was fetched from an incorrect location 2006-09-01 07:10:01 +00:00