我有一个简单的引导加载程序,它初始化和准备 SDRAM。然后它从 Flash 加载一个应用程序并在 RAM 中的某个地址启动它。应用程序完成执行后,系统会重新启动。没有系统堆栈。
现在,我希望这个引导加载程序在应用程序完成执行后接收控制权。引导加载程序(我们称之为操作系统)还必须读取应用程序的返回码。
应用程序如何将值返回给调用操作系统以及调用操作系统如何取回控制权?我想,它可以使用中断来完成——操作系统有一个特殊的常驻函数和一些中断,每个应用程序只是在自己的执行结束时调用这个中断。但是如果没有系统堆栈,操作系统如何读取返回码呢?