M68web
Why?
- ECE341 Course Project
- Gain understanding of TCP implementation
- Useful application to gain understanding of m68k assembly
- A Unique challenge vs. the lego projects of most other teams
What?
- Polling-based main-loop branches to appropriate code depending on packet-type
- Serial Module Interrupts perform SLIP encoding/decoding
- Bit-field memory map for packets active in system
- Basic ICMP ping response (Checksum not recomputed, most still accept)
- Basic TCP response (either echo or 1-packet webpage depending on config)
- Limited by serial line rate (38.4 kbps)
Where?
- SVN Repository at svn://geex.ath.cx/m68web
- tarball here
What's that there?
m68web.tar.bz2 should contain:
- header.inc - initialization code, constant decls, branches to IP_MODULE
- ip.s - main loop of program, handles packets/tcp/icmp/web requests
- duart.s - interrupt service routine, handles SLIP encoding/decoding
- mem.s - hand out memory chunks to ISR.
- footer.inc - variable declaration, web page definition.
brief things that need to be done:
- ack TCP packets that don't have the end of a request, rather than
drop
- ICMP checksum should be recomputed (oops.. but it still works)
- support for webpages larger than a single packet