Is mbed the low-level framework I've been looking for for my Zynq SoC?

17 Apr 2016

I am currently working on a robotics project in which I use several Xilinx Zynq SoC's (embedded on Enclustra dev kits much like the Zedboard). They handle peripheral communications over i.e. SPI and also the heavy lifting for motor torque control. Currently we are only using the ARM processor on the chip and have no plans in the foreseeable future to use the FPGA.

My team and I started working on a C++ framework to make our lives easier and the code more re-usable. However, from experience I know that re-inventing the wheel is not such a good idea (especially when you're not experienced enough with embedded software). I come from a PHP and Java background where there are a bunch of frameworks which make development a lot easier. I was expecting something similar for the embedded hardware world.

That's when we stumbled across mbed. Is mbed useful to us? We basically want an easy way to read our encoders and other peripherals. Another important thing is that our code lacks structure which we hope to find with some sort of framework (hopefully with mbed).

Ideas?

17 May 2016

Hi Nick,

I'm not intimately familiar with the mbed tools, but my team and I specialize in everything Zynq: http://snickerdoodle.io

You're definitely on the right track using Zynq for your robotics project - it's absolutely perfect for it. We actually have a motor control/robotics project we're working on right now (ROS in one ARM core, FreeRTOS + FOC in the other, I/Os running through the FPGA).

Happy to share any pointers with you if you're interested. For starters, you may wish to check out Xilinx's HLx tool for addressing C++/C-to-RTL conversion. We'll have some better tutorials on motor control and general Zynq development in the coming months.

-RC