开发 ARM 处理器需要什么? [关闭]

2024-03-03

我熟悉 X86[-64] 架构和汇编。我想开始开发 ARM 处理器。但与桌面处理器不同的是,我没有真正的 ARM 处理器。我想我需要一个 ARM 模拟器。

http://www.armtutorial.com/ http://www.armtutorial.com/ say

需要 ARM 汇编编译器,最容易访问的是 ARMulator。

我想下载 Armulator 但发现http://forums.arm.com/index.php?showtopic=13744 http://forums.arm.com/index.php?showtopic=13744 that

它不单独出售。但您可以下载 RVDS 的评估版 - 其中包括 RVISS/ARMulator

我已经下载并安装了 RVDS,但它看起来非常复杂。我不知道我需要做什么编写 ARM 汇编并运行它.

  • 我想用汇编语言而不是C/C++ 语言编写。我没有 ARM 处理器。什么是好的模拟器?
  • 任何人都可以简短地提及一下吗?如何编写汇编以及使用 RVDS 进行汇编和模拟。请说清楚?
  • 还有其他替代方法吗。我买不起任何类型的板。
  • 我总是从书本而不是教程中学习。我正在关注这两本书:

    1. ARM 系统开发人员指南:设计和优化系统软件(计算机体系结构和设计中的 Morgan Kaufmann 系列) https://rads.stackoverflow.com/amzn/click/com/1558608745
    2. ARM 片上系统架构(第二版) https://rads.stackoverflow.com/amzn/click/com/0201675196

您有更好的建议吗?


环境选项

  • 安装 Linux 在QEMU http://www.qemu.org系统模拟器。它可以模拟各种基于 ARM 的芯片组。
  • 获取适用于特定 ARM 芯片组(例如掌上游戏机)的模拟器。 Gameboy Advance 玩起来很有趣。无现金大湾区 http://nocash.emubase.de/gba.htm and 视觉男孩高级 http://vba.ngemu.com/是两个很棒的GBA模拟器。

工具链

您将需要一个工具链。工具链是低级工具的集合,例如汇编器、链接器、编译器、归档器和一堆其他有用的东西。更重要的是,您需要一个跨工具链,这意味着工具链在一个系统上运行,但为另一种体系结构构建可执行文件。通过这种方式,您可以构建在 ARM 设备上运行的应用程序,但可以在基于 x86 的 PC 上运行。它更快更方便。

如果您运行 Windows,开发工具包 http://www.devkitpro.org/是一个相当不错的选择。对于 Unix/Linux/BSD 变体,您有CodeSourcery 的免费工具链 http://www.codesourcery.com/,以及 GCC 工具链gnuarm.com http://www.gnuarm.com/。还有其他几个,但您不需要更多选择。

文档

获取您选择的 ARM CPU 的规格:信息中心.arm.com http://infocenter.arm.com/。无论 CPU 是什么,您都需要的一份参考资料是《ARM 架构参考手册》(通常缩写为 ARMARM)。我正在托管一个旧版本,其中涵盖了 ARM 架构和指令集版本,最高可达 ARMv4T,here http://www.mechcore.net/files/docs/ddi0100e_arm_arm.pdf,但您可以在以下位置找到当前版本和更高版本信息中心.arm.com http://infocenter.arm.com/以及。如果您选择 GBA,请注意 CPU 是 ARM7TDMI,指令集版本为 ARMv4T。

ARMARM 包含常见的详细系统编码的提示和示例、如何处理某些设计问题的提示,以及 ARM 指令集、Thumb 指令集和协处理器(如 MMU、MPU、DSP 和FPU。

如果您坚持使用 QEMU,那么这几乎就是您所需要的,因为 Linux 内核可以处理所有事情。 QEMU 还具有用户模式仿真(带有 C 库存根)。如果您选择一款 GBA 模拟器,这里有一份关于 GBA 硬件和硬件寄存器的很好的参考:牛咬规格 http://www.cs.rit.edu/~tjh8300/CowBite/CowBiteSpec.htm。还要确保检查一下http://www.gbadev.org/ http://www.gbadev.org/.

任天堂 DS 可能也是一个选择,但我还不知道有什么适合该掌机的合适模拟器。祝你好运 :-)

编辑:这是我几年前编写的一些 GBA 代码的简单示例:GBA 颜色填充 240x160 16 位示例 http://www.mechcore.net/files/code/gba.s.txt

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开发 ARM 处理器需要什么? [关闭] 的相关文章

随机推荐

  • Jfreechart - 多个 XY 图表的任何选项(如多重饼图)?

    有没有类似于 multiPiePlot Chart 但用于 xy 图的东西 我有一个应用程序需要在一页上打印两个或三个 xy 图 我知道您可以将多个数据集放在同一个绘图上 但要求指定每个数据集必须是同一页面上的单独图表 是的 只需添加您的C
  • 无法使用 NGXS 更新存储来修补状态。我不断看到类型错误:无法冻结

    我正在使用一个基本的 Angular 11 应用程序 该应用程序已实现身份验证 使用 AWS Cognito 和 Amplify 我在这里想做的事情非常简单 我正在使用内置的 AWS Amplify 方法进行身份验证 我正在使用 NGXS
  • 如何确保在子任务失败时调用 Celery 和弦回调?

    我在 Celery 中使用 Chord 来进行回调 当一组并行任务完成执行时会调用该回调 具体来说 我有一组函数来包装对外部 API 的调用 我想等待所有这些返回 然后再处理结果并在 Chord 回调中更新我的数据库 我希望回调在所有 AP
  • 在 JSON 响应中编码 HTML 特殊字符的安全优势

    我最近收到第三方的建议 出于安全原因 对所有服务器响应中的 HTML 特殊字符进行编码 所以 gt x27 gt x26 e g id 1 name Miles O x27 Brien 问题 这样做是否能带来安全收益 或者只是一种偏执 gt
  • 是什么让 `async/await` 语句在 ES6 中顺序运行与并行运行?

    我已经浏览过该线程wait Promise all 和多个await 之间有什么区别 https stackoverflow com questions 45285129 any difference between await promi
  • Winform通过活动目录进行用户授权

    我遇到一种情况 在我的应用程序中执行任务之前 我使用以下代码来验证 AD 中的用户成员身份 using System Security Principal WindowsIdentity identity WindowsIdentity G
  • 在 ubuntu 中安装最新版本的 git

    我当前的 git 版本 1 7 9 5 我需要至少升级到 git 1 7 10 才能拥有git clone命令才能正常工作 I tried sudo add apt repository ppa git core ppa用于升级 但结果是这
  • 无法对 MobileFirst Console 6.3 使用 HTTPS

    我在 WAS Liberty 8 5 5 4 上使用 MobileFirst 6 3 我可以通过 HTTP 访问控制台 但无法通过 HTTPS 访问控制台 With HTTP With HTTPS 这是server xml 服务器 xml
  • 如何在 Android 中将 Spannable 转换为 AnnotatedString?

    我有一个使用常规 Android 布局的大型项目 我开始在这个项目上使用 compose 但是 我已经拥有一个大型代码库和许多处理 CharSequence 和 Spannable 的实用程序 例如 返回 Spannable 的货币格式化程
  • 如何让 R 读取我的环境变量?

    我在 EC2 Spot 实例上运行 R 我需要 R 来终止实例并在脚本运行后取消 Spot 请求 为此 我已将 请求 ID 设置为环境变量 bashrc我的计划是在脚本准备好后将以下代码调用到 R 中 system ec2 cancel s
  • 抑制 r 可反应基团聚合中的括号

    我正在使用 R 的可反应包来创建按特定变量分组的数据表 这将显示一个折叠的表格 可以展开该表格以显示子行 折叠的行标题旁边有一组括号 指示下面嵌套了多少个子行 是否可以抑制这组括号使其不显示 这会让我的用户感到困惑 这是一个例子 如果我运行
  • Vaadin 14 中列标题中的文本可以换行到网格中的多行吗?

    在上图中 我有一个Grid https vaadin com components vaadin grid在 Vaadin 14 中创建 请注意列标题 未换行的红线 我试图弄清楚是否有可能 并且安全 简单 标准 让列标签换行 例如 就像在
  • Unicode 字符在 IE6 中以不同大小呈现

    在 Web 应用程序中 我必须显示一个特殊的 unicode 字符 称为BLACK DIAMOND U 25C6 see here http www fileformat info info unicode char 25c6 index
  • 解析 webconfig 时 Windows Azure 间歇性身份错误

    这个问题在发布后似乎是随机发生的 该网站将正常工作然后砰的一声 我在解析 webconfig 时遇到此错误 我只是重新发布 它再次运行得很好 发布时 我选中了删除现有文件的框 这样就不会有垃圾 这是一个使用 net 4 5 和与 Yahoo
  • jQuery:如何判断选项卡/窗口何时获得焦点

    是否有一个事件我可以注册 每次用户单击一个选项卡时都会触发该事件 这意味着他们在我页面的选项卡上 单击另一个选项卡 然后返回我的选项卡 EDIT 我所说的选项卡是指浏览器选项卡 而不是 jQueryUI 选项卡 Matijis 在评论中提供
  • ReportLab:阿拉伯字符显示为黑色方块。

    我尝试了几个星期用阿拉伯语创建 pdf 报告 但失败了 我使用 ReportLab 和两个包来构建阿拉伯字符 即 bidi algorithm 和 arabic reshaper 在控制台中 字符组织良好 但在 pdf 中只有黑色方块 im
  • 为什么 Stream.allMatch() 对于空流返回 true?

    我和我的同事遇到了一个错误 这是由于我们假设空流调用allMatch 会回来false if myItems allMatch i gt i isValid do something 当然 假设而不阅读文档是我们的错误 但我不明白的是为什么
  • 从每个助手调用的组件中的产量

    这是我的组件模板的一部分 each displayResults li class if controller template yield else span class displayHelper controller searchPa
  • 为什么启动 2 个以上 AVD 仅在特定条件下有效

    我遇到了我不完全理解的奇怪问题 我尝试从终端启动 2 个以上 AVD 它甚至适用于 4 个 AVD 但仅在特殊条件下有效 我有一个用于 3 个 AVD 的代码 echo no ANDROID HOME tools android creat
  • 开发 ARM 处理器需要什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我熟悉 X86 64 架构和汇编 我想开始开发 ARM 处理器 但与桌面处理器不同的是 我没有真正的