2

我目前正在使用 Atmel AT91SAM9260 评估板(具有多个外围设备的基于 ARM 的微控制器)实现一个简单的 tcp/ip 服务器。

Atmel 给出的一些示例包括基于 uIP 的 Web 服务器,但 uIP 无法处理所需的吞吐量。

我发现基于版本 1.1.1(或略高于)的相同示例对我来说已经足够了。

最近我开始遇到堆栈问题,我找不到使用更新版本的 lwIP 的 AT91SAM9260 的端口。为了构建项目,我使用 Eclipse+Yagarto+gcc 作为开发堆栈。

在将最新版本 1.4.0(可在http://download.savannah.gnu.org/releases/lwip/ 获得)的源代码替换到我的项目中并尝试修复所有编译错误之后,我放弃了。

源代码的结构非常相似,但显然需要进行太多调整。

是否有关于将原始源代码适应我的堆栈的具体指南?C++ 代码不应该只在我的堆栈上编译吗?

4

1 回答 1

2

在 LwIP 的 wiki http://lwip.wikia.com/wiki/Projects_that_use_lwIP我确实看到了对 LwIP 1.3.0 贡献端口的引用。这可能是一个起点,至少对于 ethernetif.c 文件而言。

尝试回答第二个问题:C(不是 C++)应该可以编译,但仍然必须(至少):

  • 设置 lwipopts.h 以确定如何使用 LwIP
  • 提供 ethernetif.h/ethernetif.c 将您的硬件绑定到 LwIP
  • 设置 sys_arch.h/sys_arch.c
于 2013-03-16T21:29:00.953 回答