140 likes | 279 Views
Hardware Fundamentals. Key Hardware Components. Microprocessor Memory Peripherals (I/O) Bus “Glue Logic”. JCX Major Hardware Components. JStamp controller SRAM Flash JSimmBoard 2 RS232 Serial COM ports 1 JTAG port 1 IrDAport 1 Battery Pack Connector. JCX Major Hardware Components.
E N D
Key Hardware Components • Microprocessor • Memory • Peripherals (I/O) • Bus • “Glue Logic” Instructor: G. Rudolph, Summer 2006
JCX Major Hardware Components • JStamp controller • SRAM • Flash • JSimmBoard • 2 RS232 Serial COM ports • 1 JTAG port • 1 IrDAport • 1 Battery Pack Connector Instructor: G. Rudolph, Summer 2006
JCX Major Hardware Components • Motor Board • Control up to 4 motors through 1 port • Sensor Board • Connect up to 8 sensors through 2 ports • 4X Lego Boards • JSimm Backplane (Bus) Instructor: G. Rudolph, Summer 2006
RCX Major Hardware Components • H8379 processor • 32 KB RAM • IR Port • Battery Pack Holder • Motor Board • Control up to 3 motors • Sensor Board • 3 sensors • LCD Screen • 4 Buttons Instructor: G. Rudolph, Summer 2006
Bus? • A “Bus” is just a wire • connects components together • allows them to communicate • The JCX Backplane is just a bus (30-pin bus) • The Internet is just a bus • Serial and printer cables are “busses” Instructor: G. Rudolph, Summer 2006
Watchdog Timer • Usually implemented in hardware • The Aj-80 has one, don’t know about the H8379 • If the timer expires, the systems resets • Critical for many embedded systems • If system goes haywire, reset to known good state • Not part of desktop systems Instructor: G. Rudolph, Summer 2006
Other Hardware Pieces • Be aware that they are there • Be able to answer basic questions about what they are and their role in the system • Wait states • Jumper switches • DMA channels • PALs, FPGAs Instructor: G. Rudolph, Summer 2006
Programming is… An increasingly-high level abstraction for • Driving the correct signals • In the correct sequence • At the correct time • On one or more wires • To enable meaningful communication Instructor: G. Rudolph, Summer 2006
Software is… • An increasingly high-level abstraction of hardware • More Flexible • Cheaper to reproduce and distribute once built Instructor: G. Rudolph, Summer 2006
Interrupts • Stop the CPU and tell it to do something else • Programming interrupt handlers is just like any other kind of programming, with restrictions • Fundamental enabler of conditional behavior/execution Instructor: G. Rudolph, Summer 2006
Interrupts • Shared data/memory problems discussed in the text are a common source of problems in multitasking systems • How easy it is to solve them often depends on what software libraries you have to help • Languages such as C and Java differ in how interrupts are handled Instructor: G. Rudolph, Summer 2006
Interrupts At Application Level Abstract upward to • An Event Handler • A callback Method • Synchronization and mutual exclusion are “easy” to write in Java • Easy is not always appropriate Instructor: G. Rudolph, Summer 2006