Создание скриптов компоновщика ld
Мой студенческий проект в проедшем семестре был связан с разработкой под микроконтроллеры семейства Cortex M3 (архитектура ARMv7M). В отличие от x86 систем с общим адресным пространством и большой оперативной памятью (причем учитывая прогресс Grub'а в последнее время, достаточно просто сделать multi-boot совместимый образ, все остальное за нас сделает grub), в микроконтроллерах нужно распихивать данные между Flash и RAM явно посредством компоновщика.