|
|
|
| Source | Syntax highlighted |
|---|---|
| main.c | main.c.html |
| common.h | common.h.html |
| slip.c (.h) | slip.c.html (.h) |
| ip.c (.h) | ip.c.html (.h) |
| icmp.c (.h) | icmp.c.html (.h) |
| udp.c (.h) | udp.c.html (.h) |
| tcp.c (.h) | tcp.c.html (.h) |
Although it's worth noting that some of the code is written specifically for the WIZ-C compiler and may need considerable reworking for other platforms.
REPORT
You can download the report as a PDF (1.18mb). Unfortunately some of the diagrams didn't convert too well to PDF, but they're still legible.
AbstractFew people could have failed to notice two important trends over recent years; the miniaturisation of electronic devices and the continued proliferation of the Internet. It is a natural step to integrate the two, fuelling the development of small, Internet enabled devices. Whilst the oft-cited idea of an Internet Toaster may be somewhat whimsical, Internet connectivity for home appliances is rapidly becoming a reality.
This report details the techniques involved in reducing the resource requirements of a network stack implementation, thus allowing it to be embedded within a small device. In order to provide an understanding of the network requirements, relevant protocols are presented and explained. Parts of an Internet Protocol stack have been developed, and a working device produced.
TOOLS
WIZ-C - visual C development environment for the PICmicro MCU. Although it has a few quirks, this is an excellent tool.
| PC interfacing [+] | Lots of stuff about integrated TCP/IP and its uses |
| MPLAB [+] | Development environment and assembler for PIC |
| CCS [+] | C Compiler for PIC programming |
| uWebserver [+] | PIC webserver thing, some interesting stuff about the chip |
| iPic [+] | Tiny web server. No source code, but quite interesting. |
| WWWpic2 [+] | Written in ASM, with some handy information |
| picnic [+] | another web server |
| Introduction to TCP/IP [+] | Simple stuff about TCP/IP, OSI etc. |
| PIC IO [+] | lots of links for PIC input/output stuff.. including TCP/IP and RS232 |
| Adam Dunkels [+] | Some excellent stuff about network connecting microcontrollers |
| Eric's PIC Page [+] | Mainly links |
| gpsim [+] | Emulator for the PIC |
| IPv6 watch [+] | Linux on a wrist watch. It uses IPv6 with a Bluetooth wireless protocol stack. |
| Embedded Linux products [+] | Devices which use embedded Linux.. cars, phones, PDAs |
| IBM Research [+] | IBM's research site about the embedded Linux watch |
| PIC Connectivity center [+] | Loads of stuff about internet connectivity with a PIC |
| htsoft [+] | HI-TECH C compiler, demo version for limited chips. |
| BIDS services [+] | BIDS services - journals etc |
| Starting with PICs [+] | Detailed list of basic stuff. |
| SLIP [+] | SLIP networking, for Linux |
| Microchip glossary [+] | Glossary of terms |
| 768 | UDP: User Datagram Protocol |
| 791 | IP: Internet Protocol |
| 792 | ICMP: Internet Control Message Protocol |
| 793 | TCP: Transmission Control Protocol |
| 826 | ARP: Address Resolution Protocol |
| 894 | IP over Ethernet |
| 896 | Congestion control in TCP/IP networks |
| 950 | Subnetting |
| 1055 | SLIP: Serial Line Internet Protocol |
| 1122 | Requirements for Internet Hosts (!) |
| 1180 | TCP/IP tutorial |
| 1191 | Path MTU discovery |
| 1256 | ICMP router discovery messages |
| 1323 | TCP Extensions |
| 1812 | Requirements for IPv4 routers |
| 2018 | TCP selective acknowledgment options |
| 2068 | HTTP/1.1 |