24
www.ceva-dsp.com Visual Linker Prototype presentation Visual Linker

Www.ceva-dsp.com Visual Linker Prototype presentation

Embed Size (px)

Citation preview

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 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!