240 likes | 391 Views
Visual Linker . Prototype presentation. Visual Linker. Project overview and vision Main project challenges Lnk File parsing using LEX & YACC Coff files parsing GUI Prototype Using Qt framework P roof of concept and conclusions Glimpse to the project near future. Outline.
E N D
Visual Linker Prototypepresentation Visual Linker
Project overview and vision Main project challenges Lnk File parsing using LEX & YACC Coff files parsing GUI Prototype Using Qt framework Proof of concept and conclusions Glimpse to the project near future Outline
DSP Environment Compilation chain Linking and linker script file Integration with SmartNCode™ environment Project overview
TheVisual Linker will be a plugin to the SmartNCode Integrated Development Environment (IDE). It will provide an easy, user friendly visual linking configuration tool. Visual Linker willease the linker usage and reduce scripting mistakes thus minimize the time and effort one need to invest in the linking operation. Vision
Main project challenges • LNK files parsing • COFF files parsing • Code Generation • Advanced GUI Programing using Qt framework • Two way “GUIScript” engine (optional feature).
Lnk File parsing using LEX & YACC • The Lnk file parser is needed to load manually created /visual linker generated *.lnk files. • Parsing script elements • Translation from STL primitive elements to Qt elements
Coff files parsing • Parsing Capabilities • Object Files (*.o) • Libraries (*.lib) • Section Extraction • Function Extraction • Sections Merging
Coff files parsing • We will demonstrate using an example.
Coff files parsing • After compilation 2 Object files are created: • Main.o • Header.o • In the link process we will link 4 object files – the two above and two more system object,crt0.o and crtN.o • Now lets see the object files parser output.
As describes in the ARD document, we implemented the prototype: Parsed and merged sections from the coff files Parsed classes from an input *.lnk file We experimented with Model-View-Controller Qt implementation, Extending Views, Models and Delegates Classes. GUI Prototype Using Qt framework
Prototype conclusions • Lnk parsing task is feasible and taking no more than 2 milliseconds as required in the ARD document. • Object’s and libraries parsing is taking a bit longer than expected – we should check how to optimize the process. • Qt’s QUI frame work is good, it is possible to learn it using it documentation and Examples • In general – the project is massive but feasible.
Glimpse to the near future • “Real GUI” design and UI Polishing • Code Generation Module • Drag and Drop • Undo and Redo Features • User Scripting using the GUI