【问题标题】:programming standalone 64 bit processor in x64 assembly在 x64 汇编中编程独立的 64 位处理器
【发布时间】:2013-07-27 15:47:20
【问题描述】:

我正在学习 x64 和 x86 架构以及汇编语言命令,但我想知道如何将我创建的程序实际烧录到独立处理器上。与 avrs 一样,mcu 是独立的,您购买一个编程器,您实际上可以通过将 lcd 和 gsm 模块连接到输入和输出引脚来创建自己的手机。使用 avr 将编程器连接到计算机的 USB 端口,然后一旦程序被烧录,MCU 就可以在不连接到计算机和屏幕的情况下运行。我的问题是如何在计算机外部对 x64 位处理器进行编程,以便将自己的液晶显示器或电子模块连接到它。请帮助我,因为我读过的所有内容都是在实际计算机上使用 x64 位程序集。还有像 x64 分线板。

【问题讨论】:

  • 典型的 x64 处理器带有大约 1000 个引脚的芯片。他们需要一个芯片组来实现 I/O 和内存总线。您将很难为它找到一个分线板。它们根本不是为嵌入式应用程序设计的。
  • 较新的芯片将北桥封装在 CPU 中。所以你只需要一个南桥作为外部部件(加上一些其他支持的东西——例如 RAM)。不过,有很多单板计算机可以被视为“x64 分线板”。
  • @carl norum 我认为你在我正在努力学习和完成的事情上是对的。您是否有任何示例说明我可以使用单板计算机完成什么,或者如何使用南桥将输入输出实现到我自己的外围设备(液晶显示器等)。如果说主板有点像单板计算机,我会不正确吗?我将如何开始为这些单板计算机之一进行组装编码,它们的成本是多少。

标签: assembly x86 64-bit


【解决方案1】:

您使用嵌入式 CPU 的经验让您误入歧途。你正在尝试做的事情是行不通的。

  1. x86 CPU 在“分线板”中不可用。他们需要运行的支持硬件太多了。您将获得的最接近的是标准计算机主板。

  2. 与您可能使用过的嵌入式 CPU 不同,x86 CPU 没有板载闪存 - 它们通常从板载闪存芯片(BIOS 芯片)启动,然后从硬盘驱动器或其他存储设备。 BIOS 非常特定于系统,最好认为是用户不可修改的。

  3. x86 系统通常没有很多易于使用的 I/O。大多数可用的总线往往采用难以使用的形式,例如 PCIe 或陌生的东西。

如果您想为 x86 开发,请为计算机开发,而不是为独立的 x86 系统(实际上并不存在)开发。如果您想为嵌入式系统开发,请选择其他东西。

【讨论】:

    【解决方案2】:

    您需要从 Intel 获取您的处理器的特定文档,但基本理念是芯片以 16 位实模式出现并从一个幻地址开始执行代码。通常,您以某种方式将某种类型的 EEPROM 设备连接到处理器,以将代码放在该魔术地址中。

    您编写并放入该 ROM 的 16 位实模式汇编代码然后可以根据需要将处理器模式更改为 32 位和 64 位模式。您还需要在此过程中进行 RAM 初始化。从我为英特尔机器开发引导 ROM 开始,我似乎记得英特尔更喜欢对其内存初始化代码保密。也许您找到的文档将帮助您设置所有这些东西,否则您需要与英特尔的销售/应用工程师交谈才能开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多