Transcript
Page 1: Www.ceva-dsp.com Visual Linker Final presentation

www.ceva-dsp.com

Visual Linker

Finalpresentation

Visual Linker

Page 2: Www.ceva-dsp.com Visual Linker Final presentation

slide 2

Background and Vision

Problem Domain

System Design

Challenges, Problems and Conclusions

So What Next?

Outline

Page 3: Www.ceva-dsp.com Visual Linker Final presentation

slide 3

What is DSP?

Who is Ceva?

What is a Linker anyway?

Background

Source code• *.c, *.h

Compiler• *.asm

Assembler• *.o , *.lib

Linker• *.a - executable

Page 4: Www.ceva-dsp.com Visual Linker Final presentation

slide 4

What is SmartNcode?

Why linking in DSP environment is difficult?

What is linker script file?

Background Background (cont.)

SmartNcode™Software Development Tools

Page 5: Www.ceva-dsp.com Visual Linker Final presentation

slide 5

Background Background (cont.) ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; CEVA' s SmartNcode IDE generated Li nker scri pt fi l e. ; ; V9. 2, CEVA- XC. ; ; Copyri ght (C) CEVA Inc. Al l ri ghts reserved. ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;

obj ects: Obj ect_fi l e1. o Obj ect_fi l e2. o l i brari es: l i brary1. l i b

l i brary2. l i b cl asses: myCodeInt [C: 1000 , 0x200 ] i nternal ; defi nes a cl ass i n i nternal code memory myDataExt [D: 20000, 0x1000] external ; defi nes a cl ass i n external data memory myUni fi ed [U: 50000, 0x5000] external ; defi nes a cl ass i n external uni fi ed memory code: segment 0 i nttbl cal l _saved_store_restore_sect l o . text l o ctor_sect data: segment 0 dummy_sect l o si ze 0x8 . data l o al i gn 0x8 const_data l o al i gn 0x8 ARG_SECT_END at next nol oad __MALLOC_SECT l o al i gn 0x8 nol oad si ze 0x4000 __STACK_SECT l o al i gn 0x8 si ze 0x4000 data_cl one l o al i gn 0x4 cl one . data const_data_cl one l o al i gn 0x4 cl one const_data

User Define Classes

Compiled Libraries Compiled user source files

Default Code class

Default Data class

Sections

Sections

Directives

Page 6: Www.ceva-dsp.com Visual Linker Final presentation

Our Solution : Visual Linker

Our solution will give the user the tools to write her linking script visually. The user will be able to:

Create memory classes on a visualized memory layout drawing canvas.

Locate Code and Data section in the memory classes by simple drag and drop operations.

Configure the linker directives by editing sections and class properties.

load and generate linking script files

Page 7: Www.ceva-dsp.com Visual Linker Final presentation

slide 7

Our Solution : Visual Linker (cont.)

Page 8: Www.ceva-dsp.com Visual Linker Final presentation

slide 8

Problem Domain

Page 9: Www.ceva-dsp.com Visual Linker Final presentation

slide 9

The Visual Linker will provide an easy, user friendly visual linking configuration tool.

The Visual Linker will ease the linker usage and reduce scripting mistakes.

The Visual Linker will minimize the time and effort one need to invest in the linking script writing.

Vision

Page 10: Www.ceva-dsp.com Visual Linker Final presentation

slide 10

System Design

Page 11: Www.ceva-dsp.com Visual Linker Final presentation

slide 11

Visual Linker, what?Lets have a look!

Page 12: Www.ceva-dsp.com Visual Linker Final presentation

slide 12

Challenges, Problems and Conclusions

Challenges:

Re-implementing GUI views and models in Qt C++.|

Developing and implementing linker algorithms with multiple constrains.

Interfacing with Ceva-DSP IDE platform.

Page 13: Www.ceva-dsp.com Visual Linker Final presentation

slide 13

Challenges, Problems and Conclusions

Problems:

Parsing post-complied files wasn’t enough – required additional processing.

Zoom-In and Zoom-Out support was complicated both algorithmically and visually.

The linker complexity was hard to grasp when implementing the linker script parser

Page 14: Www.ceva-dsp.com Visual Linker Final presentation

slide 14

Challenges, Problems and Conclusions

Conclusions:

The project was much bigger than a standard project for two team members.

As a result, implementation for some features were suspended.

The core components of the initial design were successfully implemented.

Page 15: Www.ceva-dsp.com Visual Linker Final presentation

slide 15

So What Next? Full integration with the (CEVA) Linker

Full directives and core types support

Delivering the visual linker to CEVA

Distributing the Visual linker to CEVA’s clients along side with the rest of the binary tools

Page 16: Www.ceva-dsp.com Visual Linker Final presentation

slide 16

Questions?

Page 17: Www.ceva-dsp.com Visual Linker Final presentation

slide 17

THANK YOU!