Just as microcontrollers moved from 8 and 16bits to 32bits, so the move to 64bits is underways, says Segger in Germany.
Most IoT implementations currently use 32bit CPUs, but are starting migrating to higher performance 64bit CPUs, says the company. This is because the latest generation of SoCs and FPGAs with advanced peripherals (like SuperSpeed USB and Gigabit Ethernet) tend to also come with the more powerful 64bit CPU cores. Such peripherals are usually not available to the 32bit core devices currently deployed.
So the company has updated its embOS real time operating system to work on 64bit ARMv8 cores, while still running the same application software that is deployed on 32bit devices. This will ensure that the same deterministic real-time behaviour is maintained, while enabling even higher speeds to be delivered.
“Customers want to specify the latest SoCs or FPGAs for their systems, which are now integrating 64-bit processing resources,” says Til Stork, Product Manager for embOS at Segger. “In most cases we see companies switch to 64-bit not because they want to, but because they have to in order to benefit from state-of-the-art silicon featuring next generation interfaces. With embOS, the transition to using these more powerful chips is easy. At the same time, the application program remains streamlined, boots quickly and is fully under the control of the programmer.”
Memory footprint is just as important at 64bits as it is at 32bits. The 2500 byte kernel footprint of embOS enables the use of 64bit cores with just the on-chip RAM and cache memory as it also uses 162 bytes of RAM. This eliminates the need for external RAM, reducing the complexity and cost of designs.
The 64bit version of embOS has been run on an ARM 64bit processor core running on a 1GHz Xilinx Ultrascale FPGA on the Avnet Ultra96 board (above). The context switching time is 360 cycles, which is 360ns on the FPGA implementation. It