2014-04-11 31 views
0

我目前正在使用μIPTCP/IP库,以用于嵌入式系统。我的问题非常简单:我已经下载了该库的源代码,但是如何将其安装在我的设备上?我意识到我必须构建库,然后将其链接到我正在使用的C文件。基本上,我试图用一个ATMEL AT91SAM9G20处理器在一个FOX G20 V嵌入式板上(使用没有OS)建立这个库。是否有任何有用的提示/链接可能允许我在设备上构建库。作为奖励,如果任何人有一个想法如何修改库的具体到该平台以太网通信将是非常有益的。如何在嵌入式设备上安装μIP库

+0

答案将取决于您的目标平台,操作系统(如果有)以及您建立库的方式。需要更多细节。 – Clifford

+0

@Clifford该平台是带ARM处理器的FOX板。我不确定你是如何构建库的,但它是一个μIP0.9版本。 – Adam

+0

“ARM”并没有将其缩小得太多,“FOX板”也没有多于一个。零件号或链接将会有所帮助,但更重要的是,您是否拥有操作系统?理想情况下,您应该通过编辑和改进问题来回答问题,而不是在评论中添加信息。 – Clifford

回答

0

该库似乎已被纳入Contiki操作系统,但也可作为独立库使用。您也可以考虑原始来自同一作者的lwIP,但作为一个开源项目支持它自己的权利积极发展。

从本质上说,库不是“安装”的,而是简单地编译并链接到应用程序代码。假设你的目标没有操作系统或简单的RTOS内核,并且你使用的是托管交叉开发工具链,那么你通常会从源代码生成库(任何库 - 这不是特定的μIP)作为static-link library ,然后将其链接到您的应用程序代码以创建单片应用程序映像,然后将其加载到目标的ROM中。也可以像创建中间静态库一样直接编译源代码并将其链接到您的应用程序,就像您使用其他源代码一样 - 但这会延长您的应用程序构建时间,这可能会在开发过程中成为大型项目的问题。然而,在这种情况下,μIP(查看文档)有多个编译时间配置选项,如果您构建一个静态库,它将被修复;所以如果你设想这些事情经常变化,包括直接在你的应用程序项目中的源代码可能会更简单。

毫无疑问,您还必须编写,编译和链接特定于平台的设备驱动程序,以允许库在硬件上工作。我看了一下库文档,并定义了设备驱动程序接口。

在担心集成第三方库之前,似乎您可能需要更全面地熟悉嵌入式开发流程。

+0

'我只是做一个“scp”并将其复制到设备上?' - 如果只有.. :) –

+0

@MartinJames:事实上,看起来John还没有参与嵌入式开发过程,还没有问这样一个显然天真的问题。 – Clifford

+0

非常感谢克利福的详细回复。我知道我必须编写和编译特定于平台的设备驱动程序,以允许库在硬件上工作,但在那个时候我也遇到了困难。我正在使用某个处理器(ARM AT91SAM9G20),并且在文档中查询了用于以太网连接的寄存器地址(这是我必须添加的对象?)。但是我不知道如何为这样的实现添加一个c文件,以及将这个c文件添加到μIP库源代码中的位置。 – Adam