Goodix GR551x series development boards support OpenHarmony

As a single BLE lightweight device in the OpenAtom OpenHarmony (referred to as "OpenHarmony") community, Goodix GR551x series Bluetooth low energy development boards have successfully passed the compatibility test audit by the OpenHarmony Compatibility Working Group, and officially completed the integration into the OpenHarmony main branch (master branch).

Li Dongshan comes from Shenzhen Goodix Technology Co., Ltd. and is a research and development engineer in the BLE product development department. From September 2021, he will undertake the task of adapting the BLE SoC GR551x to the OpenAtom OpenHarmony ecosystem. Through the interview, he shared with us in detail the difficulties and experience in the project development process. The interview is organized as follows:

As a well-known technical expert in the field of development, why did you initially choose to join the OpenHarmony ecosystem and participate in open source co-construction? In your opinion, what is the most attractive point of the OpenHarmony project?

OpenHarmony is a distributed operating system for the era of full-scenario, full-connection, and all-intelligence. It is oriented to the Internet of Everything and fits well with the application direction of our BLE SoC products. We choose to join the OpenHarmony ecosystem and hope to participate in the joint construction of the OpenHarmony ecosystem. Contribute our part to promote the Internet of Everything and the prosperity and development of thousands of industries.

The OpenHarmony code follows commercial-friendly open source protocols such as Apache 2.0. All enterprises, institutions, and individuals can use the OpenHarmony open source code and combine their own advantages to develop operating system distributions and terminal products in various fields.

When did you form the OpenHarmony open source project team? After how long it took to complete the adaptation of the GR5515 Starter Kit development board, the core code has been merged into the trunk, and now it is elected as the "Code Monthly Contribution Star" by the OpenHarmony PMC Committee, which is really amazing! Is it convenient for you to tell us about this product, or this experience? Such a good effect has been achieved in such a short time, what are your "secrets"?

We started investing resources to adapt OpenHarmony in September 2021. After more than two months of hard work, our first Bluetooth LE lightweight device chip GR551x series SoC was adapted to OpenHarmony. On November 18, 2021, it successfully passed the OpenHarmony compatibility evaluation, and officially merged into it on January 7, 2022. OpenHarmony backbone.

insert image description here

(GR5515 Starter Kit adaptation code repository)

The ability to complete the development board adaptation work in a short time is not only due to the concerted efforts and cooperation of our ecological team members, but also thanks to OpenHarmony's complete development platform and tool chain, excellent code framework, and rich documentation resources. At the beginning, our warehouse was incubated on SIG. After two graduation defense reviews, the code was merged into the trunk. We are very grateful to the teachers in the community for their professional guidance and support.

You and your team must have paid a lot to develop such an excellent product and integrate the core code into the trunk. Could you please share with us the whole process of developing this product, including the early, middle and late stages, what work did you do specifically, and how much manpower and resources did you invest?

In the early stage of development board adaptation, we studied and investigated the OpenHarmony lightweight system, and began to try to adapt it after fully evaluating the feasibility. Everything is difficult at the beginning. I just started to adapt to the V1.1.2-LTS version. From setting up the development environment, getting familiar with the build system, and transplanting the first line of code, I have solved many problems and stepped on many pitfalls. Finally, after two weeks the system is running stably on our SoC.

In the middle of the project, we upgraded to V3.0.0-LTS. Version 3.0 introduced many new features. We started to adapt HDF driver, BLE interface, file system, low power consumption, etc., and passed the compatibility evaluation.

In the later stage of the project, we align with the main version of the master version, which introduces the advanced design concept of separation of board and soc. We have refactored and optimized the code framework a lot. After the code structure and specifications meet the requirements, the code will be merged into the OpenHarmony backbone.

Goodix is ​​very optimistic about OpenHarmony. We continue to invest manpower in this project. At present, we have basically completed the adaptation of the first BLE Soc GR5515 chip. In the future, we will continue to optimize and maintain the adapted code, and will also actively Participate in the joint construction of the graphic display of the lightweight system and the direction of BLE IoT.

Throughout the development process, what technical or other challenges have you and your team encountered? How are these problems solved one by one? In the process of solving these problems, what valuable experience or lessons have you summed up?

In the early stage of development, there were almost no guidance documents on the porting and adaptation of ARM-based lightweight systems on the Internet, and the construction environment was also very complicated. There were only 3 development boards for reference. Knowing how to add our code, but not knowing how to build it, was almost "dissuaded" by various difficulties encountered. Fortunately, OpenHarmony comes with a sample development board based on RSIC-V architecture. After in-depth study of its compilation framework and adaptation details, we ported the SDK to OpenHarmony and built it successfully.

OpenHarmony has very comprehensive support for ARM and RSIC-V architectures. Cortex-M core-related arch porting liteos-m has been done for us. Porting a new development board only needs to focus on compiling and building, BSP porting, and XTS testing. , Business function development.

What is your biggest surprise since joining the OpenHarmony ecosystem? Or what specific gains?

Since I joined the OpenHarmony ecosystem, I have personally felt that it has developed so fast. From the original version 1.0 iteration to the current version 3.0, each version will bring many practical updates, more and more development boards, and more and more documents. It is becoming more and more abundant, community exchanges are becoming more and more active, and it is becoming easier for developers to participate in co-construction.

I have also been continuously learning OpenHarmony. During the learning process, I have learned a lot of advanced concepts in code architecture, which has brought great help to my usual development work. I have always insisted on sharing my learning experience and open source porting cases through blogs .

What aspects of OpenHarmony do you expect to improve and provide more support in the future?

After more than a year of rapid development, OpenHarmony has done an excellent job in compilation and construction, code structure, documentation support, and community building. I personally look forward to the early popularization of OpenHarmony and its supporting IDE DevEco Device Tool, which will promote the adaptation and support of many development boards, which will help bring more convenient experience to developers and end customers.

OpenHarmony is still in the development and exploration stage. Many co-construction units and ecological partners are still unclear about the gameplay of open source projects, or how to start development. Could you please share with us an experience that you think is the most important or worth sharing?

The output of open source projects will provide developers with more learning paths, and light the way forward for many developers. I encountered many technical difficulties during the development process. When I couldn’t find help from others, I found inspiration and ideas by studying other people’s open source code. Open source is actually an efficient way to learn from each other and make progress together.

Open questions, you can speak freely, do you have anything else you want to tell everyone?

I am very grateful to OpenHarmony for providing us with such an excellent operating system. I am very glad that I can participate in the open source co-construction and contribute my own modest strength to open source. From the "ignorant" Xiaobai at the beginning, he grew up with OpenHarmony. Although the process was full of challenges, it also gained a lot. I really feel the rapid development of OpenHarmony, and hope that more companies and developers will participate in building a prosperous OpenHarmony ecosystem.

Guess you like

Origin blog.csdn.net/weixin_56796574/article/details/124960541