【问题标题】:ARM Assembly, first instruction uploadARM汇编,第一条指令上传
【发布时间】:2014-09-05 02:13:08
【问题描述】:

我正在尝试学习 arm assemly,这将是我真正可以说我知道的第一种编程语言。实际上现在我首先学习机器语言,因为它对我来说更容易。

我的问题是:如何将第一条指令加载到处理器中?

我要试验的编程平台是一个游戏男孩的进步。它有一个 arm7tdmi 处理器,我没有闪存卡,所以我将使用我的 arduino 通过链接端口(连接到芯片的 d、di、do、dc 引脚)上传代码。我只需要帮助弄清楚如何上传任何程序。除了 arduino 的东西和 gameboy BIOS 之外,不使用任何其他人的软件。

所以我的问题是: 如果我将 BIOS 芯片从 gba 中取出,我是否仍然可以通过这些引脚上传指令,或者一旦启动,处理器通常会在不同的地方寻找指令吗?还有它如何接受通信,我如何一次上传一条指令?

【问题讨论】:

  • 是的,处理器通常会在 BIOS 芯片中查找指令。而 BIOS 芯片的代码可能就是它知道如何查看链接端口的方式。因此,如果您卸下 BIOS 芯片,您将无法使用链接端口(或墨盒,或任何东西)...... BIOS 不是内置在处理器芯片中吗?

标签: assembly arm gameboy game-boy-advance


【解决方案1】:

使用该端口的机制称为多重引导,您的 arduinio 必须符合正确的协议才能使其正常工作,而且毫无疑问已经有人这样做了。

如果你对你没有任何好处,现在删除 BIOS

对于 gba,您必须在数据的开头有正确的签名才能让 bios 运行,然后它会在该内存中的第一个单词处运行您的第一条指令,您需要在那里跳转。

基本上,gba 是学习裸机的绝佳平台,但你正在做或谈论做它的方式并不是这种学习的最佳方式。

如果您想使用 gba,请使用 visualboyadvance 模拟器/模拟器并克​​服启动和运行您的第一个程序的障碍,这些程序可能需要在该环境中绘制像素(在 gba 上闪烁电池电量不足的 LED 是最简单,但没有闪存车,暂时不要打扰)。

对于视觉男孩前进,您可能需要也可能不需要正确的签名,但是那里有大量的信息和示例,可以显示标题需要什么才能工作和/或如果您离开正确的工具space 将修补您的二进制文件以使其工作。

对于真正的硬件,您不仅必须在该串行端口上获得计时和上拉等正确功能,而且您还必须拥有正确的标头才能运行多重引导程序。这绝对不是 gba 的初学者。找一个他们还在外面的闪存车,我最喜欢的一段时间是 ezflash 3 in 1 gba 大小的不是 ds 大小的,但你需要一个带有 ds 闪存车的 ds 来装载一些东西。 ds flash 购物车更容易获得(但 ds 开发有点困难但不是那么多)。还有一些 m3 或任何基于 sdcard 或 micro sd 卡的东西,您不需要花哨的程序员(他们的软件很难获得并且很快就会过时)。

您可以考虑购买 ds lite(旧款)和购物车,因为它们很容易买到

或者只是买一个 tiva c 启动板或其他 5 美元或 10 美元的手臂板

最好的办法是先免费使用指令集模拟器,并且您可以在阅读本文后几分钟内进行开发。在 gdb 中使用 armulator。

简短的回答你有错误的硬件来做你想做的事情。但是学习裸机编程的硬件非常好(只要你能得到一个使用起来不痛苦的闪存车)。我首选的解决方案是在闪存车上放置一个引导加载程序,然后将顶部端口转换为 8n1 串行端口,它需要一根链接电缆,将其切成两半以连接电线并将它们连接到 ftdi usb 到串行板。那么如果你发现我的或别人的,你只需要加载一次引导加载程序,并且很长一段时间不需要移除或重新编程墨盒。只需重启电源(如果添加重置按钮,则重置)并串行下载程序并运行它。

【讨论】:

  • 或者,如果你能找到启动舞会,你可以将其移除并用一个插座替换它,为舞会找一个舞会程序员(可能需要购买另一个舞会,这取决于将它关闭的条件,如果它是否是 otp),这些套接字不会持续很长时间。 arduino 不参与。
  • 还请记住,arduino 通常是 5V 而不是 3.3,并且在 gba 模式下,端口是 3.3v,因此如果您使用没有电压转换器的 5v arduino,您可能会对 gba 或 arduino 或两者都造成损害,并且因为我认为一个引脚在多重启动模式下是双向的,这让尝试进行电压转换时的生活更加痛苦,更容易购买 3.3v arduino。
  • 嗯,我正在考虑移除bios芯片,因为我对处理器本身更感兴趣,并编写我自己的bios。可能比它的价值更麻烦。是的,我知道有电压差,并且已经设置了分压电路
  • 我看不出 arduino 如何跟得上或有足够的引脚......只需购买 10 美元的板,如 tiva c 启动板或 stm32f0 或 f4 发现等。
  • realhotstuff 只剩下一种墨盒类型,它显示为 m3 minisd pro,售价 11 美元。
猜你喜欢
  • 1970-01-01
  • 2015-02-25
  • 2022-08-11
  • 2011-02-18
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 2013-06-12
  • 1970-01-01
相关资源
最近更新 更多