Padmarao Begari April 2nd, 2017 U-Boot Port for RISC-V Padmarao Begari April 2nd, 2017 © 2017 Microsemi Corporation
© 2017 Microsemi Corporation Overview U-Boot – In General Microsemi RISC-V Soft Processor Microsemi RISC-V U-Boot Tool chain © 2017 Microsemi Corporation
© 2017 Microsemi Corporation U-Boot – In General Open source, cross-platform boot loader Source code available at http://git.denx.de/u-boot.git Supports many CPU architectures and platform types ARC, ARM, AVR32, Blackfin, m68k, Microblaze, MIPS, NDS32, NIOS, Openrisc, PowePC, Sparc, x86 adp-ag101p, at91sam9260ek, bf506f-ezkit, cobra5272, da8xxevm, el6x, mpc8641hpcn, pic32mzda, panda, ti816x, zynq-zc706…etc. © 2017 Microsemi Corporation
Microsemi: RISC-V Soft Processor Features Based on the E31 Coreplex Core by SiFive Supports the RISC-V standard RV32IM ISA Provides a single hardware thread (hart) Machine-mode privileged architecture Integrated 8KB I-Cache and D-Cache Two external AXI interfaces for IO and memory Support up to 31 programmable interrupts Debug unit with a JTAG interface Low-mid range Microcontroller applications © 2017 Microsemi Corporation
Microsemi RISC-V U-Boot Implementation RISC-V reset vector at 0x60000000 on SmartFusion2 device DRAM is on board DDR3 memory at 0x80000000 © 2017 Microsemi Corporation
Microsemi RISC-V U-Boot Implementation… The U-boot version 2016.9 is used for RISC-V port. Dynamic relocation option(-pie) with linker. RISC-V uses the RELA relocation format. Ported UART, SPI and Timer drivers. © 2017 Microsemi Corporation
© 2017 Microsemi Corporation Tool chain Eclipse based Integrated Development Environment Microsemi RISC-V SoftConsole v5.0. Cross compiler tool SiFive riscv32-unknown-linux-gnu-gcc v6.1.0 Host PC Ubuntu 14.04L JTAG Microsemi FlashPro5 Board Microsemi SmartFusion2 Advance Development Kit. Serial Terminal Tera term – Windows Minicom - Linux © 2017 Microsemi Corporation
Microsemi RISC-V SoftConsole SoftConsole v5.0.0.6 Download link available in github https://github.com/RISCV-on- Microsemi-FPGA/SoftConsole Supported platforms Ubuntu 14.04.5/ 16.04.1 LTS Desktop 32 and 64 bit CentOS/Red Hat Enterprise Linux 6.8/7.2 Desktop 32 and 64 bit OpenSuse Leap 42.1 [Gnome/Kde desktop] 64 bit Platforms yet to be supported Linux distributions/versions other than those listed above Microsoft Windows Virtual machines © 2017 Microsemi Corporation
Microsemi RISC-V U-Boot on GitHub Link https://github.com/Microsemi-SoC-IP/RISC-V_U-Boot Tested on Microsemi SmartFusion2 Advance Dev Kit Easy to use on other Microsemi platforms © 2017 Microsemi Corporation
© 2017 Microsemi Corporation Further Enhancement Launch Operating System © 2017 Microsemi Corporation
© 2017 Microsemi Corporation Conclusion Microsemi RISC-V Soft Processor Microsemi RISC-V U-Boot Implementation Tool Chain used © 2017 Microsemi Corporation
© 2017 Microsemi Corporation Any questions please © 2017 Microsemi Corporation
© 2017 Microsemi Corporation Bio Padmarao Begari has been working as Staff Engineer – Firmware at Microsemi SoC product group. He works on firmware drivers for Microsemi IP cores, system software and OS porting. He has more than 10 years experience in embedded firmware development. Padmarao holds a bachelor’s degree in Electrical and Electronics Engineering from Osmania University. © 2017 Microsemi Corporation