View
229
Download
5
Category
Tags:
Preview:
Citation preview
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 10
Coff files parsing
Parsing Capabilities
Object Files (*.o) Libraries (*.lib)
Section Extraction
Function Extraction
Sections Merging
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 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 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
Recommended