我想知道GBA的CPU是否可以使用通常为操作系统保留的任何功能,以及如何做到这一点。
例如,我想访问 cpu 显然支持的特权模式,但我不明白如何首先输入它(并修改要由它运行的代码),因为 gba 在用户中启动模式。
更重要的是,我想知道gba有哪些arm扩展,比如协处理器、mmu、mpu等。
我在cowbite 规范参考中读到特权模式确实存在,但没有进一步提及。
我想知道GBA的CPU是否可以使用通常为操作系统保留的任何功能,以及如何做到这一点。
例如,我想访问 cpu 显然支持的特权模式,但我不明白如何首先输入它(并修改要由它运行的代码),因为 gba 在用户中启动模式。
更重要的是,我想知道gba有哪些arm扩展,比如协处理器、mmu、mpu等。
我在cowbite 规范参考中读到特权模式确实存在,但没有进一步提及。
GBA 并没有什么特别之处,刚开始时您处于主管模式,您无需执行任何操作即可到达那里。对于您可能遇到的任何 ARM(即不运行操作系统,例如 linux,并且您是命令行上该操作系统的用户)也是如此。
尽管 ARM 具有带有保护的用户模式,但您不希望看到用于嵌入式应用程序的用户模式。当然不是 ARM7(ARMv4/ARMv4T),它没有缓存、没有 mmu,也没有像 GBA 中那样支持太多协处理器。
我想我回答了这个问题,它根本没有太多,没有 mmu,没有 fpu,它不记得它是否支持任何协处理器指令。这对于大多数 ARM7 来说都是如此,一般来说大多数 ARM。这样想,如果它运行一个成熟的、非 uclinux 的 linux,如 beagleboard 中的 OMAP 和 open-rd 和插件计算机中的 marvells 以及其他板上的 caviums,它有一个 mmu,可能有缓存,一个外部内存控制器等。如果它不运行,如果它只运行 uclinux 或根本不运行 linux,那么它更多的是在嵌入式端,微控制器或微控制器之类的。GBA中的ARM7TDMI绝对属于这一类。NDS 上的 ARM7 和 ARM9 大部分也是如此。
尽管多年来我一直在推荐 gba 作为 ARM 教育平台,但时代在变,闪存车正在消失等。看看 stm32f4 发现板 20 美元。(请参阅我的 github 空间中的 stm32f4d 存储库)它运行 168mhz,有缓存,有一个 fpu,还有微控制器很少有的其他东西。不确定您在寻找什么,但很难以那个价格放弃您所获得的东西,确保您没有获得 gba 获得的按钮和液晶屏幕、图形硬件等...