【问题标题】:windows embedded CE device to linux [closed]windows 嵌入式 CE 设备到 linux [关闭]
【发布时间】:2013-04-04 12:40:30
【问题描述】:

我有一个 Windows 嵌入式 CE 6.0 设备(带有触摸屏和 OTG、SDHC、RS232、USB、网络端口)。他的处理器类型是:飞思卡尔,ARM1136_Mx31。 如果可以安装 linux 以获得 Linux 设备,有人吗? 有什么教程可以做到这一点吗? 市场上是否有类似的 Linux 设备?谢谢

【问题讨论】:

    标签: linux arm windows-ce


    【解决方案1】:

    事情没有那么简单。您处于“桌面”思维模式中,其中 BIOS、所有硬件和总线都是非常标准的,因此您可以使用一个操作系统并轻松地与另一个操作系统进行交换。

    嵌入式设备,尤其是 ARM 设备并不是那么简单。首先,没有 BIOS,而是一个引导加载程序,它是在处理器通电时开始执行的代码。引导加载程序的工作是设置 RAM、处理器和类似的东西,然后跳转到操作系统的起始地址。您当前的引导加载程序不太可能跳转到 Linux 操作系统的正确位置。它可能是可配置的,但您没有给出任何指示引导加载程序是什么。

    嵌入式硬件通常具有内存映射外设、CPLD 等。这些设备的地址不是标准化的,因此您必须知道它们在内存映射中的物理位置,以便您可以配置操作系统以正确使用它们。它们也可能有需要服务的中断,您必须知道要屏蔽什么以及何时屏蔽这些外围设备。这些知识通常需要非常详细的规范。

    典型的方法是询问设备 OEM 是否为相同的硬件提供 Linux。许多人都这样做。如果他们不这样做,而您仍然想要 Linux,请转移到支持它的其他一些硬件。市场上有许多运行 Linux 并支持您列出的外围设备的板和设备。您需要确定您想要的合身度和外形尺寸。搜索引擎应该很容易找到至少十几个。

    【讨论】:

      【解决方案2】:

      正如ctake 所说,可能存在外部硬件和引导加载程序问题。此外,某些 iMX 处理器使用安全启动,因此很难/不可能添加未经授权的代码;根据 iMX31 手册的第 7 章,它支持 HAB/RTIC,如果供应商正确熔断了保险丝,则可能很难/不可能在此设备上加载未经授权的软件;我猜是这种情况,即使付出了很多努力,您仍然无法加载另一个操作系统,除非您可以Jail break 设备。

      对于这个处理器 (iMX31),有一个 Linux 配置。此外,提到的外围设备,OTG、SDHC、RS232、USB 和网络端口,都在 SOC 芯片中。即,它们直接内置在 iMX31 芯片中。所以这些驱动程序在 Linux 中是标准的。

      可能有一些 GPIO 引脚可以设置外部 UART 收发器(3V 至 +/- 12V)等,这是为该板/机器定制的;此板的 IOMUX 配置也可能很困难。这将是问题所在。此外,像让 SDRAM 运行这样的基本事情可能很复杂,并且不由 Linux 处理(它们由引导加载程序处理)。 fuses 也可能自动设置 SDRAM。

      如果设备具有标准引导加载程序,如 等。那么获得功能正常的 Linux 将非常容易,但可能并非所有外围设备都可以正常工作。这个特殊的 iMX 没有安全功能,因此您应该能够打开设备并探测/观察电气连接。然而,由于 安全启动 功能,它一点也不简单,甚至可能是不可能的。

      【讨论】:

      • 对于尝试这样做的人,CE 下的任何类型的监视器/调试器/jtag 都可以探测诸如 IOMUX 配置之类的东西。这些寄存器的直接转储可以作为 Linux 配置的基础。 DDR 控制器有一些静态寄存器,但可能会有动态行为。如果您可以在该区域进行捕获和执行,则可以获得寄存器值,例如用于 Windows 的 usb 嗅探器等。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 2011-02-12
      • 1970-01-01
      相关资源
      最近更新 更多