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

我想知道GBA的CPU是否可以使用通常为操作系统保留的任何功能,以及如何做到这一点。
例如,我想访问 cpu 显然支持的特权模式,但我不明白如何首先输入它(并修改它要运行的代码),因为 gba 在用户中启动模式。
更重要的是,我想知道 gba 有哪些扩展臂,例如协处理器、mmu、mpu 等。

我已在 cowbite spec 中阅读提到特权模式确实存在,但没有进一步提及。

最佳答案

GBA 没有什么特别之处,启动时处于管理员模式,您无需执行任何操作即可到达那里。对于您可能遇到的任何 ARM 也是如此(没有运行操作系统,比如 linux,并且您是该操作系统的命令行用户)。

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

我想我回答了那个问题,它根本没有什么,没有 mmu,没有 fpu,它不记得它是否支持任何协处理器指令。对于大多数 ARM7,一般来说,大多数 ARM 都是如此。这样想,如果它运行一个完整的、非 uclinux、linux,比如 beagleboard 中的 OMAPs 和 open-rd 和插件计算机中的 marvells 以及其他板上的 caviums,它有一个 mmu,可能是缓存,外部存储 Controller 等。如果没有,如果它只运行 uclinux 或者根本不运行 linux,那么它更多的是在嵌入式端,微 Controller 或微 Controller 之类的。 GBA中的ARM7TDMI绝对属于这一类。 NDS 上的 ARM7 和 ARM9 大部分也是如此。

虽然多年来我一直在推荐 gba 作为 ARM 教育平台,但时代在变,flash carts 正在消失,等等。看看 stm32f4 探索板 20 美元。 (请参阅我的 github 空间中的 stm32f4d 存储库)它运行 168mhz,有缓存,有一个 fpu,并且带有微 Controller 很少有的其他东西。不确定您要找的是什么,但很难以您得到的价格放弃,确保您没有 gba 获得的按钮和液晶屏幕、图形硬件等...

https://stackoverflow.com/questions/10430801/

相关文章:

python - 从 python 脚本启动 python IDLE

activex - 是否有 MsStkPrp.dll 的 x64 版本

qt - 如何确保 QWidget 在屏幕外?

git - 为什么提交后文件保留在索引中?

ms-access - MS Access - 使用相同的记录 ID 转到另一个子表单

authentication - 你将如何实现 "view site as a different

django - 保存前更改表单实例 Django

xcode - 如何在 Xcode 分析和存档构建中设置 DEBUG 和 NDEBUG 宏?

xcode - Xcode 中的 "Canvas"选项在哪里?

sql - 在所有列中搜索并找到一个字符串值