SylixOS 如何进行网络裁剪

SylixOS 如何进行网络裁剪

Q: 项目不需要使用 SylixOS 自带的 lwip 协议栈, 但是又没有找到相关的裁剪宏, 该怎么解决?
SylixOS 内部使用了很多开源的中间库(操作系统与相关库接口部分), 绝大多数库中都加入了配置宏
如: FAT, YAFFS 等, 但由于 lwip 文件过多, 这里没有使用配置宏进行裁剪. 推荐使用两种方法进行裁剪:
1、如果使用 IDE 环境, 直接将 lwip 协议栈(/net/lwip/src) 目录从工程中移除, 同时将LW_CFG_NET_EN宏 (net_cfg.h) 置为 0.
并且将所有 net_tools_cfg.h 中的工具都配置为 0.
2、如果单纯使用 Make 工具, 则需要修改 MakeFile 或 Config 文件将相关的目标移除即可.
当然如果硬件平台 ROM & RAM 空间够大, 则建议保留网络系统.


    • Related Articles

    • 怎样裁剪 libsylixos 第三方软件库

      Q: 怎样裁剪 libsylixos 第三方软件库. 起初 sylixos 加入第三方软件库是为了测试 sylixos 系统的稳定性与兼容性,后期作者觉得这些库非常有用于是就保留了下来。 几乎所有第三方软件库源码都在 SylixOS/appl 目录存放。当不需要这些组件时,只需要手动将代码移除即可,同时删除appl.h 中引用的相关头文件。
    • 系统配置宏 LW_CFG_PATH_AUTO_CONDENSE 有什么作用?

      Q:系统配置宏 LW_CFG_PATH_AUTO_CONDENSE 有什么作用? LW_CFG_PATH_AUTO_CONDENSE 可以使系统在处理 io 路径时, 首先进行路径压缩, 也就是说处理掉路径中的 . 和 .. 例如: 假设系统存在名为 "/DEVICE" 的设备. 当 LW_CFG_PATH_AUTO_CONDENSE 为 0 时, open("/DEVICE/b/c/d/../../.././x"); 函数最终会调用到驱动程序 xxxOpen 时路径将为: ...
    • SylixOS使用的网络协议栈是?

      Q:SylixOS使用的网络协议栈是? SylixOS使用的网络协议栈是 lwip 版本为 v2.1.0。 /** X.x.x: Major version of the stack */ #define LWIP_VERSION_MAJOR 2 /** x.X.x: Minor version of the stack */ #define LWIP_VERSION_MINOR 1 /** x.x.X: Revision of the stack */ #define ...
    • SylixOS TCP 数据段接收流程简述

      Q:SylixOS TCP 数据段接收流程简述 1、数据包最初由网卡驱动中断接收,通过调用 tcpip_input() 送入 LwIP 协议栈; 2、在 tcpip_inpkt() 中将 ip_input() 通过 mbox (本质为消息队列) 投递至线程 “t_netproto”,并在线程中执行 ip_input(); 3、在 ip_input() 中针对 IPv4 报文调用 ip4_input() 进行处理。针对 TCP 报文,tcp_input() 处理了基本的协议规则; ...
    • SylixOS TCP 数据段发送流程简述

      Q:SylixOS TCP 数据段发送流程简述 1、在 LwIP 协议栈中使用 TCP 控制块结构 struct tcp_pcb 管理 TCP 连接,使用 TCP 段结构 struct tcp_seg 描述 TCP 段。在 TCP 控制块中有两个队列 unsent 与 unacked 表示所有未发送的 TCP 数据段和发送了还未收到确认的 TCP 数据段。如下图所示。 2、TCP 连接发送数据由应用层发起,数据段构建后首先被缓存在 TCP 控制块的 unsent ...