PX5 NET is designed to target resource-constrained devices, suitable for deeply embedded environments. The minimal ROM requirement to run a TCP socket is about 12K bytes, and less than 5K bytes of RAM, making valuable RAM and ROM space available to the applications.
In addition to BSD-style APIs, PX5 NET offers zero-copy version of sendto() and recvfrom() APIs that eliminate a copy between the application and the PX5 NET internal logic. With the Zero-Copy APIs, PX5 NET can sustain near wire-speed running TCP traffic (947mbps gigabit Ethernet and 93mbps on a 100mbps Ethernet port - Cortex-M7).
Easy to use
All source file names and function names are easy to understand, and self-explanatory. The network interface defines 3 basic operations: (1) configure the device, transmit a frame of data, and accept a frame of data received by the network interface. Most HAL-layer drivers from semiconductor vendors already provide routines for these functionalities, making it easy to port PX5 NET to most MCUs and MPUs. On the application side, PX5 NET uses BSD-style APIs for setting up sockets, and to send and receive data. Most software developers are familiar with this type of network programming, greatly reducing the learning curve. Furthermore, developers now may re-use applications already developed on embedded Linux or share the same source code between PX5 NET and embedded Linux.
Safe and Secure
The code base passes static analysis test. In addition, optional packet memory protection guards against applications or network drivers from overwriting network buffers. Pointer Data Verification protects function pointers. These measures greatly reduce the vulnerabilities an attacker may leverage to launch remote execution attach.
Full Source Code
The PX5 NET is delivered with complete source code. The source code is designed to be easily understood with self-explanatory file names and function names. With full source code, developers are free to configure features suitable for their design.
All PX5 NET is written in ANSCI C conforming to C99 standard, which makes it highly portable to any processor architecture that has C compiler support. Therefore, PX5 NET supports most of the embedded MCU and MPU architecture, including ARM’s Cortex-M, Cortex-R, Cortex-A, RISC-V architecture families.
As with its processor support, the PX5 NET supports the most popular embedded development tools, including those from IAR, ARM and GCC.
PX5 offers royalty-free licensing for the PX5 NET. Like the product itself, the PX5 NET licensing is simple and easy to work with.
Always ready to help, the embedded software experts on the PX5 support team promise quick action on every request. Unlike many open source and even some commercial options, you’re not on your own when using PX5 NET.