Talking about the IDE of RISC-V software development ecology

Software developers are a very important asset of a chip company. It is not enough to make a CPU. It is only successful if more software developers use this chip. Major international companies have a relatively large software team working on developer-oriented software tools and SDKs. --Dr. Zhang Xianyi: Why does RISC-V need to jointly build a software ecosystem?

foreword

At present, the RISC-V architecture is developing rapidly around the world. It took almost 5 years for RISC-V to complete the software ecosystem that ARM has accumulated in the past 20 years. However, compared with ARM, the RISC-V architecture still has a long way to go. The biggest problem facing it is that the ecosystem is not mature enough, which greatly restricts the application and user acceptance of RISC-V. At present, the development environments adopted by most RISC-V IP and chip manufacturers are based on the community open source Eclipse environment, GDB, OPENOCD, etc. The open source environment has bloated code, slow running speed, many bugs, and complex user configuration, which directly affects the chip experience of commercial users. On the other hand, with the rise of artificial intelligence and Internet of Things applications, many users need to define RISC-V instructions and architecture according to the application, and the existing open source environment cannot meet the requirements.

Today I will briefly talk about some software ecology related to RISC-V development, mainly about RISC-V development IDE, which is the integrated development environment. An integrated development environment (IDE) is an application program used to provide a program development environment, generally including tools such as code editors, compilers, debuggers, and graphical user interfaces. Integrated software development services such as code writing function, analysis function, compilation function, debugging function, etc.

Its importance is self-evident, and it can directly affect the ecology of RISC-V. Some RISC-V developers said that there are many types of IDEs, and it is really uncomfortable to use, mainly because IDEs are really uncomfortable to use, compared to Keil and IAR.

At present, the hardware ecology of RISC-V has been flourishing, while the software ecology related to RISC-V is still in the process of improving day by day, but the fragmentation is too serious. Here is a little bit of my personal knowledge, if there is something wrong, please criticize and correct.

At present, RISC-V software development IDE mainly has the following solutions.

0x01 eclipse - famous open source IDE

Fully open source, you need to integrate RISC-V Toolchains + eclipse + OpenOCD to build a development environment.

advantage:

1. Fully open source, free, and free IDE2. There are many companies, manufacturers, organizations, support and maintenance3. Scalable plug-in functions

shortcoming:

1. Huge and bloated, and requires a java runtime environment. The current version will automatically install a jre operating environment during the installation process. However, at present, if domestic users install it by themselves, the download will be very slow, and using a proxy is relatively much faster. If you don’t use the installed version, you can also use the version decompressed by the zip package. 2. Integrate many plug-ins. If there are too many plug-ins, the system will slow down. 3. You need to integrate your own compiler and emulator, package and release it to users

0x02 IAR for RISC-V - old commercial IDE

The IAR for RISC-V version is currently cooperating with some chip manufacturers for adaptation and authorization support. Mainly include: SiFive, Andes Technology, Nuclei (core technology), CloudBEAR, Syntacore, C-SKY (Pingtouge), GigaDevice (Zhaoyi Innovation), MicroChip.

advantage:

1. IAR has a very good compiler, which is well optimized for the size and speed of the code; judging from the ARM chip on the coremark running score list, the code performance of IAR is relatively higher. There will also be differences. However, the current version of IAR for RISC-V is not yet open for download, and there is no relevant evaluation yet. 2. There is an excellent Trace tool for debugging

coremark

IAR for RISC-V

shortcoming:

1. Pure commercial IDE requires authorization to use. It is relatively difficult for users to obtain authorization to use, especially the new version has updated the License authorization scheme. 2. RISC-V chips need to be debugged through its i-jet

0x03 Embedded Studio for RISC-V —— SEGGER's established supplier of embedded development tools

Embedded Studio is currently adapting to support the development of RISC-V chips from Andes Technology, Nuclei, GigaDevice, SiFive, Syntacore, and Western Digital.

advantage:

1. Free for individual users, full-featured, cross-platform support including Windows, macOS and Linux versions. 2. The editor is better than IAR 3. The startup speed is fast, and the startup speed of large projects is relatively fast 4. The debugging tools are rich, because it is a traditional embedded tool chain manufacturer, with J-link series tool support 5. Support RISC-V kernel

shortcoming:

1. Currently only supports J-link for debugging 2. The setting options are more troublesome

0x04 VS code - Rookie developer

In my opinion, VS code is an excellent open source cross-platform code editor, but because of its built-in standard Debugger Adapter Protocol, after various masters, some organizations, and some enterprises have developed their own unique features based on their needs. Debug plugin. As a result, VS Code has become a very competitive IDE, successfully crossing the border to grab the market of various IDEs. Because of its flexibility and compactness, it has quickly become the new favorite of developers from all walks of life. However, because its development and debugging functions are not built-in, it also brings certain thresholds for different development needs. Developers need to configure some development environments by themselves, which is not particularly friendly to novice Xiaobai. But there are still many big guys who are willing to toss.

advantage:

1. The software is fully open source and free, small in size, fast in startup, novel in interface, fast in update, and represents an emerging excellent editor 2. Numerous open source plug-ins 3. Can be used across platforms

shortcoming:

1. It is an excellent open source editor in itself. If you want to develop MCU, you need to develop plug-ins, or use the corresponding tool chain to configure it yourself, which is not very user-friendly. 2. Currently there is no general plug-in that supports RISC-V3 .Developing plug-ins by experiencing cortex debug, esp-idf, platformIO, etc., the experience is not very friendly; but it is also related to the capabilities, needs and habits of plug-in developers 4. Cortex Debug plug-ins, when the code is running in the bootrom, disassemble The window cannot display the current bootrom code unless manually disassembled. It executes to display the files in the current elf range, and the regs window cannot set the display format; these may be limitations of the Cortex Debug plugin.

0x05 KendryteIDE - IDE solution based on VS code packaging

Kendryte IDE is Jianan Kanzhi, based on the open source VS code editor, its own customized RISC-V chip IDE solution, and the overall style inherits VS code.

advantage:

1. Based on open source VS code, secondary development, completely independent and controllable, lightweight 2. Inherited the excellent editor of VS code and its advantages

shortcoming:

1. At present, it is not possible to directly use its IDE to debug other RISC-V chips. 2. It is necessary to re-adapt its own MCU for development. The development workload and time period are uncertain. 3. The degree of customization depends on the developer Ability

0x06 MounRiver Studio--RISC-V microcontroller (MCU) integrated development environment (IDE)

MounRiver Studio supports online update of various module components, such as SDK, OpenOCD, etc. You can upload components through the MounRiver component publishing platform for other users to download and use. IDE download address www.mounriver.com,

The solution based on Eclipse is doing well, and it supports quite a lot of chips. I hope to support more chip manufacturers, which is more optimistic.

0x07 Nuclei Studio IDE

Nuclei Studio IDE is an integrated development environment tool developed by Nuclei based on Eclipse for Nuclei's processor core products. Nuclei Studio IDE is based on eclipse, and the software is free of installation. So go directly to the Nuclei official website to download the corresponding version. I hope it will be more open. If an IDE wants to be powerful, it will not work on its own.

The IDE download address is DOCS & TOOLS_Nuclei-Best RISC-V Processor IP ,

0x08 CAMPELL IDE

This is a rising star. I hope to keep it open and let more manufacturers participate in the joint construction and make a good ecology. CAMPELL Information Technology Co., Ltd. is headquartered in Changsha, Hunan, with a branch in Beijing. The company was established in January 2019. As an emerging technology company, CAMPELL is the first information technology company in China that focuses on chip basic software and has a full set of tool chain development capabilities. It mainly provides chip integrated development environments, compilers, Linker, debugger, binary translation, high-performance math library, AI operator optimization and other services.

The release of CAMPELL IDE fills the gap in the field of chip integrated development environment in China. It is of great significance for improving the RISC-V ecology, promoting the application and promotion of RISC-V architecture, and promoting the development of domestic independent chips. Professional chip compilation and debugging, IDE, OS custom development, OpenCL, CUDA, AI compiler and programming framework custom development. 

Campbell

0x09 Jianchi CDK 

Jianchi CDK is quite powerful, and its concept is quite advanced. It is a development tool based on Pingtouge chip. Focusing on development in the field of IoT, it is an integrated development environment that will provide developers with all the compiler, debugger, and simulator tools of Pingtouge ioT packaged in an overall environment. Realize the overall concise interface and bring a new development experience. It just takes up a lot of resources, and there are more chips for Pingtouge, and it is not open enough. It would be better if it can support other ones.

Jianchi CDK is a professional integrated development environment for the IoT development field launched by Pingtouge. The integrated development environment revolves around Pingtouge's 1520 technical concept of "Get started in 1 day, prototype in 5 days, and product in 20 days", providing developers with A concise and unified graphical development interface helps developers to develop applications. The development environment currently supports the development of Pingtouge's self-developed instruction set C-SKY architecture and RISC-V architecture chips. The difference between the traditional embedded integrated development environment is that Jianchi CDK automatically connects with the chip open platform and automatically obtains the development resources on the chip open platform. On the open chip platform, a network component supermarket is included, which can provide various types of components. By connecting with the network platform, developers can quickly form their own solutions.

CDK download address:

 https://occ.t-head.cn/community/download?id=575997419775328256

0x0A Summary

It may be due to the freely changeable properties of RISC-V hardware that each manufacturer can have its own unique RISC-V architecture, so this also leads to the fact that the RISC-V compilation tool chain will be customized by each manufacturer, not like ARM. In this way, each manufacturer uses MDK, and only needs to make an SDK or Pack package and integrate it into MDK. Ever since, we have seen that the major RISC-V chip or IP companies on the market are all making their own IDEs and using their own tool chains. So why are each company making its own tool chain? I think there is still no embedded software interface standard similar to ARM's CMSIS to manage the underlying software interface in a unified way. unity . This is also a very important factor leading to the weak and fragmented RISC-V software ecosystem.

But I believe that there should be a standard similar to CMSIS in the future to complete the work of unifying the great cause .

So now it is a situation where the Eight Immortals cross the sea, each showing their magical powers. However, the development IDEs of most RISC-V manufacturers are still based on the open source  eclipse + gcc toolchains + openocd  solution to develop and debug chip products. Relatively speaking, this may be a relatively fast and relatively mature solution.

Of course, I personally guess that purely commercial third-party IDE and embedded tool suppliers like IAR and SEGGER also hope to be able to adapt to the development of various types of MCUs on the market and stabilize their own tool chain ecology, so SEGGER took the lead in launching The IDE that supports RISC-V development, but it may be because of the flexibility of RISC-V that the IAR version that fully supports the RISC-V architecture has not yet been officially launched.

Personally, if a RISC-V chip manufacturer needs to launch its own IDE as soon as possible, it may be faster to use eclipse + gcc toolchains + openocd, but the IDE is too big and bloated, and only supports its own chips. It would be great if it could be based on notepad-using QT to implement a small and fast, easy to use like Keil and support many chips. If the time is not urgent, self-developed is an option when commercial IDEs are still immature, and the degree of adaptation to their own chip development will be higher, but the wheels made by each are more fragmented. The RISC-V committee should stand up and unify the standard specifications, and copy CMSIS. Like ARM, there can be a unified Keil IDE that supports all manufacturers' chips in the ecosystem, and has a unified standard of CMSIS specifications, which lowers the threshold and enriches the ecosystem. There are also two directions for self-development. One is to do secondary development based on VS code or NDD editor, and refer to Jianan Kanzhi's plan; the other is to develop an own IDE from scratch, but because the custom debugger is also a time cycle comparison It is a long process, so there is a high probability that the bottom layer is still gcc + openocd. Of course, there are also unlisted  剑池 CDK development environments released by Ali Pingtou. They have the foundation of Zhongtian Micro, so they are their own fully customized IDE, and have their own debugger ck-link, which is the solution more mature manufacturers. Wouldn't it be nice to suggest that the RISC-V chip manufacturer coordination committee come together to maintain an IDE? Each chip manufacturer is responsible for providing chip driver packages, similar to the IDE mode of Keil5. Do we have to fight each other on our own? That's not good for ecology.

The RISC-V single-chip microcomputer is an opportunity for localized overtaking on corners, but the fragmentation is too serious, the driver package is not easy to use, and there is no easy-to-use domestic IDE. If it is as easy to use as stm32, it will be difficult to think about it. The IDEs of each company are fighting against each other, making wheels repeatedly, and there is no unified support for different chips from various manufacturers. The world of RISC-V lacks unified leadership and norms like ARM. It is necessary to form a joint force to avoid duplication and fight each other in order to expand the ecology, open up and build together to achieve a win-win situation. Developers have to change IDEs without choosing a chip? Do I have to re-familiarize myself with the operation?

Finally, I look forward to the development of IDE software for domestic single-chip microcomputers to develop in a more usable and easy-to-use direction and become better.

quote

Dr. Zhang Xianyi: Why does RISC-V need to build a software ecosystem?

[RISC-V] Domestic MCU IDE——MounRiver Studio (MRS) dual-core development project actual combat_MounRiver_Studio's Blog-CSDN Blog

[Interview] Dr. Zhang Xianyi: Holding an open source "big knife", how does RISC-V change from "low-end quantitative change" to "high-end qualitative change"? · Issue #I3J1XA · RV Junior (RV4Kids)/RVWeekly - Gitee.com

Building Pingtouge CH2601 Development Environment (CDK)_zhengyad123's Blog-CSDN Blog 

Guess you like

Origin blog.csdn.net/qq8864/article/details/130887222