Getting Started with SOC/Linux and custom Peripherals

Hi all,

I am looking into getting started with HW/SW development on a Cyclone V SoC (I have the DE0 Nano SOC board for use in various applications), but I am not sure where to start. I have some experience with Nios II development (bare metal and RTOS, custom peripherals etc in quartus) on cyclone 2/3/4, but am new to the SOC+Linux thing.

Firstly, I am looking for a good introduction on how to get the board up and running myself. That is, build the system in QSys with some custom peripheral (PIO for example which drives some Led attached to the expansion header), modify an existing linux distro (I think updating the device tree is what needs to happen), and make a hello world application and blink the leds.

Is there somewhere on the wide net a tutorial similar to this available? There is so much information that I feel a bit overwhelmed; or the tutorials/documentation I have found so far do not cover the custom peripheral part. Pointers to any good books/… on the topic are also very much appreciated



A great place to start is the workshops located on this site. They support a number of boards, the DE0 Nano being one of them.


1 Like


Thanks for the reply. I have checked the documentation, and it is indeed interesting and helpfull. At the moment I am looking into getting a flashing LED peripheral working on my own, just to make sure that I understand all the details of the system. I am making progress here, thanks for that.

I will surely be posting follow-up questions soon, but I guess that they will fit better in a new topic.