-
Notifications
You must be signed in to change notification settings - Fork 1
/
lwIP.lwIP.pdsc
403 lines (400 loc) · 22 KB
/
lwIP.lwIP.pdsc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
<?xml version="1.0" encoding="UTF-8"?>
<package schemaVersion="1.7.27" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.27/schema/PACK.xsd">
<vendor>lwIP</vendor>
<name>lwIP</name>
<description>lwIP is a light-weight implementation of the TCP/IP protocol suite</description>
<!-- web download link -->
<url>https://www.keil.com/pack/</url>
<repository type="git">https://github.com/Open-CMSIS-Pack/lwIP.git</repository>
<license>LICENSE</license>
<licenseSets>
<licenseSet id="all" default="true" gating="true">
<license title="BSD License for lwIP" name="LICENSE" spdx="BSD-3-Clause"/>
<license title="Apache 2.0 for CMSIS extensions" name="LICENSE" spdx="Apache-2.0"/>
</licenseSet>
</licenseSets>
<releases>
<release version="2.3.0" date="2024-05-10">
Release of lwIP in a PACK containing lwIP Version 2.2.0.
Added csolution based example for NXP EVKB-IMXRT1050 Board
Removed obsolete examples
</release>
<release version="2.2.0" date="2022-08-17">
Release of lwIP in a PACK containing lwIP Version 2.1.3.
Updated Ethernet Driver (support hardware checksum offload)
</release>
<release version="2.1.2" date="2020-07-13">
Removed robust mutex attribute from CMSIS-RTOS2 abstraction
</release>
<release version="2.1.1" date="2020-04-22">
Updated Ethernet Driver (semaphore protection for multi-threading)
</release>
<release version="2.1.0" date="2019-12-03">
Release of lwIP in a PACK containing lwIP Version 2.1.2.
Added support for FreeRTOS
Enhanced lwIP components:
- added Core variants (IPv4, IPv6, IPv4/IPv6)
- added RTOS abstraction layer (CMSIS-RTOS2 and FreeRTOS)
- added Ethernet Driver using CMSIS Ethernet Driver
- added Serial I/O Driver using CMSIS USART Driver
- updated lwIP option template file (lwipopts.h)
Updated examples
</release>
<release version="2.0.0" date="2018-02-21">
Release of lwIP in a PACK containing lwIP Version 2.0.3.
</release>
<release version="1.4.1">
Initial release of lwIP in a PACK containing lwIP Version 1.4.1.
</release>
</releases>
<conditions>
<condition id="Network Core">
<description>Network Core component</description>
<require Cbundle="lwIP" Cclass="Network" Cgroup="CORE"/>
</condition>
<condition id="Network Core with Driver Ethernet">
<description>Network Core with Ethernet Driver</description>
<require Cbundle="lwIP" Cclass="Network" Cgroup="CORE"/>
<require Cbundle="lwIP" Cclass="Network" Cgroup="Driver" Csub="Ethernet"/>
</condition>
<condition id="Network Core with Driver SIO">
<description>Network Core with Serial I/O Driver</description>
<require Cbundle="lwIP" Cclass="Network" Cgroup="CORE"/>
<require Cbundle="lwIP" Cclass="Network" Cgroup="Driver" Csub="SIO"/>
</condition>
<condition id="Network Core with Driver SIO and RTOS">
<description>Network Core with Serial I/O Driver and RTOS</description>
<require Cbundle="lwIP" Cclass="Network" Cgroup="CORE"/>
<require Cbundle="lwIP" Cclass="Network" Cgroup="Driver" Csub="SIO"/>
<require Cbundle="lwIP" Cclass="Network" Cgroup="RTOS"/>
</condition>
<condition id="Network with CMSIS-RTOS2">
<description>Network with CMSIS-RTOS2 OS abstraction</description>
<require Cbundle="lwIP" Cclass="Network" Cgroup="CORE"/>
<require Cbundle="lwIP" Cclass="Network" Cgroup="API"/>
<require Cclass="CMSIS" Cgroup="RTOS2"/>
</condition>
<condition id="Network with FreeRTOS">
<description>Network with FreeRTOS OS abstraction</description>
<require Cbundle="lwIP" Cclass="Network" Cgroup="CORE"/>
<require Cbundle="lwIP" Cclass="Network" Cgroup="API"/>
<require Cbundle="FreeRTOS" Cclass="RTOS" Cgroup="Core"/>
</condition>
<condition id="lwIP without RTOS">
<description>lwIP used without OS (NO_SYS)</description>
<deny Cbundle="lwIP" Cclass="Network" Cgroup="RTOS"/>
</condition>
<condition id="ETH Driver Single-file">
<description>Ethernet Driver: MAC with built-in PHY</description>
<require Cclass="CMSIS Driver" Cgroup="Ethernet" Capiversion="2.1.0"/>
<deny Cclass="CMSIS Driver" Cgroup="Ethernet MAC"/>
<deny Cclass="CMSIS Driver" Cgroup="Ethernet PHY"/>
</condition>
<condition id="ETH Driver Single- and Multi-file">
<description>Ethernet Driver: MAC with built-in PHY and MAC and PHY separate</description>
<require Cclass="CMSIS Driver" Cgroup="Ethernet" Capiversion="2.1.0"/>
<require Cclass="CMSIS Driver" Cgroup="Ethernet MAC" Capiversion="2.1.0"/>
<require Cclass="CMSIS Driver" Cgroup="Ethernet PHY" Capiversion="2.0.0"/>
</condition>
<condition id="ETH Driver Multi-file">
<description>Ethernet Driver: MAC and PHY</description>
<deny Cclass="CMSIS Driver" Cgroup="Ethernet"/>
<require Cclass="CMSIS Driver" Cgroup="Ethernet MAC" Capiversion="2.1.0"/>
<require Cclass="CMSIS Driver" Cgroup="Ethernet PHY" Capiversion="2.0.0"/>
</condition>
<condition id="CMSIS Driver Ethernet">
<description>CMSIS Ethernet Driver</description>
<accept condition="ETH Driver Single- and Multi-file"/>
<accept condition="ETH Driver Single-file"/>
<accept condition="ETH Driver Multi-file"/>
</condition>
<condition id="CMSIS Driver USART">
<description>CMSIS USART Driver</description>
<require Cclass="CMSIS Driver" Cgroup="USART" Capiversion="2.1.0"/>
</condition>
</conditions>
<components>
<bundle Cbundle="lwIP" Cclass="Network" Cversion="2.3.0">
<description>lwIP (Lightweight IP stack)</description>
<doc>lwip/doc/doxygen/output/index.html</doc>
<component Cgroup="CORE" Cvariant="IPv4" isDefaultVariant="true">
<description>Network Core (IPv4)</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_Network_Core /* Network Core */
#define RTE_Network_IPv4 /* Network IPv4 Stack */
</RTE_Components_h>
<files>
<file category="header" name="rte/config/lwipopts.h" attr="config" version="2.2.0"/>
<file category="include" name="rte/include/"/>
<file category="include" name="lwip/src/include/"/>
<file category="source" name="lwip/src/core/init.c"/>
<file category="source" name="lwip/src/core/def.c"/>
<file category="source" name="lwip/src/core/dns.c"/>
<file category="source" name="lwip/src/core/inet_chksum.c"/>
<file category="source" name="lwip/src/core/ip.c"/>
<file category="source" name="lwip/src/core/mem.c"/>
<file category="source" name="lwip/src/core/memp.c"/>
<file category="source" name="lwip/src/core/netif.c"/>
<file category="source" name="lwip/src/core/pbuf.c"/>
<file category="source" name="lwip/src/core/raw.c"/>
<file category="source" name="lwip/src/core/stats.c"/>
<file category="source" name="lwip/src/core/sys.c"/>
<file category="source" name="lwip/src/core/altcp.c"/>
<file category="source" name="lwip/src/core/altcp_alloc.c"/>
<file category="source" name="lwip/src/core/altcp_tcp.c"/>
<file category="source" name="lwip/src/core/tcp.c"/>
<file category="source" name="lwip/src/core/tcp_in.c"/>
<file category="source" name="lwip/src/core/tcp_out.c"/>
<file category="source" name="lwip/src/core/timeouts.c"/>
<file category="source" name="lwip/src/core/udp.c"/>
<file category="source" name="lwip/src/core/ipv4/acd.c"/>
<file category="source" name="lwip/src/core/ipv4/autoip.c"/>
<file category="source" name="lwip/src/core/ipv4/dhcp.c"/>
<file category="source" name="lwip/src/core/ipv4/etharp.c"/>
<file category="source" name="lwip/src/core/ipv4/icmp.c"/>
<file category="source" name="lwip/src/core/ipv4/igmp.c"/>
<file category="source" name="lwip/src/core/ipv4/ip4_frag.c"/>
<file category="source" name="lwip/src/core/ipv4/ip4.c"/>
<file category="source" name="lwip/src/core/ipv4/ip4_addr.c"/>
<file category="include" name="ports/no_os/include/" condition="lwIP without RTOS"/>
</files>
</component>
<component Cgroup="CORE" Cvariant="IPv6">
<description>Network Core (IPv6)</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_Network_Core /* Network Core */
#define RTE_Network_IPv6 /* Network IPv6 Stack */
</RTE_Components_h>
<files>
<file category="header" name="rte/config/lwipopts.h" attr="config" version="2.2.0"/>
<file category="include" name="rte/include/"/>
<file category="include" name="lwip/src/include/"/>
<file category="source" name="lwip/src/core/init.c"/>
<file category="source" name="lwip/src/core/def.c"/>
<file category="source" name="lwip/src/core/dns.c"/>
<file category="source" name="lwip/src/core/inet_chksum.c"/>
<file category="source" name="lwip/src/core/ip.c"/>
<file category="source" name="lwip/src/core/mem.c"/>
<file category="source" name="lwip/src/core/memp.c"/>
<file category="source" name="lwip/src/core/netif.c"/>
<file category="source" name="lwip/src/core/pbuf.c"/>
<file category="source" name="lwip/src/core/raw.c"/>
<file category="source" name="lwip/src/core/stats.c"/>
<file category="source" name="lwip/src/core/sys.c"/>
<file category="source" name="lwip/src/core/altcp.c"/>
<file category="source" name="lwip/src/core/altcp_alloc.c"/>
<file category="source" name="lwip/src/core/altcp_tcp.c"/>
<file category="source" name="lwip/src/core/tcp.c"/>
<file category="source" name="lwip/src/core/tcp_in.c"/>
<file category="source" name="lwip/src/core/tcp_out.c"/>
<file category="source" name="lwip/src/core/timeouts.c"/>
<file category="source" name="lwip/src/core/udp.c"/>
<file category="source" name="lwip/src/core/ipv6/dhcp6.c"/>
<file category="source" name="lwip/src/core/ipv6/ethip6.c"/>
<file category="source" name="lwip/src/core/ipv6/icmp6.c"/>
<file category="source" name="lwip/src/core/ipv6/inet6.c"/>
<file category="source" name="lwip/src/core/ipv6/ip6.c"/>
<file category="source" name="lwip/src/core/ipv6/ip6_addr.c"/>
<file category="source" name="lwip/src/core/ipv6/ip6_frag.c"/>
<file category="source" name="lwip/src/core/ipv6/mld6.c"/>
<file category="source" name="lwip/src/core/ipv6/nd6.c"/>
<file category="include" name="ports/no_os/include/" condition="lwIP without RTOS"/>
</files>
</component>
<component Cgroup="CORE" Cvariant="IPv4/IPv6">
<description>Network Core (IPv4/IPv6)</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_Network_Core /* Network Core */
#define RTE_Network_IPv4 /* Network IPv4 Stack */
#define RTE_Network_IPv6 /* Network IPv6 Stack */
</RTE_Components_h>
<files>
<file category="header" name="rte/config/lwipopts.h" attr="config" version="2.2.0"/>
<file category="include" name="rte/include/"/>
<file category="include" name="lwip/src/include/"/>
<file category="source" name="lwip/src/core/init.c"/>
<file category="source" name="lwip/src/core/def.c"/>
<file category="source" name="lwip/src/core/dns.c"/>
<file category="source" name="lwip/src/core/inet_chksum.c"/>
<file category="source" name="lwip/src/core/ip.c"/>
<file category="source" name="lwip/src/core/mem.c"/>
<file category="source" name="lwip/src/core/memp.c"/>
<file category="source" name="lwip/src/core/netif.c"/>
<file category="source" name="lwip/src/core/pbuf.c"/>
<file category="source" name="lwip/src/core/raw.c"/>
<file category="source" name="lwip/src/core/stats.c"/>
<file category="source" name="lwip/src/core/sys.c"/>
<file category="source" name="lwip/src/core/altcp.c"/>
<file category="source" name="lwip/src/core/altcp_alloc.c"/>
<file category="source" name="lwip/src/core/altcp_tcp.c"/>
<file category="source" name="lwip/src/core/tcp.c"/>
<file category="source" name="lwip/src/core/tcp_in.c"/>
<file category="source" name="lwip/src/core/tcp_out.c"/>
<file category="source" name="lwip/src/core/timeouts.c"/>
<file category="source" name="lwip/src/core/udp.c"/>
<file category="source" name="lwip/src/core/ipv4/acd.c"/>
<file category="source" name="lwip/src/core/ipv4/autoip.c"/>
<file category="source" name="lwip/src/core/ipv4/dhcp.c"/>
<file category="source" name="lwip/src/core/ipv4/etharp.c"/>
<file category="source" name="lwip/src/core/ipv4/icmp.c"/>
<file category="source" name="lwip/src/core/ipv4/igmp.c"/>
<file category="source" name="lwip/src/core/ipv4/ip4_frag.c"/>
<file category="source" name="lwip/src/core/ipv4/ip4.c"/>
<file category="source" name="lwip/src/core/ipv4/ip4_addr.c"/>
<file category="source" name="lwip/src/core/ipv6/dhcp6.c"/>
<file category="source" name="lwip/src/core/ipv6/ethip6.c"/>
<file category="source" name="lwip/src/core/ipv6/icmp6.c"/>
<file category="source" name="lwip/src/core/ipv6/inet6.c"/>
<file category="source" name="lwip/src/core/ipv6/ip6.c"/>
<file category="source" name="lwip/src/core/ipv6/ip6_addr.c"/>
<file category="source" name="lwip/src/core/ipv6/ip6_frag.c"/>
<file category="source" name="lwip/src/core/ipv6/mld6.c"/>
<file category="source" name="lwip/src/core/ipv6/nd6.c"/>
<file category="include" name="ports/no_os/include/" condition="lwIP without RTOS"/>
</files>
</component>
<component Cgroup="RTOS" Cvariant="CMSIS-RTOS2" condition="Network with CMSIS-RTOS2">
<description>OS abstraction layer (CMSIS-RTOS2)</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_Network_RTOS /* Network RTOS */
#define RTE_Network_CMSIS_RTOS2 /* Network CMSIS-RTOS2 */
</RTE_Components_h>
<files>
<file category="include" name="ports/cmsis-rtos/include/"/>
<file category="source" name="ports/cmsis-rtos/sys_arch.c"/>
</files>
</component>
<component Cgroup="RTOS" Cvariant="FreeRTOS" condition="Network with FreeRTOS">
<description>OS abstraction layer (FreeRTOS)</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_Network_RTOS /* Network RTOS */
#define RTE_Network_FreeRTOS /* Network FreeRTOS */
</RTE_Components_h>
<files>
<file category="include" name="ports/freertos/include/"/>
<file category="source" name="ports/freertos/sys_arch.c"/>
</files>
</component>
<component Cgroup="Interface" Csub="Ethernet" condition="Network Core with Driver Ethernet">
<description>Network Ethernet Interface</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_Network_Interface_Ethernet /* Network Interface Ethernet */
</RTE_Components_h>
<files>
<file category="source" name="lwip/src/netif/ethernet.c"/>
</files>
</component>
<component Cgroup="Interface" Csub="PPP" condition="Network Core with Driver SIO and RTOS">
<description>Network PPP over Serial Interface</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_Network_Interface_PPP /* Network Interface PPP */
</RTE_Components_h>
<files>
<file category="source" name="lwip/src/netif/ppp/auth.c"/>
<file category="source" name="lwip/src/netif/ppp/ccp.c"/>
<file category="source" name="lwip/src/netif/ppp/chap-md5.c"/>
<file category="source" name="lwip/src/netif/ppp/chap-new.c"/>
<file category="source" name="lwip/src/netif/ppp/chap_ms.c"/>
<file category="source" name="lwip/src/netif/ppp/demand.c"/>
<file category="source" name="lwip/src/netif/ppp/eap.c"/>
<file category="source" name="lwip/src/netif/ppp/ecp.c"/>
<file category="source" name="lwip/src/netif/ppp/eui64.c"/>
<file category="source" name="lwip/src/netif/ppp/fsm.c"/>
<file category="source" name="lwip/src/netif/ppp/ipcp.c"/>
<file category="source" name="lwip/src/netif/ppp/ipv6cp.c"/>
<file category="source" name="lwip/src/netif/ppp/lcp.c"/>
<file category="source" name="lwip/src/netif/ppp/magic.c"/>
<file category="source" name="lwip/src/netif/ppp/mppe.c"/>
<file category="source" name="lwip/src/netif/ppp/multilink.c"/>
<file category="source" name="lwip/src/netif/ppp/ppp.c"/>
<file category="source" name="lwip/src/netif/ppp/pppapi.c"/>
<file category="source" name="lwip/src/netif/ppp/pppcrypt.c"/>
<file category="source" name="lwip/src/netif/ppp/pppoe.c"/>
<file category="source" name="lwip/src/netif/ppp/pppol2tp.c"/>
<file category="source" name="lwip/src/netif/ppp/pppos.c"/>
<file category="source" name="lwip/src/netif/ppp/upap.c"/>
<file category="source" name="lwip/src/netif/ppp/utils.c"/>
<file category="source" name="lwip/src/netif/ppp/vj.c"/>
<file category="source" name="lwip/src/netif/ppp/polarssl/arc4.c"/>
<file category="source" name="lwip/src/netif/ppp/polarssl/des.c"/>
<file category="source" name="lwip/src/netif/ppp/polarssl/md4.c"/>
<file category="source" name="lwip/src/netif/ppp/polarssl/md5.c"/>
<file category="source" name="lwip/src/netif/ppp/polarssl/sha1.c"/>
</files>
</component>
<component Cgroup="Interface" Csub="SLIP" condition="Network Core with Driver SIO">
<description>Network SLIP Interface</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_Network_Interface_SLIP /* Network Interface SLIP */
</RTE_Components_h>
<files>
<file category="source" name="lwip/src/netif/slipif.c"/>
</files>
</component>
<component Cgroup="Driver" Csub="Ethernet" Cvariant="CMSIS Driver" condition="CMSIS Driver Ethernet">
<description>Ethernet Interface using CMSIS Ethernet Driver</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_Network_Driver_Ethernet /* Network Driver Ethernet */
</RTE_Components_h>
<files>
<file category="header" name="ports/cmsis-driver/config/ethif_config.h" attr="config" version="1.0.0"/>
<file category="header" name="ports/cmsis-driver/netif/ethernetif.h"/>
<file category="source" name="ports/cmsis-driver/netif/ethernetif.c"/>
</files>
</component>
<component Cgroup="Driver" Csub="SIO" Cvariant="CMSIS Driver" condition="CMSIS Driver USART">
<description>Serial I/O Interface using CMSIS USART Driver</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_Network_Driver_SIO /* Network Driver SIO */
</RTE_Components_h>
<files>
<file category="header" name="ports/cmsis-driver/config/sio_config.h" attr="config" version="1.0.0"/>
<file category="source" name="ports/cmsis-driver/sio/sio.c"/>
</files>
</component>
<component Cgroup="API" condition="Network Core">
<description>Network high-level wrapper API</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_Network_API /* Network API */
</RTE_Components_h>
<files>
<file category="source" name="lwip/src/api/api_lib.c"/>
<file category="source" name="lwip/src/api/api_msg.c"/>
<file category="source" name="lwip/src/api/if_api.c"/>
<file category="source" name="lwip/src/api/err.c"/>
<file category="source" name="lwip/src/api/netbuf.c"/>
<file category="source" name="lwip/src/api/netdb.c"/>
<file category="source" name="lwip/src/api/netifapi.c"/>
<file category="source" name="lwip/src/api/sockets.c"/>
<file category="source" name="lwip/src/api/tcpip.c"/>
</files>
</component>
</bundle>
</components>
<examples>
<example name="HTTP Server (Raw)" doc="httpd/README.md" folder="examples">
<description>lwIP HTTP Server Demo with Raw API</description>
<board name="EVKB-IMXRT1050_MDK" vendor="NXP"/>
<project>
<environment name="csolution" load="examples.csolution.yml"/>
</project>
<attributes>
<category>lwIP</category>
<category>Network</category>
<keyword>Web Server</keyword>
<keyword>HTTP</keyword>
</attributes>
</example>
</examples>
</package>