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

Assembly ARM7TDMI(GameBoy Advance)上与操作系统相关的操作和模式,assembly,operating-system,arm,gameboy,gba,Assembly,Operating System,Arm,Gameboy,Gba,我想知道GBA的CPU是否可以使用通常为操作系统保留的任何功能,以及如何做到这一点。 例如,我希望能够访问cpu显然支持的特权模式,但我无法理解如何首先进入特权模式(并修改由其运行的代码),因为gba是在用户模式下启动的。 此外,我想知道gba有哪些arm扩展,如协处理器、mmu、mpu等 我在参考资料中读到,特权模式确实存在,但没有进一步提及。GBA没有任何特别之处,当你开始时,你处于监管模式,你不必做任何事情就可以到达那里。对于您可能遇到的任何ARM(不运行操作系统,例如linux,并且您是

我想知道GBA的CPU是否可以使用通常为操作系统保留的任何功能,以及如何做到这一点。
例如,我希望能够访问cpu显然支持的特权模式,但我无法理解如何首先进入特权模式(并修改由其运行的代码),因为gba是在用户模式下启动的。
此外,我想知道gba有哪些arm扩展,如协处理器、mmu、mpu等


我在参考资料中读到,特权模式确实存在,但没有进一步提及。

GBA没有任何特别之处,当你开始时,你处于监管模式,你不必做任何事情就可以到达那里。对于您可能遇到的任何ARM(不运行操作系统,例如linux,并且您是该操作系统上命令行的用户)也是如此

尽管ARM具有用户模式和保护功能,但您不喜欢在嵌入式应用程序中看到。当然不是ARM7(ARMv4/ARMv4T),它没有缓存,没有mmu,也没有GBA中那样的协处理器支持

我想我回答了这个问题,它没有太多,没有mmu,没有fpu,它不记得是否支持任何协处理器指令。这对于大多数ARM7来说是正确的,一般来说,大多数ARM都是如此。这样想,如果它运行一个成熟的非uclinux linux linux,比如beagleboard中的OMAP和open rd和plug computer中的Marvels以及其他板上的caviums,那么它有一个mmu,可能是缓存,一个外部内存控制器等等。如果它没有,如果它只运行uclinux或根本不运行linux,那么它更多的是在嵌入式端,微控制器或者微控制器之类的。GBA中的ARM7TDMI肯定属于这一类。NDS上的ARM7和ARM9也是大部分


虽然我多年来一直推荐gba作为ARM教育平台,但时代在变,flash Cart正在消失,等等。看看stm32f4探索板,20美元。(参见我的github空间中的stm32f4d repo)它运行168mhz,有缓存,有fpu,还有微控制器很少有的其他东西。不确定您想要的是什么,但很难以这样的价格放弃您所获得的,确保您没有gba提供的按钮、lcd屏幕、图形硬件等…

感谢您的回答和有用的链接。