Имам прост буутлоудър, който инициализира и подготвя SDRAM. След това зарежда приложение от Flash и го стартира на някакъв адрес в RAM. След като приложението приключи изпълнението си, системата се рестартира. Няма системен стек.
Сега бих искал този буутлоудър да получи контрол обратно, след като дадено приложение завърши изпълнението си. Буутлоудърът (да го наречем OS) също трябва да прочете кода за връщане на приложението.
Как едно приложение може да върне стойност на извикващата ОС и как извикващата ОС си връща контрола? Предполагам, че може да се направи с помощта на прекъсвания - ОС има специална резидентна функция, свързана с някакво прекъсване и всяко приложение просто извиква това прекъсване в края на собственото си изпълнение. Но как кодът за връщане може да бъде прочетен от ОС, ако няма системен стек?