In view of the problem that the magnetic field detector requires the collaborative development of many software and hardware developers, this paper introduces the Redmine project management platform for collaborative management of project development. Proteus is used to realize the parallel development of the lower computer hardware and embedded software, and the embedded system and SVN version manager are introduced to carry out collaborative development of each module of the embedded software. Bus Hound is used to realize the parallel development of the upper computer and the lower computer software. Finally, the introduction of this collaborative development model reduces the development time of this project by 25% compared with the original plan, and the project quality is also improved.
As electronic products have more and more functions and better performance, low-cost 32-bit microprocessors and multi-layer PCB boards are widely used, and the size of software and development teams has expanded accordingly, while the development cycle has increased exponentially. Therefore, the previous development methods are increasingly incompatible with the needs of project development. At present, domestic magnetic field detection instruments are mainly used in the measurement of low-frequency strong magnetic fields for industrial use and high-frequency weak magnetic fields for communications, while medium-frequency strong magnetic field measurement is still a difficult problem in the field of magnetic field measurement. The development of medium-frequency strong magnetic field measurement systems based on embedded operating systems involves high-speed hardware circuit design, multi-layer PCB board wiring, 32-bit microprocessor programming, host computer software programming and other tasks. Therefore, many developers are required to collaborate in development.
Through long-term practice, it is found that the introduction of the open source project management platform Redmine, the embedded operating system μC/OS-II, the simulation software Proteus and the debugging software Bus Hound in project development can effectively improve the collaborative development capabilities and management level of the entire project. The adoption of the collaborative development management model can achieve the following four significant effects: improve the collaborative development efficiency between embedded software and hardware; improve the development efficiency and development quality between each module of embedded software; improve the development efficiency and development quality of the upper and lower computer software; and effectively improve the management level of the collaborative development of the entire project.
1 Magnetic Field Detector Development and Management Platform
The quality of project management is related to the quality of project development, and will also have a significant impact on development efficiency and quality. At present, Web-based open source project management software has developed very maturely in the market. Such software has been widely used in teaching and research in colleges and universities, as well as project development management in small and medium-sized enterprises.
At present, in the development of magnetic field detection system projects, due to the complexity of software and hardware development, the large number of developers with uneven development capabilities and high mobility, as well as the long development time span of the project, project management has become very difficult. After application analysis, the author conducted a detailed analysis and comparison from the aspects of software maturity, stability, popularity, community development, and ease of installation and configuration, and finally selected Redmine from the three softwares of Launchpad, Redmine and Trac.
In the construction of the project management platform for the magnetic field detection system, first, use the one-click installation package provided by BitNami Redmine Stack to install the Redmine platform, and then integrate the members of the medium frequency magnetic field detection system development team, tasks (issues), documents, discussions, Wiki, version management, and various forms of resources on this platform. Everyone promotes the progress of the project by participating in updating tasks and documents together. At the same time, systematically use time clues and various reports to dynamically display the progress status of the project.
The Redmine management platform was introduced into the project, and the interface is shown in Figure 1. It has an immediate effect:
① New members of the development team can quickly understand the details of the project through this platform, so that they can quickly take over the project;
② If a member of the team leaves, other members can quickly take over the tasks that the member was originally responsible for;
③ Compared with the previous method of using the client TortoiseSVN to access SVN, development members are more likely to accept the Web access method provided by Redmine to access and operate the SVN version controller;
④ It provides an efficient platform for internal communication and exchange among team members;
⑤ According to the progress of the project, the progress of the project can be adjusted in time, so as to achieve efficient dynamic management.
2 Collaborative development of embedded software and hardware
Proteus can realize schematic design, PCB layout, and collaborative simulation of microprocessors and peripheral circuits. The Proteus microprocessor model supports 8051, PIC , MSP 430 , AVR, ARM 7 and HC11 series of microprocessors. Among them, the Proteus7.10 version launched in 2011 added support for the ARM Correx-M3 series processors. It usually takes several months
for electronic products to go from chip selection, circuit design, PCB layout to sample welding and debugging. This period of time is very critical for the entire project development. While the magnetic field detector sample is being made, embedded software developers can start writing programs on the ARM Cortex-M3 microprocessor model of Proteus after drawing the basic schematic diagram in Proteus.
Since Proteus and IAR are used for joint debugging, that is, code debugging is performed in the IAR integrated development environment, and the running and debugging results are directly displayed in Proteus, there is no need to wait until the sample is completed before starting the debugging of the embedded software, so that the embedded software and hardware can be developed synchronously.
In addition, compared with debugging directly on the sample, Proteus is more likely to determine the specific reason why a certain function cannot be realized, whether it is caused by hardware failure or software programming problems, thereby avoiding the situation where hardware failure is mistakenly considered as a software programming problem, greatly improving development efficiency. On the other hand, in the debugging of the LCD display driver of the magnetic field detector, the logic analyzer virtual instrument provided by Proteus is used to measure the LCD drive timing, which can very intuitively debug the LCD driver and quickly complete the programming and debugging of the LCD driver. Since only three sample boards are welded and made for each version of the PCB
in the magnetic field detector , most of the debugging is completed on Proteus. Therefore, using Proteus instead of actual sample debugging can greatly reduce the purchase of components and the production of samples; at the same time, it also greatly reduces the purchase of debugging equipment such as JTAG emulators, oscilloscopes, and logic analyzers. It saves a lot of money and precious development time for the development of magnetic field detection system. 3 Collaborative development of embedded software modules 3.1 Introducing embedded operating system to realize task decomposition At present, the MTK solution of MediaTek is widely used in the design of low-end mobile phones in China, which integrates the mobile phone chip and mobile phone software platform in advance. The whole software system of MTK is very large and complex, but its architecture is to introduce the Nucleus embedded operating system to decompose the mobile phone software into multiple tasks for parallel development. MTK uses the Nucleus real-time operating system, but encapsulates the kernel abstraction layer on it to meet the needs of the final manufacturer to choose other real-time operating systems (such as choosing to replace it with ThreadX). The three embedded operating systems of Nucleus, ThreadX and μC/OS-II are very similar in function, but the commercial l IC ense is different. Among them, μC/OS-II needs to purchase a license for products sold on the market; while it is free for teaching and research in colleges and universities. This is also an important reason why μC/OS-II is widely recognized by college teachers and students, and it is also an important reason why we give priority to μC/OS-II as the embedded operating system of magnetic field detectors. At present, the scale of ARM programs is generally large and requires collaborative development by multiple people. Since programs without embedded operating systems rely only on global variables and functions to transmit information, the degree of program coupling is very high, making it difficult to achieve collaborative development by multiple people. After the introduction of embedded operating systems, each task is synchronized through message mailboxes, message queues or semaphores, which greatly reduces the coupling of programs and greatly improves the efficiency of team collaborative development. After the introduction of embedded operating systems, programs are generally divided into several tasks (threads), each of which is managed by a dedicated person. In the embedded software development process, the first step is to initialize the circuit board and embedded operating system, then create several tasks, and the remaining work is to write the program code for each task or interrupt processing. Figure 2 is a framework diagram of the synchronization relationship between interrupts and tasks of the magnetic field detector.
3.2 Introducing version controller to achieve code merging
After the embedded operating system is introduced, each embedded software developer only needs to be responsible for one or several tasks. By introducing source code control software, the integration and centralized backup of embedded software codes can be achieved. Among them, SVN is the version controller installed by default in the one-click installation mode of BitNami Redmine Stack. Through the use of SVN, developers return to the laboratory every day,
update the entire project code through SVN, and then use Source Insight to start a day's code writing work. Before leaving work, use the IAR compilation platform to compile the code. After confirming that there are no compilation errors, upload the modified code to SVN. When uploading the code, SVN will automatically detect whether there is a conflict in the code (if two or more developers have changed the same place of a file, SVN will prompt that there is a conflict). If there is a conflict, the developer can coordinate and resolve the conflict according to actual needs.
After the introduction of SVN, each time the code is uploaded to SVN, it will automatically update and generate a version number. When new problems arise in the joint debugging of the embedded software modules of the magnetic field detector, by comparing the differences between the two versions of the code through comparison software (such as beyond compare), the key to the problem can often be quickly found.
4 Collaborative development of the lower computer and the upper computer
Bus Hound can be used to analyze USB bus data protocols, capture I/O actions, etc. At the same time, it can also transmit user-written commands to achieve control and debugging of the lower computer. Although the upper computer software has not been completed, after defining the communication protocol between the upper computer and the lower computer, Bus Hound can be used to simulate the upper computer software to receive USB data sent by the lower computer software, or send USB data to the lower computer software, thereby achieving parallel development of the upper computer and the lower computer software.
In the magnetic field detector, the CH375 produced by Nanjing Qinheng Electronics Co., Ltd. is used as the USB main control chip to realize USB communication between ARM and the upper computer. In actual programming, three endpoints of CH375 are used. Endpoint 0 is used to control transmission and realize enumeration of USB devices; endpoint 2 IN is used for bulk transmission of USB data from the lower computer to the PC (up to 64 bytes at a time); endpoint 2 OUT is used for bulk transmission of USB data from the PC to the lower computer (up to 64 bytes at a time). The Bus Hound receives 32 bytes of magnetic field measurement data as shown in Figure 3. The Bus Hound is used to control the USB endpoint 2OUT of CH373, and the lower computer is controlled to return 1 KB of magnetic field point acquisition signal data 32 times. Finally, the intermediate frequency magnetic field analysis software of the PC is used to realize the single point, plane and space magnetic field simulation distribution display of the intermediate frequency magnetic field.
In addition, endpoint 1 IN is used for interrupt transmission of USB data from the lower computer to the PC, and endpoint 2 OUT is used for BULK transmission of USB data from the PC to the lower computer (up to 8 bytes at a time). In the debugging of the embedded software of the magnetic field detector, endpoint 1 IN is used to send debugging instructions and receive debugging data.
Conclusion
The use of Redmine, Proteus, μC/OS-II, SVN and Bus Hound improves the development efficiency and quality of the magnetic field detection system, and provides a solid foundation for the efficient and high-quality completion of the development task of the magnetic field detection system. In the actual use of this collaborative development model, colleges and universities or small and medium-sized enterprises can make changes according to their actual needs, such as replacing μC/OS-II with other embedded operating systems such as μCl inux, replacing SVN with other version managers such as GIT, and replacing Proteus with other simulation platforms such as SkyEye. Finally, it effectively improves the teaching effect of graduate courses in colleges and universities and the project development efficiency and quality of colleges and enterprises.
Previous article:Base station monitoring terminal device based on 16-bit microprocessor and real-time operating system μC/OS-II
Next article:MCU Quick Programming Framework Sample Code
- Popular Resources
- Popular amplifiers
- Naxin Micro and Xinxian jointly launched the NS800RT series of real-time control MCUs
- How to learn embedded systems based on ARM platform
- Summary of jffs2_scan_eraseblock issues
- Application of SPCOMM Control in Serial Communication of Delphi7.0
- Using TComm component to realize serial communication in Delphi environment
- Bar chart code for embedded development practices
- Embedded Development Learning (10)
- Embedded Development Learning (8)
- Embedded Development Learning (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Intel promotes AI with multi-dimensional efforts in technology, application, and ecology
- ChinaJoy Qualcomm Snapdragon Theme Pavilion takes you to experience the new changes in digital entertainment in the 5G era
- Infineon's latest generation IGBT technology platform enables precise control of speed and position
- Two test methods for LED lighting life
- Don't Let Lightning Induced Surges Scare You
- Application of brushless motor controller ML4425/4426
- Easy identification of LED power supply quality
- World's first integrated photovoltaic solar system completed in Israel
- Sliding window mean filter for avr microcontroller AD conversion
- What does call mean in the detailed explanation of ABB robot programming instructions?
- 2024 China Automotive Charging and Battery Swapping Ecosystem Conference held in Taiyuan
- State-owned enterprises team up to invest in solid-state battery giant
- The evolution of electronic and electrical architecture is accelerating
- The first! National Automotive Chip Quality Inspection Center established
- BYD releases self-developed automotive chip using 4nm process, with a running score of up to 1.15 million
- GEODNET launches GEO-PULSE, a car GPS navigation device
- Should Chinese car companies develop their own high-computing chips?
- Infineon and Siemens combine embedded automotive software platform with microcontrollers to provide the necessary functions for next-generation SDVs
- Continental launches invisible biometric sensor display to monitor passengers' vital signs
- Another technical solution for power-type plug-in hybrid: A brief discussion on Volvo T8 plug-in hybrid technology
- CC4014------8-bit shift register
- Hiring embedded hardware engineers
- I would like to ask about the problem of packaging multiple sensor data into one data
- Calculation Methods of Commonly Used dB Values in Wireless Communications
- Current transformer
- Notes on using Arteli ADC - ADON trigger function
- CAN waveform
- How to read and analyze labview program
- PowerPCB Tutorial Condensed Version
- [Jihai APM32E103VET6S MINI Development Board Review] The third post: Re-exploring the clock