Case Study: Embedded Linux
Project Category: Development
The Client
Our client was a big telecommunication company based in France and Japan with around 191,000 people.
Business Need
The client’s development plan for bring the low-cost technologies which was developed in C/C++ and Embedded Linux
Due to the high maintenance cost and performance issues of the existing system, our client wanted to re-develop the kernel operating system layer of the whole system.
The Scope of project:
- Porting Linux kernel into the new board
- Develop a device driver
The Challenges
The project was quite challenging for FPT Software because of the following:
- The project team did not have the right to assess the whole client system due to security policy, which made it difficult to get a clear envision and setup development environment.
- The low-lever embedded field was pretty new to us, meaning that we had to make an endeavor to get deep knowledge. For example the timing is always a big challenge for synthesizing board and resource of constraints.
The Solution
FPT used its Onsite-Offshore Model and its team of 29 personnel completed the project in 3 years. A team of system analysts was sent to work onsite for 9 months to study the system architecture, business requirements, and embedded QA testing skills. During this period of time the team worked closely with client’s experts to gain a comprehensive insight of the client’s. uCLinux Kernel is ported to a board (e.g. Xilinx Spartan 3E500, ARM9260) to create the environment for developing IP-based application with the integrated software/hardware. After this phase, the knowledge and requirements of developing device driver were transferred to the offshore team to determine areas of coding and testing.
Offshore team had simulated the environment using Linux OS and then made the design of device driver. The device driver was programmed in C language and by cross-compiler tools then. Its basic functions “Read/Write” performed the operation of the module to connect to the system through “On-Chip peripheral Bus”. The QA testing was executed in the simulative environment with the following phases:
- Unit testing
- Integration testing
- System testing
Then the package delivered to the onsite team for the acceptance test with the selected board.
Technologies Used:
Hardware: Xilinx Spartan 3E500, ARM9260, FPGA
Software: Embedded Linux, MontaVista Linux, C, C++, Eclipse, Parasoft
Project duration: 3 years
Team Size: 29
