Summary Preface The smallest #![no_std] program Memory layout A main interface Exception handling Assembly on stable Logging with symbols Global singletons DMA A note on compiler support Creating a custom target Supporting a new SoC