【问题标题】:How its made such as digicoder vcr dvd players graphical user interfaces from poweron till user interface?从开机到用户界面,它是如何制作的,例如 digicoder vcr dvd 播放器图形用户界面?
【发布时间】:2011-06-03 06:36:13
【问题描述】:

我有 C/Java 知识,但我还不明白,一些硬件如何显示从开机阶段到用户界面的自己的屏幕/图形(它从不显示 linux/unix 启动屏幕,也不显示 Windows 启动屏幕)。

我的问题是,与 VCR/TV 数字解码器开机直到用户界面相比,它是如何制造的?我们是使用常规的 linux 内核还是有任何特殊的开源框架可以让我们开发这样的?

谢谢

【问题讨论】:

    标签: c embedded linux-kernel hardware kernel


    【解决方案1】:

    许多嵌入式系统使用u-boot 作为引导加载程序。 U-boot 提供了在 linux 内核启动时显示"splash" screen 的能力。

    【讨论】:

    • 这是一个很好的信息,我的运营商可以进一步学习和学习。我很想这样做,我真的越来越多地寻找这样的相关信息。
    【解决方案2】:

    设备将在 CPU 退出复位后立即启动引导加载程序(通常在上电后最多几毫秒)。如果需要,引导加载程序代码可以初始化显示并显示启动屏幕(与大多数现代非嵌入式 Linux 发行版具有图形 grub 启动屏幕的方式相同)。内核可以避免更改显示配置,并且在嵌入式设备上,内核可以快速启动到运行用户空间(至少是 initramfs),它可以接管显示并显示任何动画、进度条等,直到完整的 UI 完成准备好了。

    【讨论】:

    • 也就是说对于嵌入式PC我们使用U-Boot,对于一般PC/服务器平台我们可以使用Grub?但是Grub闪屏是怎么改的,和U-Boot一样吗?
    • 在网上搜索“grub splash customize”之类的内容,您会找到很多具体问题的答案。
    • 问题是“与 VCR/TV digicoders 相比......”,我怀疑其中许多甚至是那么复杂。并非所有嵌入式系统都具有操作系统甚至引导加载程序。这个答案并不笼统。
    • VCR 可能不运行操作系统,但许多高清电视实际上运行 Linux。
    【解决方案3】:

    Windows 或 Linux 等操作系统既大型又通用。他们必须初始化自己和硬件,其中包括询问所有连接的设备以​​实现“即插即用”。操作系统事先并不知道连接了哪些此类设备;每次启动时,它都必须“发现”硬件。自上次启动以来,连接的硬件甚至可能发生了变化。

    嵌入式系统通常没有大型操作系统(或者通常根本没有操作系统),并且它们通常具有系统已知的非常特定的硬件先验,因此不需要测试并确定此类设备的正确配置。这些设备通常也简单得多,并且通常是“片上”外围设备。

    也就是说,您的 PC 能够立即显示用户界面(但不是 Windows)。 BIOS 引导过程几乎立即将文本输出到显示器,而 BIOS 控制台是一个交互式用户界面,可在引导期间根据请求启动。上次我在现代 PC 上启动 MS-DOS 时,也只需几秒钟即可启动。

    并非所有嵌入式系统都“即时启动”,我的数字电视 PVR 甚至在启动时有一个进度条,但由于特定于应用程序,它的启动速度仍然比通用计算机快得多。另一方面,我的网络附加存储 (NAS) 设备是一个运行 Linux 的嵌入式系统,启动需要相当长的时间,因为除其他外,它必须启动文件系统、网络、USB 接口、打印服务器、DNLA 服务器、和网络服务器。事实上,通用计算机需要很多东西(但它没有显示,UI 是通过网络服务器呈现的)

    一些具有大型操作系统和复杂硬件的嵌入式系统可以通过从不真正关闭来实现“即时启动”,而是进入低功耗模式,系统状态保留在内存中,同时屏幕、WiFi、蓝牙等所有高功率设备都已关闭。

    【讨论】:

      猜你喜欢
      • 2010-09-05
      • 1970-01-01
      • 2016-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-23
      • 1970-01-01
      • 2016-06-18
      相关资源
      最近更新 更多