Embedded systems design flow. Hardware-software co-design. Real-time software design. Real-time debugging techniques and tools. Hardware-software integration: interface design. Examples on the design of data acquisition and control systems. Laboratory.