70 likes | 151 Views
Software Toolchains. Motivation. Desktop Programmers typically write code on the same kind of machine on which it will run Edit, compile, link, run, debug all on the same machine Embedded programs typically run on specialized hardware, different from the desktop
E N D
Motivation • Desktop Programmers typically write code on the same kind of machine on which it will run • Edit, compile, link, run, debug all on the same machine • Embedded programs typically run on specialized hardware, different from the desktop • Processors not the same as those used in workstations • Requires a different development process Instructor: G. Rudolph, Summer 2008
Basic Development Process • Environment consists of Host (workstation) and a Target (embedded hardware) • Edit, compile, link code on the Host • Run on the Target • Debug (ideally) partly on the Host and Partly on the Target Instructor: G. Rudolph, Summer 2008
Lejos Development Process Operations on the Host Operations on the Target Java Source Files Java SDK (Eclipse) Download via the USB or BT Eclipse Plugin Java Class Files nxjc nxj NXT Brick Binary File(s) Instructor: G. Rudolph, Summer 2008
Downloading Software • Brick has programmable 256KB Flash, 64 KB RAM • Programs persist in Flash • Simple process using the command line, or Eclipse Plugin Instructor: G. Rudolph, Summer 2008
Toolchain Concepts • What is a toolchain • What are the tools in a typical toolchain and their roles (what they do) • How and where the Java tools we are using fit into that process • Effective toolchains stay out of the way • What level of tool control you care about depends on your role in a project Instructor: G. Rudolph, Summer 2008
Targets • Volatile memory vs. non-volatile memory • PROM, ROM, Flash • Emulators, ICE-s, Monitors • How you load software onto a target • Startup and reset conditions • Choices for programmable boards Instructor: G. Rudolph, Summer 2008