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