NanoXplore’s NG-ULTRA officially supported by OpenOCD
NanoXplore is proud to announce the official support of its latest product, the NG-ULTRA, in the open-source project OpenOCD. NG-ULTRA is a SoC FPGA designed for the space market, with an impressive radiation-hardened technology and outstanding performances. The SoC is made of four Arm® Cortex-R52 cores with clock frequencies up to 600 MHz and is capable of running a large array of Operating Systems.
To properly configure and debug NG-ULTRA’s SoC, OpenOCD appears as a great option. The tool is open-source and allows for easy software development and debugging. It is a great example of what the open-source community can create, and NanoXplore’s contribution is but one step in its strategy to push the community forward.
For the development, NanoXplore uses a NanoXplore “ANGIE” probe, equipped with a microcontroller and a FPGA. This advanced setup necessitates codes in both C and VHDL. This project has empowered ANGIE to simultaneously support two communication protocols over a single USB port. It can now establish a USB-JTAG connection with the NG-ULTRA chip (or any other supported chip) via OpenOCD and a USB-I2C connection with NG-ULTRA dev-board components using NanoXplore’s dedicated I2C Python library.
NanoXplore has contributed to the OpenOCD community by creating a driver and firmware for this probe. Building upon templates dating back to 2011, these programs underwent substantial development and refinement before being shared as open-source software following the approval of OpenOCD project maintainers. In addition to its driver and firmware, OpenOCD needs two configuration files: for the “ANGIE” probe and for the targeted chip “NG-Ultra”, this last one – NG-ULTRA configuration file – has been pushed to the project in precedent releases and can be used with other supported probes too.
More than simply a contribution to the community, it is also a success story from the internship program at NanoXplore. This project is the final-year project of a former intern from NanoXplore, now hired as an Embedded Systems Engineer, Ahmed BOUDJELIDA, who was in the master’s program in Electronic and Computer Systems (SESI) at Sorbonne University.
After successfully completing the project and having a positive internship experience at NanoXplore, Ahmed expressed deep appreciation for the work conditions and environment and described the experience as an “invaluable chapter of growth and learning”. Recognizing Ahmed’s skills and dedication during the internship, NanoXplore offered him a permanent position as an Embedded Systems Engineer.
Many thanks to Ahmed BOUDJELIDA for his efforts and work during his internship project, and to Antonio Borneo, one of OpenOCD maintainers for his help and positive feedback.
NanoXplore is a privately owned fabless semiconductor company, created in 2010. It is a French company, with international reach, with more than 80 R&D engineers in France working on developing radiation-hardened FPGAs qualified for Hi-Rel applications. With its sovereign supply chain, it has established itself as a clear leader in the Space and Defense market, but works on offering more of a commercial product as well. For more information: www.nanoxplore.com
To learn more about OpenOCD: https://github.com/openocd-org/openocd
The driver for ANGIE on: jtag/drivers: Add new driver for ANGIE USB-JTAG Adapter · openocd-org/openocd@94686ee · GitHub
The firmware of ANGIE (embedded C and VHDL) on: contrib/firmware: add new adapter ANGIE’s firmware/bitstream code · openocd-org/openocd@9c91ce8 · GitHub
The I2C bit-banging functionality on: contrib/firmware: add new i2c bit-banging feature to angie’s firmware · openocd-org/openocd@aee495e · GitHub
The NG-ULTRA configuration file, by Adrien GRASSEIN: tcl: ngultra: add target config file · openocd-org/openocd@5ffc745 · GitHub