gcc - 如何将lwIP原始源代码包含到我的项目中?

标签 gcc arm atmel lwip

我目前正在使用 Atmel AT91SAM9260 评估板(基于 ARM 的微 Controller ,带有多个外设)实现一个简单的 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++ 代码不是应该只在我的堆栈上编译吗?

最佳答案

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 将您的硬件绑定(bind)到 LwIP
  • 设置sys_arch.h/sys_arch.c

关于gcc - 如何将lwIP原始源代码包含到我的项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10439880/

相关文章:

c++ - gcc/diab : keep unused function/sections

通过 gcc 编译并使用 -ltr 会导致错误,如何修复?

c - 第三方C静态库: Add -ffunction-sections -fdata-sections

python - 如何为基于arm的设备移植/嵌入python?

c++ - c++中内存的使用

c++ - 如何在不使用 to_string 或 stoi 的情况下将 int 转换为 C++11 中的字符串?

c - Eclipse:C 项目文件夹结构

c++ - 将位从一个数组转换为另一个数组?

c - 爱特梅尔微 Controller : difference between UBRR0H and UBRRnH

c++ - 静态库中的符号有时会链接到可执行文件中,有时不会