visual linker
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
www.ceva-dsp.com
Visual Linker
Prototypepresentation
Visual Linker
slide 2
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
slide 3
DSP Environment
Compilation chain
Linking and linker script file
Integration with SmartNCode™ environment
Project overview•*.c, *.h
Source code Editor
•*.asmCompiler
•*.o , *.libAssembler
•*.a - executableLinker
slide 4
The Visual 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 will ease the linker usage and reduce scripting mistakes thus minimize the time and effort one need to invest in the linking operation.
Vision
slide 5
Main project challenges
LNK files parsing
COFF files parsing
Code Generation
Advanced GUI Programing using Qt framework
Two way “GUIScript” engine (optional feature).
slide 6
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
slide 7
Lnk File parsing using LEX & YACC
slide 8
Lnk File parsing using LEX & YACC
slide 9
Lnk File parsing using LEX & YACC
slide 10
Coff files parsing Parsing Capabilities
Object Files (*.o) Libraries (*.lib)
Section Extraction
Function Extraction
Sections Merging
slide 11
Coff files parsing We will demonstrate using an example.
slide 12
Coff files parsing
slide 13
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.
slide 14
Coff files parsing
slide 15
Coff files parsing
slide 16
Coff files parsing
slide 17
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
slide 18
GUI Prototype Using Qt framework
slide 19
GUI Prototype Using Qt framework
slide 20
GUI Prototype Using Qt framework
slide 21
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.
slide 22
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
slide 23
Questions?
slide 24
THANK YOU!