0

我们为我们的微控制器产品提供了一系列 PC 演示程序。这些程序通常连接到微控制器板上的 USB HID 芯片。USB 芯片充当通信桥,允许程序通过 SPI/I2C/UART 与微控制器通信。程序可以配置微控制器,并取回状态信息以显示给用户。

我们现在正在寻求使用单板 PC 构建一些独立的演示。我们希望尽可能多地重用我们现有的演示应用程序源代码。理想情况下,我们可以按原样运行它们。

有人对最好的前进方式有任何建议吗?基本选项似乎是 WinCE 或 XP Embedded 板。WinCE 板似乎消耗更少的电量,从电池寿命的角度来看,这将是一个优势。

我们现有的演示是用 Borland Builder 下的 C++ 或 Delphi 构建的。

提前致谢。

编辑:请参阅下面的答案以及来自电路板供应商的信息。

4

3 回答 3

1

Free Pascal/Lazarus 可以将某些形式的 Delphi 应用程序编译成 WinNCE/arm。甚至是视觉的。

于 2009-05-22T08:40:50.860 回答
0

WinCE 没有 Delphi 版本,因此您需要重写应用程序。这同样适用于 Borland Builder 的控件库。只有使用普通的 Win32 API,才能轻松地将应用程序移植到 WinCE。您也可能会遇到硬件访问部分的问题。串行端口驱动程序可能无法按原样工作。此外,您需要找到可以充当 USB 主机并提供​​ HID 驱动程序的 WinCE 板(这不是很常见)。

总之,我相信您使用 Windows XP Embedded 主板会更好。这些应该按原样运行您的应用程序。

于 2009-05-13T07:23:19.703 回答
0

作为更新和未来参考,我想我会在此处发布我们与 WinCE 板供应商讨论的结果。警告:我实际上没有尝试过任何这些。

最重要的是,没有一种直接的方法可以实现我们所希望的(即重新编译我们现有的演示应用程序以在 WinCE 下运行)。原因是 Windows 桌面风格中存在的通用 HID 驱动程序和标准 API 在 WinCE 中不存在。

要在 WinCE 中与 HID 设备通信,您需要实现自定义 HID 驱动程序。这需要支持一个接口,允许用户模式应用程序与驱动程序通信,并构建 HID 报告以发送到物理设备。由于此接口本身是自定义的,因此需要相应地更新应用程序代码。

WinCE 应用程序开发通常使用 Visual Studio 和 Microsoft 编译器完成。向我们推荐的方法是:

  1. 创建自定义 HID 类驱动程序。例如,这可能基于 Microsoft 键盘 HID 驱动程序。
  2. 创建一个用于与驱动程序对话的 API。
  3. 使用 .net 创建我们的 GUI 应用程序,并使用 PInvoke 与 API 进行实际对话。

所有这些令人头疼的最终结果是,为了避免与这种方法相关的时间和学习曲线,我们将选择运行 XP 的电路板。然后,我们可以直接使用现有的演示应用程序。权衡是我们将不得不忍受大大缩短的电池寿命。

于 2009-06-09T11:54:46.867 回答