Bus Cycles - Software folks need to understand how a microprocessor handles data on its busses. Here's the short intro. Chaotic Systems - The new science of chaos is fascinating in its own right, and may have important implications for designers of embedded systems. Coding ISRs - Handling interrupts is tricky at best. Here's a few suggestions.
Data compression can help a lot.
Convolutions - Convolutions are a really cool way to smooth and even differentiate data. You gotta check this out. Out - FIFOs are hardware analogs of a sort of reverse stack. Here's how they work. The C Blues - C is still a long way from what we embedded folks need in a language.