visual linker

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

Upload: keefer

Post on 23-Feb-2016

46 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Visual Linker

www.ceva-dsp.com

Visual Linker

Prototypepresentation

Visual Linker

Page 2: 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

Page 3: Visual Linker

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

Page 4: Visual Linker

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

Page 5: Visual Linker

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).

Page 6: Visual Linker

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

Page 7: Visual Linker

slide 7

Lnk File parsing using LEX & YACC

Page 8: Visual Linker

slide 8

Lnk File parsing using LEX & YACC

Page 9: Visual Linker

slide 9

Lnk File parsing using LEX & YACC

Page 10: Visual Linker

slide 10

Coff files parsing Parsing Capabilities

Object Files (*.o) Libraries (*.lib)

Section Extraction

Function Extraction

Sections Merging

Page 11: Visual Linker

slide 11

Coff files parsing We will demonstrate using an example.

Page 12: Visual Linker

slide 12

Coff files parsing

Page 13: Visual Linker

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.

Page 14: Visual Linker

slide 14

Coff files parsing

Page 15: Visual Linker

slide 15

Coff files parsing

Page 16: Visual Linker

slide 16

Coff files parsing

Page 17: Visual Linker

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

Page 18: Visual Linker

slide 18

GUI Prototype Using Qt framework

Page 19: Visual Linker

slide 19

GUI Prototype Using Qt framework

Page 20: Visual Linker

slide 20

GUI Prototype Using Qt framework

Page 21: Visual Linker

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.

Page 22: Visual Linker

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

Page 23: Visual Linker

slide 23

Questions?

Page 24: Visual Linker

slide 24

THANK YOU!