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