Crs 285 TCP/IP and Ethernet Programming for Embedded Applications
Programmers developing embedded systems with ethernet and TCP/IP
"on board" need to master a number of programming skills that
are not covered in C programming books. The programming skills needed may
range from implementing ethernet controller device drivers through to
devising new application layer protocols.
|
Course Outline
- Intensive overview of ethernet and TCP/IP
- Structured programming approaches to device driver
implementation
- on a system without an operating system
- on a system with an operating system
- deterministic protocols and how to design and implement them
- aspects of industrial ethernet
- design and implementation of TCP/IP protocol stacks - "the
good, the bad and the ugly"
- ARP - and related protocols such as RARP and BOOTP
- Stripping out non-essential IPv4 features
- Static vs. dynamic assignment of IP addresses
- UDP or TCP or both ?
- Implementing simple file and data transfer protocols
- Implementing simple authentication and security mechanisms
- The implementation and deployment of minimalist HTTP servers
- The implementation and desployment of minimalist SNMP and SNMP like
servers
- WAP and its applicability to embedded systems applications
The course book - handed out on the course will be
"TCP/IP Lean 2/e - Web Servers for Embedded Systems" by
Jeremy Bentham.
You can also obtain copies of the book from the Internet Technical Bookshop
( sales@itbs.co.uk , http://www.itbs.co.uk/specials/tcp_ip_books.html
)
|
Intended Audience
The course is aimed at experienced embedded systems C programmers and
engineers who understand TCP/IP theory, and who need to delve into
implementation details.
The emphasis in this course is to understand the various ways in which
a TCP/IP protocol stack might be implemented and how it might be
"slimmed down" for use in an embedded system.
|
Key Skills
- Understanding how ethernet controllers work, how they can be
interfaced to a microcontroller, and how data can be transferred
between the application and the ethernet controller.
- Know how to implement a software layer above the basic driver layer
to run ethernet in a more deterministic mode
- Understand how to interface an ethernet driver to a TCP/IP protocol
stack
- Be able to install or develop application layer code on top of TCP/IP
|
Practical Work
Exercises take up around 50% of the course time. These will
involve
- implementing and testing code
- studying and modifying existing implementations
- design and implementation of simple static and dynamic web pages
- implementing VB (Visual Basic) / Visual Tcl programs to access an
embedded system over TCP/IP
- using TCP/IP over PPP to access an embedded system
- studying and adapting a simple SNMP like server
- implementing a simple data/file transfer protocol
|