StarFive Releases StarFive StarStudio IDE, which supports both Linux and Baremetal Development

Late last year, StarFive Technology released “StarFive Dubhe Linux Software Development Kit (SDK)”, which is based on the Yocto Project. It provides a flexible toolset and development environment that supports global collaborations among embedded device developers, allowing them to share technologies, software stacks, configurations, and best practices used to create tailored Linux images. To ensure the best out-of-box customer experience, a Yocto-extensible SDK (eSDK) is also included. The eSDK eliminates the need to download large packages of Yocto. As such, customers will be able to recompile the entire system in a much shorter timeframe with just a few simple steps.

To further improve the development experience, StarFive is proudly releasing StarFive StarStudio. It’s an Integrated Development Environment (IDE) that supports both Linux and baremetal development. This GUI-based tool provides a familiar environment that encompasses code development, compilation, deployment and also debugging. StarFive Studio provides an intuitive user interface where users just need to select from the menu instead of remembering or referencing the Command Line Interface (CLI) steps from the documentation. This greatly reduces the ramp-up time especially for developers using IDE for other architecture previously. StarFive StarStudio only supports Linux host today, due to Linux SDK requirements.

For Linux development, StarFive StarStudio is built on top of Yocto eSDK fundamental. It provided a much shorter setup time which allow users to modify Linux code or OpenSBI code directly from GUI. Once code modification or addition is done, the user can just rebuild the full image or binaries using the drop-down menu. Since the StarFive Studio is already pre-setup to the right toolchain, you won’t be worrying about using the wrong variant such as using baremetal toolchain to build Linux code. StarFive StarStudio even integrated with QEMU which allows the user to test the binaries of the target while cutting the development cycle by ironing out any simple mistake made too. Once it’s good, the user can go ahead to build the bootable image such as the QSPI image that is ready to be booted at the final target. By default, the QSPI image is intended for FPGA run. But users can easily configure the OpenOCD config file for other targets too.

For baremetal, StarFive Studio upgraded the user experience from CLI based previously. Users can easily modify or create a new baremetal program through GUI. StarFive StarStudio created a template that consists of a C file and makefile, where customers can write the code directly without worrying the build setup. Besides that, users can easily browse various source codes of baremetal example programs that are shipped as part of baremetal SDK today. Once the build is completed, the user can leverage StarFive StarStudio debug interface to deploy the newly build ELF. It is also equipped with semihosting support which greatly reduces the complexity of the baremetal code too.

Last but not least, StarFive StarStudio also provided debug capability to deploy, debug and step through your code. User can find all the standard debug features such as memory view, register view and disassembly view that is common in the standard debugger. StarFive StarStudio also allows the user to debug code that runs under a single core CPU or even a complex multicore setup. All these features enable solution development much quicker and easier, which is critical for time to market. Please grab the StarFive StarStudio at GitHub - starfive-tech/StarStudio: StarFive StarStudio IDE is an Integrated Development Environment (IDE) that supports both Linux and baremetal development for StarFive Dubhe.. For more information about “StarFive StarStudio”, please visit RVspace Documentation Center

1 Like

Can you please help us with your code names? I think I’m getting tripped up between StarFive code names and their relationship to the SiFive codenames of the cores used in them. It’s unlikely that I’m the only one that’s confused and hoping for some clarity.

By my reading (ex: https://www.eetimes.com/starfive-starts-delivery-of-high-perofrmance-risc-v-cpu-ip-core-dubhe/) Dubhe contains V and H, neither of which are in U74 and are certainly not in 7100/7110. Announcement for Dubhe came along well after 7100/7110 were somewhat known in the industry. Articles like StarFive Dubhe 64-bit RISC-V core to be found in 12nm, 2 GHz processors - CNX Software also speak of 71x0 and Dubhe in different terms, but that article makes it sound more like Dubhe is core IP that’s an alternative to SiFive’s U74 (used in 71x0) instead of a different final chip family.

Times change, COVID derailed us all, language barriers are hard, and lots of articles are written by people not understanding what they write.

I think we all know 71x0 are U74’s of a vintage that do not include V and H and it’s not a 2Ghz part. We have to have something to look forward to in future parts, but we’re all really excited for 7110 to finally ship at this price/performance level.

I have thus been understanding that SiFive’s U74MC + StarFive peripherals + StarFive’s overall chip design == 71xx and the next generation of parts named Dubhe was SiFive’s own core design + (hopefully similar) peripherals + design/layouts. I didn’t think we’d seen names or customers of the Dubhe class of parts yet.

We’re now seeing “Dubhe” applied more and more to 7110 like we’ll see in VisionFiveR2 and Star64. A tool like StarStudio that worked only for a generation of chips that nobody outside the company has seen (yet) wouldn’t make much sense, so the above makes “Dubhe” sound like it at least includes 7110. If Dubhe doesn’t at least include 7110, the announcement would be out of place on a VisionFive forum.

Certainly, a tool like this that can cough up Device Tree, an OpenSBI, AND a Linux kernel based on you telling it what chip selects and interrupts and NIC chipset you’re using, for example, is super cool. That’s not quite my definition of bare metal (I couldn’t find things like register header files in this image, for example, for building non-Linux OSes) but that sounds awesome for board builders.

I’m trying to work out if “Dubhe” is actually 7110, a future chip CPU core, a future SoC, a family, or something else completely. How are Dubhe and 7110 related? Does Dubhe include 7110? Is Dubhe the entire SoC (timers, DMA, FPU, Vector unis, NNU, etc.) or is it the basic RV64G engine that fetches, decodes, and executes - making it a competitor/complementary technology to SiFIve’s U74 or, in 2023, more like the P600 or X280 (Or C920/Auntie or NX27V) classes of IP blocks?

Even 处理器内核 uses a definition of Dubhe that is definitely not JH-71x0.

芯片 doesn’t use the term Dubhe for either 71x0.

Can you please help us (me) understand more precisely what “Dubhe” encompasses, and how it’s related to 71x0? This isn’t a fishing expedition for NDA material, and I respect that you have lots of things you can’t talk about. I see mixed messages on whether Dubhe is an SoC, a core,or a family and whether the set of Dubhe and the set of JH-71x0 intersect in a subset, a superset, or the null set.

If you can point me (us) to an authoritative paper/book (in English, please) that more precisely nails these terms, that would be quite helpful, too.

Thank you!

1 Like

Hi,

Dubhe is the core ip desgined by StarFive, which has not yet been used in any JH7000 series product. The code names are different from SiFive cores since they are from different companies.

Currently we only have 2 chips, JH7100 and JH7110 been mass produced. These are using SiFive U74 cores.

1 Like

Thank you.

So StarStudio, for example, actually isn’t for JH71x0 all. Got it.