最近,我用C语言编写了一个客户机服务器程序,其中服务器运行在一个具有Linux操作系统的嵌入式板上,而客户机运行在Linux机器上。我所要做的就是为在机器上运行的客户端指定董事会的IP地址,以建立连接。
但是现在我做的基本上是一样的事情,但是服务器运行在一个没有操作系统的嵌入式板上。我仍然在服务器和客户端之间建立tcp/ip连接,但我使用的是一个名为uIP (microIP)的标准库。
有人告诉我,在嵌入式板(服务器)上运行的代码编写起来非常困难,因为它必须是特定于平台的,也就是说,我最好得到一个已经为平台设计的代码。不过,我的问题是:为什么当董事会没有操作系统时,在板上编写C文件来建立连接要困难得多,而在板上用操作系统进行连接是非常“容易”的。对于后者,我所做的就是在Linux机器上编写代码,然后用scp在OS板上传输代码,编译它并执行它。为什么在无操作系统板上不能做到同样的事情呢?我知道我无法在板上编译,但我不能交叉编译服务器在一台机器上,并将它加载到板上而不必担心其他的事情吗?为什么这种情况比我在操作系统板上工作要复杂得多呢?
发布于 2014-04-29 16:34:06
uIP库很可能只实现TCP堆栈。它仍然需要一种与硬件对话的方式。这就是操作系统的作用。设置DMA,管理缓冲区,服务中断(并与ISRs交互主线代码)。
如果没有操作系统,您就必须手动实现所有的功能。
https://stackoverflow.com/questions/23366643
复制相似问题