“Rust is a very-high-performance alternative to systems programming languages such C and C++, which avoids the memory safety issues that plague those languages, and without the complexity and overhead of Java,” according to the firm. “It is the perfect programming language to run on very small and low-cost hardware, and was specifically designed from the outset with a focus on memory-safety. Because of the strict type-checking and borrow-checking, the Rust compiler is able to highlight potential issues early in the development process.”
The hardware was Nordic Semiconductor’s recently launched nRF9160 system-in-package, which has a multi-mode LTE-M/NB-IoT modem, GPS and an ARM Cortex-M33 processor – the latter has Arm’s ARMv8-M architecture including TrustZone hardware virtualisation for separating secure from non-secure code.
In trials, according to 42, its Rust application made secure encrypted connections to Amazon cloud services via O2’s LTE Cat-M network – and it will also supports NB-IoT when launched by Vodafone and other operators.
“42 Technology has specifically developed its Rust-based application to demonstrate an easier and faster way for companies to develop new products for cellular IoT, but without inadvertently compromising on security,” said in-house consultant Jonathan Pallant. “Our aim is to help eliminate the security vulnerabilities that too many people have seen, for example, with low cost home security cameras, smart hubs and with medical equipment such as insulin pumps.” Pallant is also a founding member of the Rust Embedded Working Group.
Applications are foreseen by 42 in smart industrial and consumer products – for example in real-time asset tracking and asset monitoring, utility metering and smart city technology.
Photo: Jonathan Pallant, consultant at 42 Technology, finalising the company’s Rust-based single chip IoT application. The Nordic hardware is just visible as the 16 x 10.5mm silver box at the centre of this end of the pcb.