IOT era talk about driver/MCU software technology

The advent of the 8048 marked the extension of the control dedicated CPU MCU (Microcontroller Unit), and the PC8088, which is the cornerstone of the Internet, appeared only in 1979, three years later. Since 1979, PC CPUs have evolved from 16-bit, 4.77MHz clocks, single cores to today's 64-bit, common 3GHz clocks and multicores. The MCU, which has a long history of CPUs than the PC, has been stopped in 32 bits for more than 10 years. Compared with the chip, MCU software technology is progressing more slowly. Today, PC software development has been developed from factory to the whole society. MCU software technology still stays in the era of individual heroes.

Although the application field and market size of the MCU are much larger than that of the PC, the progress of the MCU software technology is still very slow. The reasons include that the fragmentation of the application domain leads to the abstract difficulty of the public technology, and the development power is difficult to focus. The slow progress of software technology directly affects the development of MCU chip technology, which in turn hinders the development of software technology. With the penetration of the Internet of Things (IoT) in people's lives, the price of high-performance MPU has dropped close to the price range of MCU. Internet software technology has been immersed in the MCU field, and the time has come to accelerate the development of MCU software technology.

From irregular to OOA and OOD

The pre-analytical design of the MCU software will be transformed from OUI and OOD without rules. Traditional MCU software development, its analysis design and implementation is usually done by a closed team, or even a person. Despite the consistent and tacit understanding of the internal team members, the project implementation is agile. But the entire development process is carried out in the same team, and almost no collaborative development outside the team is involved, so the analysis design is simple, even just verbally. With the advent of the IOT era, it is difficult for a closed single team to adapt to today's development. Collaboration outside the team is an inevitable trend of MCU software development. However, the lack of analysis and design in the early stage will make the problem more complicated.

Introducing the mature methodology of PC software development into the field of MCU software is a shortcut to promote the development of MCU software technology. OOA (Object Oriented Analyzing) and OOD (Object Oriented Design) are the embodiment of system engineering theory in PC software technology. They are the important theoretical basis for supporting the industrialization and socialization of software technology. OOA and its OOD separate layer and class from the application by layering and classifying the application, so that the collaborator can develop the software without knowing the application. Beginning in 1997, the author began to explore the application of OOA and OOD in MCU software development based on system engineering theory, and applied preliminary results to the development of relay protection devices in 2005. The method is to hierarchically classify and protect the relay protection devices in four different MCUs, and implement them in a team that does not have independent development of relay protection devices. The development time and development investment are far lower than those experienced in the same industry at that time. development team. This series of relay protection devices has been used for more than 10 years, and it is not only easy to maintain and upgrade, but also has not been competitive.

Programming method from FP to OOP fusion

The convergence of programming methods from FP to OOP is another trend. In the programming method, the war between FP (FuncTIonal programming) and OOP (Object Oriented Programming) has never stopped. The author believes that it is meaningless to discuss FP and OOP from the application background, because FP emphasizes elite technology, which is the embodiment of the comprehensive personal ability of the developer. It is a delicate and beautiful art, and the characteristics of art are difficult to copy; OOP is a technology for implementing software development and socialization. The shortcoming is that the CPU and its resource utilization are low, but the high-speed development of the chip industry makes up for its shortcomings. MCU software technology is one of the representatives of FP, but it is really helpless. Because until 2000, the mainstream MCU also stopped 8-bit, 256Byte internal RAM and 12MHz clock, software development under such low resources, not only FP programming methods, but also the integration of C and assembly, it has surpassed technology, Sublimation is an art.

After 2000, OOP has become the mainstream technology for PC software development. Now the mainstream MCU core ARM cortexM3/M4 is close to the PC resource configuration in 2000, and the conditions for implementing OOP in MCU software development are already available. The successful experience of PC software development proves that implementing OOP is the threshold for reducing software development, and is an effective measure to move software development from elite mode to factory and socialization. It is also the only way to address the shortage of software developers. The author has realized the true meaning of OOP through the zeroing of the OOP programming language JAVA two years ago. Then personally program the application of OOP technology in MCU software development, and introduce the experience of OOP in MCU software development to colleagues and colleagues, so that current MCU software developers can expand their thinking and free them from the closed thinking mode. Socialization, its effect is also very obvious.

Separation and maturity of software development

The middleware is mature, driving the separation of driver software and application software development. In the past, due to the limitations of MCU performance and resources, MCU software development and hardware development are inseparable. Driver software is the bridge between MCU hardware and software. It is the most important part of MCU development. Because the driver software involves software and hardware technology, and requires developers to have both hardware and software knowledge, driver software development is the most difficult part of MCU development, and it is the main cost of MCU development.

CMSIS (Cortex Microcontroller Software Interface Standard) appeared in 2010 with the ARM cortex M series MCU. CMSIS is ARM's ARM Cortex-M family of MCU software interface standards developed by ARM, which abstracts MCU peripherals from software. Since then, MCU driver software has been provided by MCU manufacturers or MCU development software vendors, which has reduced the difficulty of MCU development and improved the reusability of MCU software.

Ethernet, WiFi and Bluetooth are the main communication standards. The MCU that is the front end of the IOT must also have information interaction capabilities. Protocol software such as Ethernet, WiFi, and Bluetooth have matured, standardized, and professionalized over the years. It is necessary to implant them into MCU software as the public technology of MCU. They are packaged into middleware. When MCU software is developed, only the integration of these middleware into the MCU software with the support of hardware enables the MCU to realize flexible information interaction with the Internet. For example, ucTCPIP, CMX-TCP/IP, IwIP, etc. are Ethernet middleware commonly used in MCU software development. In the development of the MCU, you do not need to understand the details of TCP/IP. You only need to integrate these middleware into the MCU software to implement the Ethernet function. In addition to the above Internet information functions, there are a large number of other middleware, such as MCU graphics middleware emWin, USB middleware ecc-USB and so on. At the same time, KEIL, the mainstream platform for MCU software development, integrates its own middleware with third-party integration on the same development platform. When developing MCU software, you only need to integrate these middleware into your own software to realize the corresponding functions.

In short, the extensive application of MCU middleware marks the development of MCU software from closed to open. In the original MCU application field of the original market, with the promotion of IOT, MCU software technology is bound to usher in a new wave of development. As an author who has experienced the era of electronic tubes, and circuit design and code writing has become a hobby of life, he will be eager to meet another revolution in MCU software technology.

[Recommended article] What kind of ghost is Huawei's NB-IoT?

High Mast Light

We are passionately engaged in manufacturing and supplying an extensive array of High Mast light. The provided product finds applications in truck & bus terminals, airports, rail yards, ship docks, etc. Precisely manufactured from the latest technology under the surveillance of our adroit professionals, this product is thoroughly checked against numerous quality parameters to ensure its quality. Furthermore, our precious clients can avail this product from us at feasible rate.

High Mast Light,High Mast Lamp,Led High Mast Light,Led High Light Tower

Delight Eco Energy Supplies Co., Ltd. , https://www.cndelight.com