我有一个Windows嵌入式CE 6.0设备(带触摸屏和OTG,SDHC,RS232,USB,网络端口)。他的处理器类型是:飞思卡尔,ARM1136_Mx31。 有没有人可以安装linux以获得Linux设备? 有没有这方面的教程? 市场上有没有类似Linux的设备?感谢
答案 0 :(得分:5)
这不是那么简单。你处于“桌面”思维模式,BIOS,所有硬件和总线都非常标准,所以你可以拿一个操作系统并轻松地与另一个操作系统交换。
嵌入式设备,尤其是ARM设备并非如此简单。首先,没有BIOS,而是一个引导加载程序,它是在处理器通电时开始执行的代码。引导加载程序的工作是设置RAM,处理器等类似的东西,然后跳转到操作系统的起始地址。您当前的引导加载程序不太可能跳到适合Linux操作系统的正确位置。它可能是可配置的,但您没有给出任何指示引导加载程序的信息。
嵌入式硬件通常具有内存映射外设,CPLD等。这些设备的地址不是标准化的,因此您必须知道它们在内存映射中的实际位置,以便您可以配置操作系统以正确使用它们。它们也可能具有需要维护的中断,并且您必须知道要屏蔽的内容以及何时用于这些外设。这些知识通常需要非常详细的规范。
典型的路径是询问设备OEM是否为同一硬件提供Linux。很多人。如果他们不这样做而您仍然想要Linux,请转移到支持它的其他硬件。市场上有很多运行Linux的板卡和设备,并支持您列出的外围设备。您需要确定所需的拟合和形状因子。搜索引擎应该很容易找到至少十几个。
答案 1 :(得分:3)
如ctake所述,可能存在外部硬件和引导加载程序问题。此外,某些 iMX 处理器使用安全启动,很难/无法添加未授权的代码;根据iMX31手册的第7章,它支持HAB / RTIC,如果供应商正确烧断了保险丝,可能很难/不可能在该设备上加载未经授权的软件;我猜这是这种情况,即使付出了很多努力,你仍然无法加载另一个操作系统,除非你能Jail break设备。
对于此处理器(iMX31),有一个Linux配置。此外,OTG,SDHC,RS232,USB和网络端口也在SOC芯片中。即,它们内置于 iMX31 芯片中。所以这些驱动程序是Linux的标准配置。
可能有一些GPIO引脚设置了一个外部UART收发器(3V到+/- 12V)等,这是为这个板/机器定制的;此板的 IOMUX 配置也许很难。这就是问题所在。此外,使SDRAM运行的基本操作可能很复杂,而不是由Linux处理(它们由引导加载程序处理)。也可以通过保险丝自动设置SDRAM。
如果设备有一个标准的引导装载程序,如uboot等,那么获得一个功能强大的Linux将非常容易,但可能并非所有外围设备都能运行。此特定的 iMX 没有安全功能,因此您应该能够打开设备并探测/观察电气连接。但是,由于安全启动功能,它并不简单,甚至可能无法实现。