ARM7TDMI(GameBoy Advance)上的操作系统相关操作和模式

3
我想知道GBA的CPU是否可以使用通常保留给操作系统的任何功能,以及如何实现这一点。例如,我想访问CPU明显支持的特权模式,但我不知道如何进入它(并修改要运行的代码),因为GBA从用户模式开始。此外,我想知道GBA是否具有ARM扩展功能之一,例如协处理器、MMU、MPU等。我在cowbite spec参考中读到特权模式确实存在,但没有进一步提及。
1个回答

3
没有什么特别的关于GBA,当你开始时就处于监管模式,你不需要做任何事情来到那里。对于任何ARM处理器,您可能会遇到相同的情况(没有运行操作系统,比如Linux,并且您是该操作系统上的用户在命令行上)。尽管ARM有一个带保护的用户模式,但您不太可能在嵌入式应用中看到它的使用。特别是像GBA中那样没有缓存、没有MMU和不支持很多协处理器的ARM7(ARMv4/ARMv4T)。

我想我回答了那个问题,它几乎没有什么,没有MMU,没有FPU,它也许记不住是否支持任何协处理器指令。这适用于大多数ARM7处理器,也适用于大多数ARM处理器。从这个角度来看,如果它运行完整的非uclinux Linux,例如BeagleBoard上的OMAPs、Open-RD和Plug计算机上的Marvell以及其他板子上的Caviums,那么它就有MMU,可能有缓存,还有外部内存控制器等等。如果它没有,如果它只运行uclinux或根本不运行Linux,那么它更倾向于嵌入式端,类似于微控制器或微控制器。GBA中的ARM7TDMI绝对属于这个类别。NDS上的ARM7和ARM9在很大程度上也是如此。

尽管多年来我一直推荐GBA作为ARM教育平台,但时代正在变化,闪存卡正在消失等等。看看售价20美元的stm32f4探索板(请参见我的GitHub空间中的stm32f4d repo),它运行在168MHz,具有缓存、FPU,还有其他微控制器很少有的东西。不确定您在寻找什么,但以那个价格获得的东西确实难以拒绝,当然您不会得到像GBA那样的按钮和LCD屏幕、图形硬件等等...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接