Font Size: a A A

Design And Implemention Of Dynamic Loader Based On Embedded System

Posted on:2014-09-24Degree:MasterType:Thesis
Country:ChinaCandidate:H Y YuanFull Text:PDF
GTID:2268330401965940Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Due to the new demand of embedded platform executable, a new executableformat(aELF) and its loader is proposed with their building and linking method.Based on the original gcc ELF format, the traditional ELF symbol tableinformation is discarded. It uses relocation technology, allowing the executable file toload to arbitrary load address and solve the problem of overlapping with multipleprograms. After loading an aELFfile,aELF dynamic linker needs to scan and fix allrelocation entryin sections to point to the new address after relocation.Traditional dynamic linker used symbol tables to identify their exported orimported symbol, which results in larger file size, and a possibility to leak informationin the binary. Alternatively, structure information used by embedded platformexecutable is introduced, combined the hash value of symbol name as identifier, toreduce the size of executable.Compared with ELF without cryption support, aELF supports encryption andsignature inits executable, to get secure and confident in the executable of embeddedsystem and keep them from being reversed engining.aELF executables size and complexity has been compared with traditional LinuxELF. The result shows that the former one has smaller size, simper structure, moresecure perfermance, which is more suitable for embedded system.To load the aELF format, an aELF loader is implemented to dynamiclly load aELFmodules. aELF loader is capable of loading and unload aELF executable dynamicallyand with encryption and signature. It is tested by an embedded system music pluginplayer with trust chain. With aELF loader the music player can play music withdynamic loading and unloading the plugins to save memory. And with its trust chainmodel, it can be used to keep an proprietary music plugin from being reverseengineering.aELF loader is also used in embedded operation system aCoral. With aELF linkeraCoral can split its component into modules as a micro-kernel OS, splitting its code asserver and client. This design helps aCoral to isolate its errors and bugs, compared to monolithic kernel. Compared to true microkernel OS, aCoral uses direct call instead ofIPC between server and client, which improves performance.
Keywords/Search Tags:ELF, Embedded System, Operation System, Loader, Linker
PDF Full Text Request
Related items