DevOps
Agile embedded development teams based on DevOps can use tools and methods to automate the software delivery, testing, and deployment process as much as possible, effectively shortening the software release cycle.
▲DevOps
Challenges
One of the biggest challenges in implementing DevOps in the embedded space is that the development and testing of embedded software relies heavily on hardware. Different from traditional Internet products or PC application software, embedded software is limited by its special characteristics for specific embedded systems, and often needs to connect to the target hardware to complete debugging and testing work. Therefore, the practice of DevOps is fraught with difficulties, mainly due to the constraints:
High cost of hardware
The rapid iteration of traditional embedded software relies on supporting testing hardware, which is often poorly reusable and costly and can only be used for testing specific software.
Complex test environment setup process
Embedded system is usually composed of complex hardware, and the test environment requires high requirements, long time, and occupies a large area.
Team disputes caused by hardware resource coordination
Without enough hardware resources, engineers cannot use the hardware test environment at the same time. Scheduling test resources consumes more time and energy.
One-stop Solution: SkyEye + CI tool
Simulation is an effective method to solve these challenges. Virtual hardware based on SkyEye and DevOps workflows are tightly coupled, which can be applied to the whole life cycle of embedded software development.
Shorter development cycles
Providing a virtual hardware platform for engineers to develop and test software in advance.
Unlimited running environment
Digital visual simulation environment, no limit to the number of hardware board, no damage can be carried out fault test.
Lower building cost
The environment can be reproduced on any PC to reduce communication costs and hardware environment construction costs.
Reliable execution process
The software under test can be loaded without any changes, the real execution process can be restored and the auxiliary debugging function can be provided.
SkyEye can collaborate with CI tools (such as ZenTao, Jenkins, GitHub, GitLab, etc.) to create a full-link one-stop platform for embedded DevOps solutions. The continuous integration pipeline includes functions related to the whole life cycle of products, such as management, planning, verification, packaging, safety testing, release, configuration, monitoring, etc. After the code is submitted to the warehouse, the pipeline will be triggered to run, and the continuous integration server will automatically pull the code for static analysis, compile and load it into the SkyEye simulation environment for testing. Engineers can quickly obtain the test report. Greatly improve the efficiency of embedded software development, implementation of DevOps practice.
▲CI Pipeline