Since development of digital system becomes more sensitive to time-to-market than ever, it is necessary to reduce development time. This paper describes a debugging method for library function written in assembly language without a target debugging tool which is developed in the later stage of SoC development. The proposed method can reduce the time required to port and debug codes written in assembly language such as library functions and OS kernels. In the proposed method, an assembly library function is translated into a C function with debugging information which can be used in a host debugging tool. Since a hand-written assembly code is different from a compiler-generated code in the point of translation, a new analysis method is proposed. When translating an assembly code, the debugging information that links the assembly code with the generated C code is inserted as directives in the C code. By executing the host executable compiled from the generated C code on a host debugger which exploits the debugging information directives, we can debug the input assembly code. By translating the assembly library functions in libgcc into C codes and executing the generated C code on a host debugger we verify the proposed method.
展开▼