Embedded 嵌入式应用程序

Embedded 嵌入式应用程序,embedded,hardware,opencv,Embedded,Hardware,Opencv,在过去的两个月里,我使用计算机视觉库(OpenCV)作为一个简单的应用程序工作 我希望直接从网络摄像头运行该应用程序,而无需操作系统。我很想知道我的应用程序是否可以烧成芯片,这样就不会有操作系统来运行它了 当然,这个过程可能很昂贵,但我只是好奇。你有关于这个的链接吗 ps:应用程序是用C编写的。我想你会发现这可能会发展成一个相当大的项目 很明显,实现一个独立的硬件解决方案来完成类似的工作是可能的。在我的脑海里,“s”可能会让你更快地到达终点线。但是你可能会找到一些土生土长的或者是最好的 我想强调

在过去的两个月里,我使用计算机视觉库(OpenCV)作为一个简单的应用程序工作

我希望直接从网络摄像头运行该应用程序,而无需操作系统。我很想知道我的应用程序是否可以烧成芯片,这样就不会有操作系统来运行它了

当然,这个过程可能很昂贵,但我只是好奇。你有关于这个的链接吗


ps:应用程序是用C编写的。

我想你会发现这可能会发展成一个相当大的项目

很明显,实现一个独立的硬件解决方案来完成类似的工作是可能的。在我的脑海里,“s”可能会让你更快地到达终点线。但是你可能会找到一些土生土长的或者是最好的

我想强调的两个谷歌链接:

  • 兔子:“
  • 牙龈炎:“

  • 是的。从理论上讲,将应用程序移植到PIC芯片是可能的

    但是…

    PIC芯片有C编译器,但是,由于微控制器的限制,您可能会发现编译器和微控制器本身对于计算机视觉工作来说太有限了,特别是如果应用程序的初始实现是在成熟的PC上完成的:

    • 在大多数情况下,你只能使用整数数学,如果不是全部的话(不能引用我的话,但是我们的开发者在他们的PIC应用程序中没有浮点数学,这会导致他们的多维数据集中产生许多脏话)。要么这样,要么需要连接到外部数学协处理器

    • 你必须弄清楚如何让PIC芯片与摄像头进行USB通信。我知道这是可能的,但它需要额外的硬件和研发时间

    • 如果你需要严格的时间控制, 您甚至可能需要对 汇编程序中的应用程序

    • 你必须把OpenCV的一部分移植到PIC芯片上,如果还没有的话。我猜不是

    • 如果您还不熟悉微控制器编程,您需要一些时间来了解台式PC编程和微控制器编程之间的差异,并且您必须在这方面获得一些经验。这可能不是你的问题

    基本上,考虑到PIC芯片的限制,最好从头开始重新编写整个程序。好的是,你已经做了很多设计工作。主要是硬件/移植工作

    或…

    您可以尝试使用一台小型嵌入式x86单板PC,可能在中,将您的操作系统/应用程序安装在CF卡上。这是一台真正的骨牌电脑,你只需添加你的软件。好的是,你可能不需要重新编写你的应用程序,除非它有荒谬的内存占用。嵌入式PC厂商开始推出基于1GHz Intel Atoms的主板,如果您需要更多帮助,您可以将子板连接到PC-104总线上。您将克服上面列出的所有限制,因为您使用的平台与开发应用程序的PC相当。它有USB接口!如果你做了一个彻底的成本分析,如果你喜欢更大的外形,你可能会发现使用基于SBC的系统比使用PIC芯片/微控制器的解决方案更便宜/更快

    在谷歌上快速搜索PC-104将发现许多SBC供应商

    或…

    这将是非常便宜的-只需获得一个现成的便宜,覆盖OEM操作系统,并在那里运行代码。黑客,但便宜,真的很容易-您的硬件问题将在一周内解决


    只是一些想法。

    我会使用比PIC更大的东西,例如一个小型32位ARM处理器。

    CMUCam


    我想你应该看看这个项目,它提供了价格合理的硬件和一个在其硬件上运行的图像处理库。

    我同意Nate的建议,看看Rabbit的核心模块


    此外,GHIElectronics有一个名为的产品,它运行.Net MicroFramework,内置USB主机/设备功能,以及一个丰富的库,它是.Net framework的一个子集。它在Arm处理器上运行,价格相当便宜(>85美元)。虽然不像单个PIC芯片那么便宜,但它确实在模块上预装了很多胶水逻辑。

    我不确定是否有任何网络摄像头可以支持。没错,但我计划添加PIC/芯片如果你要添加PIC微控制器,你应该看看有关PIC开发的链接。通过一些启动代码来初始化硬件,您应该能够做到这一点。当然,这取决于硬件的初始设置,以及它是否支持PIC?OpenCV是C++的吗?我同意。我永远不会用PIC芯片来做这件事。我碰巧有一些更重(16位)的DSPIC的URL和数据表。其中之一是:如果假设40MHz=40MIPs时钟,则平均基本fpu操作将花费略多于2us的时间。理论速度大约是500次。当然,同步内存在vision应用程序中有帮助。@Marco-True。我没有提到dsPICs.embeddedarm.com提供了一些便宜的解决方案,实际上非常棒。他们也运行完整版本的linux。电路板的大小与微控制器的普通开发工具包差不多。不,我不是嵌入式arm的员工,我是客户。