Padmarao
Some comments on my experience porting U-Boot for more custom targets. Last year, I ported U-Boot for Altera/Nios2 on
a modest size Cyclone FPGA. Why do this? I found all Altera related info on U-Boot did not work and discovered their
info was woefully out-of-date. E.g. their guidance (app notes) had not been updated to U-Boots Kconfig kernal like build style.
So, I had some time and thought I should dig-in. I git cloned U-Boot source from Denx.de. Most of the changes went smoothly
but I did get hung up some on U-Boot's expectation of flash memory. If I didn't define some flash - I had errors in compilation.
And the Kconfig menus did not give me any options concerning flash.
My HW target had no flash in my Nios2 SOC design - I ran
from internal FPGA memory and some external DRAM. But U-Boot just had to have flash memory defined. After scanning the code
base I concluded it wasn't going to be quick/easy to remove flash memory support. So, it took some hacking to fool U-Boot into believing
it had flash (aka hacking) but I did get it to boot and it runs well.
U-boot has nice features for debugging hardware e.g. I used it on a different target for compliance testing on GbE phys. But I was disappointed with the amount of effort required to port to a custom target. And customization and open-standards is what I find attractive in RiscV. BTW, this wasn't my own custom hardware but a Terasic Altera Cylcone Dev board. But I don't think U-Boot should be this difficult. A lot of vendors port it to their dev boards with kind of BSP (board-support-package) kind of approach. But seems like you end up with some 'vendor lock'. Where everything works great if only if you have their dev board. So don't be too surprised if you find yourself wading thru some U-Boot assembler to port to your custom RiscV target. And I seem to recall I'd have to modify Kconfig menus to add the flexibility I needed. Maybe that is standard practice. Or maybe my difficulty was only particular to Nios2 and U-Boot. But none-the-less, the Kconfig menu options were not general purpose for my needs.
Like someone had just put in just enough effort to support one dev board.
Just some feedback.
Dave W
On Tuesday, February 14, 2017 at 3:13:38 AM UTC-7, Padmarao Begari wrote:U-Boot port on RISC-V 32-bit is available on github.This repository contains the U-Boot port by Microsemi for RISC-V core on Smartfusion2 M2Sxxx devices. The Smartfusion2 M2S150 FPGA Advance Dev Kit is used for RISC-V U-Boot and the FPGA design available at RISCV-on-Microsemi-FPGA.RegardsPadmarao
--
You received this message because you are subscribed to the Google Groups "RISC-V SW Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sw-dev+unsubscribe@groups.riscv.org.
To post to this group, send email to sw-...@groups.riscv.org.
Visit this group at https://groups.google.com/a/groups.riscv.org/group/sw-dev/.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/sw-dev/e6f0b6e7-73a4-41b8-a34c-07f002b9ddc7%40groups.riscv.org.
To unsubscribe from this group and stop receiving emails from it, send an email to sw-dev+un...@groups.riscv.org.
To post to this group, send email to sw-...@groups.riscv.org.
Visit this group at https://groups.google.com/a/groups.riscv.org/group/sw-dev/.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/sw-dev/e6f0b6e7-73a4-41b8-a34c-07f002b9ddc7%40groups.riscv.org.
----
Maxim Sloyko