gpt4 book ai didi

c - 在有操作系统和无操作系统的嵌入式设备上编程的区别

转载 作者:可可西里 更新时间:2023-11-01 02:52:01 27 4
gpt4 key购买 nike

我最近用 C 语言编写了一个客户端服务器程序,其中服务器在具有 Linux 操作系统的嵌入式板上运行,客户端在 Linux 机器上运行。我所要做的就是将开发板的 IP 地址指定给机器上运行的客户端以建立连接。

但现在我基本上做同样的事情,但服务器在没有操作系统的嵌入式板上运行。我仍在服务器和客户端之间建立 tcp/ip 连接,但我使用的是称为 uIP (microIP) 的标准库。

有人告诉我,将在嵌入式板(服务器)上运行的代码编写起来非常棘手,因为它必须是特定于平台的,也就是说,我最好获得一个已经准备好的代码该平台。但我的问题是:为什么在没有操作系统的情况下在板上编写 C 文件以建立连接要困难得多,而在有操作系统的板上这样做相对“容易”。对于后者,我所做的只是在Linux 机器上编写代码,然后用scp 将代码传输到OS 板上,编译并执行。为什么不能对无操作系统的板做同样的事情?我知道我不能在板上编译,但我不能在一台机器上交叉编译服务器,然后将它加载到板上而不必担心其他任何事情吗?为什么这种情况比我使用操作系统板要复杂得多?

最佳答案

uIP 库很可能只实现了 TCP 堆栈。它仍然需要一种与硬件对话的方式。这就是操作系统的用途。设置 DMA、管理缓冲区、服务中断(以及将主线代码与 ISR 交互)。

如果没有操作系统,您必须手动实现所有操作。

关于c - 在有操作系统和无操作系统的嵌入式设备上编程的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23366643/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com