Reverse Engineering Embedded Linux

Reverse Engineering Embedded Linux

We were approached by an established company that had developed a product about a decade ago and it has been on the market since that time. The product is based on the Sitara platform from TI, but the code base was not well maintained over the years and they wanted to add new features and change things. We got a snapshot of their application code, custom linux device driver, schematics and FPGA but not much else....


The job was to be able to reflash the whole system: rootfs, FPGA, kernel, uboot obviously their device driver and application. The application was based on a hacked up version of QT4, I say it was hacked up because it was QT4 with some features of QT5 backported. So we needed to migrate the whole app to a more recent version of QT that does not require these hacks.


The device driver for their FPGA was in pretty poor shape as well, with magic numbers everywhere, and also targeting an ancient version of the linux kernel. So we had to port it to a more modern kernel where the Sitara is well supported. Next we discovered they had custom display driver for the Sitara LCD interface, which we did not have any code for, and unfortunately the Linux kernel does not have a driver for this particular LCD interface, so we had to write that whole driver from scratch.


In the end, we have a fully functional 100% built from source rootfs, kernel, uboot, device drivers, and QT application to serve as a basis for future development and new features.

contact us if you're experiencing similar issues: [email protected]



Great that you've got the embedded experience in this to help turn your customer around ARCH-Embedded

回复

要查看或添加评论,请登录

社区洞察

其他会员也浏览了