Product of the Week: PX5’s Industrial-Grade PX5 NET: BSD Sockets API for Demanding Applications
January 15, 2024
Networking applications are an integral part of our daily lives, supporting efficient communication, enabling entertainment and collaboration, and providing access to information. For today’s computing networks and internet, developers creating these applications can benefit from standardized interfaces that allow network code to be written seamlessly across various systems, like real-time operating systems.
The PX5 NET from PX5 is a networking solution built on the BSD Sockets API (Application Programming Interface) to provide developers with a networking framework that is designed to reduce costs, increase productivity, and enable the reuse of existing programs and libraries.
The PX5 NET in Action
The industrial-grade networking solution can be used in memory- and resource-constrained embedded IoT applications as it’s made up of only 6KB of Flash and takes up less than 2KB of RAM, as well as supporting a minimal ROM requirement for a TCP socket around 12K bytes.
Also designed to ease code safety and security worries, the solution provides developers with an optional run-time buffer overflow detection and packet structure, function pointer, socket, and stack verification. These functions utilize the Pointer/Data Verification (PDV) technology and central error handling provided by the company’s PX5 RTOS.
The portable PX5 NET also supports features such as extensions for zero-copy, sendto() and recvfrom() APIs, and memory control for data transmission and reception. The zero-copy APIs further enable near wire-speed running TCP traffic (947mbps gigabit Ethernet and 93mbps on a 100mbps Ethernet port - Cortex-M7). The PX5 NET solution also supports both blocking and non-blocking operations allowing developers to choose modes based on application requirements.
Getting Started with the PX5 NET
The previously mentioned support for the reuse of existing programs and libraries includes existing applications developed on embedded Linux, or ones that share the same source code between PX5 NET and embedded Linux. Additional features of the networking solution include the availability of the full source code with clear and accessible file and function names.
Written in ANSCI C conforming to C99 standard, the solution includes processor support with portability to any processor architecture that has C compiler support, including most embedded MCU and MPU architectures like ARM’s Cortex-M, Cortex-R, Cortex-A, and RISC-V architecture families. The solution also supports embedded development tools from IAR, ARM, and GCC. The PX5 NET product also supports royalty-free licensing.
- Product Page: https://px5rtos.com/px5-net/
- Press Release: https://px5rtos.com/wp-content/uploads/2023/11/PX5-Introducing-PX5-NET-Nov-2023.pdf
- Programmer’s Reference Card: https://px5rtos.com/wp-content/uploads/2022/12/PX5-NET-Programmers-Reference-Card.pdf