department of mathematics, statistics, and computer science an experimental laboratory environment...

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

Upload: claire-cobb

Post on 31-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

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

Department of

Mathematics, Statistics,

and Computer

Science

An Experimental

Laboratory

Environment for

Teaching Embedded

Hardware SystemsDennis Brylow

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

Hardware SystemsWhat 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!

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

Experimental LabsWhat goes into a good experimental

computer systems laboratory environment?

Purdue XINU Laboratory:

• Consoles

• Booting

• Rebooting

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

[Image courtesy Digi]

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

...

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]

Page 6: Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow
Page 7: Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow
Page 8: Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow

The SolutionNeed 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

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

[Image courtesy Linksys]

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

Broadcom 5352

[Diagram courtesy Broadcom]

Page 11: Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow
Page 12: Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow
Page 13: Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow
Page 14: Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow
Page 15: Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow

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.

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

Course Objectives

• Principles

• Major hardware components

• Solve problems in Assembler

• Platform-specific knowledge for

later courses in O/S, networking, etc.

• Development environment

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

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

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

Assignments• Basic Assembler Operations

• I/O maniulation

• Functions and calling conventions

• Recursion and Activation Records

• Pointers and Memory

• Device I/O

• Interrupts

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

Future Work:

• Embedded Systems Course,• Internetworking Course,• IP telephony• Real-time constructs,• Provable guarantees,• World Conquest...

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