Presentation is loading. Please wait.

Presentation is loading. Please wait.

Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow.

Similar presentations


Presentation on theme: "Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow."— Presentation transcript:

1 Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow

2 Hardware Systems What makes a good intro Hardware Systems course? Hands-on experience with hardware Hands-on experience with lowest levels of software Focus on how hardware and software concerns are interrelated. Integration with rest of curriculum There is no magic in the box!

3 Experimental Labs What goes into a good experimental computer systems laboratory environment? Purdue XINU Laboratory: Consoles Booting Rebooting

4 [Image courtesy Digi]

5 ... sread:.word 0 ! sectors read of current track head:.word 0 ! current head track:.word 0 ! current track read_it: mov al,setup_sects inc al mov sread,al mov ax,es test ax,#0x0fff die: jne die ! es must be at 64kB boundary xor bx,bx ! bx is starting address within segment rp_read: #ifdef __BIG_KERNEL__ #define CALL_HIGHLOAD_KLUDGE.word 0x1eff,0x220 ! call far * bootsect_kludge ! NOTE: as86 can't assemble this CALL_HIGHLOAD_KLUDGE ! this is within setup.S #else mov ax,es sub ax,#SYSSEG #endif cmp ax,syssize ! have we loaded all yet?... [Code GPLed under Linux]

6

7

8 The Solution Need a coherent strategy to drive hands-on laboratory work in Hardware Systems, Operating Systems, perhaps extending to Embedded Systems, Networking and Internetworking, Compilers, etc. Flexible Extensible Hands-on Modern Challenging Interesting Inexpensive Duplicable

9 [Image courtesy Linksys]

10 Broadcom 5352 [Diagram courtesy Broadcom]

11

12

13

14

15 Programming Environment Standard C Language execution environment Obeys MIPS calling convention Buffered I/O getchar(), putchar(), printf() Starter I/O functions getInt(), printInt() Memory allocation malloc() and free() Also sleep() and halt(), process management, and interrupt facilities available.

16 Course Objectives Principles Major hardware components Solve problems in Assembler Platform-specific knowledge for later courses in O/S, networking, etc. Development environment

17 Course Topics Digital Logic, combinational and sequential Data Representation Processors and Pipelines Instruction Sets, both RISC and CISC Assembly and addressing modes Activation Records Memory and Storage, virtual memory and caching I/O and busses Interrupts

18 Assignments Basic Assembler Operations I/O maniulation Functions and calling conventions Recursion and Activation Records Pointers and Memory Device I/O Interrupts

19 Future Work: Embedded Systems Course, Internetworking Course, IP telephony Real-time constructs, Provable guarantees, World Conquest...

20


Download ppt "Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow."

Similar presentations


Ads by Google