Porting 3.0 to Microblaze

This forum is dedicated to feedback, discussions about ongoing or future developments, ideas and suggestions regarding the ChibiOS projects are welcome. This forum is NOT for support.
Post Reply
kjellhar
Posts: 39
Joined: Sun Jul 08, 2012 10:44 pm

Porting 3.0 to Microblaze

Post by kjellhar »

Hi, I have a couple of FPGA projects that involves the Microblaze soft core from Xilinx. I really need a RTOS for these cores, and I don't like the available options. Chibios on the other hand, is the perfect choice for me. If I were to port Chibios to a new platform, I guess the best choice would be to start with the 3.0 version, even if it isn't released yet. I haven't seen any references to anyone trying to do such a port, but I guess there shouldn't be any technical issues as the Microblaze core is very similar to most modern 32 bit controllers.

There are a couple of unique issues that must be handled.

1. The MB core is very configurable. The are some 70 options for customizing the core. From the simplest minimalistic controller to a Linux capable system. FPU or not, you choose.
2. The peripherals are also fully configurable. You can add one timer and a 4 bit GPIO port, or you can add 20 UARTS and 12 SPI ports. You just pick what you need.
3. The memory system is flexible with quite much on chip memory available, but you can also add memory controllers for DDR ram, static ram, NAND flash and so on.

The point is that it may be difficult to span all the options. The solution would then be to start with a specific configuration to the the kernel up and running, and then build on that. The Xilinx tools generates XML files for each specific configuration which may be used as input to scripts that adapts the Chibios configs. But that is not the first priority.

The last thing, and the biggest problem, is that I am not that confident on my own programming skills for this kind of task. Is there anyone else that would like to team up and try this.

Now I'm off for dinner. More info to come.

Cheers,
Kjell
User avatar
Giovanni
Site Admin
Posts: 14892
Joined: Wed May 27, 2009 8:48 am
Has thanked: 1202 times
Been thanked: 996 times

Re: Porting 3.0 to Microblaze

Post by Giovanni »

Hi,

ChibiOS could run on all configurations, things like an MMU are not required. Porting the kernel would be the "easy" part, creating an HAL could take a lot of time considering the variability in peripherals.

I am quite busy with 3.0 and the book already, lets see if somebody is up for the task, I could support. BTW it is possible somebody already did it and we just don't know.

Giovanni
kjellhar
Posts: 39
Joined: Sun Jul 08, 2012 10:44 pm

Re: Porting 3.0 to Microblaze

Post by kjellhar »

The MB core can be set up both with and without an MMU. Which one is best for Chibios? I had the impression that Ch didn't use that feature even if the hardware supported in.

Regarding the HAL peripherals, porting the most common, like UART, Timers, SPI and so on should be manageable.
I guess there must be a minimum requirement for the setup to work. For instance, at least one Timer with certain capabilities is necessary for the Kernel tick (or whatever it is in the tickless 3.0 kernel), and an interrupt controller.

I am fully prepared to do much of the work, but I really need some help and advice. I have looked at the existing ports, and the AVR port looks fine, but the Cortex ports are very confusing to me.

Kjell
Post Reply