25
www.ceva-dsp.com Visual Linker ARD presentation Visual Linker

Www.ceva-dsp.com Visual Linker ARD presentation. slide 2 Background and Vision Problem Domain Stakeholders Functional Requirements Non Functional

Embed Size (px)

Citation preview

Page 1: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

www.ceva-dsp.com

Visual Linker

ARDpresentation

Visual Linker

Page 2: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 2

Background and Vision

Problem Domain

Stakeholders

Functional Requirements

Non Functional Requirements

Use Cases

Outline

Page 3: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 3

What is DSP?

Who is Ceva?

What is a Linker anyway?

Background

Page 4: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 4

Background (cont.)

Source code• *.c, *.h

Compiler• *.asm

Assembler• *.o , *.lib

Linker• *.a - executable

Page 5: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 5

What is SmartNcode?

Why linking in DSP environment is difficult?

What is linker script file?

Background Background (cont.)

SmartNcode™Software Development Tools

Page 6: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 6

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 7: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 7

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 8: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 8

Problem Domain

 

SmartNCodeIDE

Compiler

 Assembler   Linker

 Visual Linker

Source files (*.c)

Assembly files (*.asm)

Default Linker script file (*.lnk)

Generated file (*.lnk)

 

Obj

ect fil

es a

nd

Libr

arie

s (

*.o,

*.li

b)

Object files and Libraries (*.o, *.lib)

Executable file (*.a)

 

Page 9: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 9

Costumers

Experts

Users

Stakeholders

Page 10: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 10

1) GUI engine for configuring linking script.

2) Real time mistakes checking and error detection

Functional Requirements

Page 11: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 11

3) Real time script code generation

4) LNK files parsing mechanism which allow to load

Manually created *.lnk files to visual linker.

Functional Requirements

Page 12: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 12

5) Coff file parsing – sections and functions parsing

6) Undo and Redo operations

Functional Requirements

Page 13: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 13

7) Support in CEVA-XC core linking scripts

8) Optionally – two way parsing (RT ScriptGUI support )

Functional Requirements

Page 14: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 14

Functional Requirements

Page 15: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 15

So, What is Visual Linker?

Page 16: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

File Tools Views

Code Data Unified

0

500

3000

0

3000

30000

10000

Design Script

LayoutsProperties

objects: libraries:

classes:

code:

data:

Code’ Properties:

Sections Size

Sec1

Sec2

Sec3

Sec4

Sec5

Sec6

Sec7

Sec8

Sec9

Sec10

Sec11

Sec12

Sec13

Page 17: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

File Tools Views

Code Data Unified

0

500

3000

Class 1

Class 5

Class 2

0

3000

30000

Class 3

Class 4

10000

Sections Size

Sec1

Sec2

Sec3

Sec4

Sec5

Sec6

Sec7

Sec8

Sec9

Sec10

Sec11

Sec12

Sec13

Design Script

LayoutsProperties

objects:file1.o classes:class1 [c:0000,c:03ff] internalclass5 [c:0400,c:06ff] internalclass2 [c:2800,c:3fff] internal

class3 [c:0000,c:03ff] externalclass4 [c:0400,c:06ff] external.....

Code’ Properties:

Page 18: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

File Tools Views

Code Data Unified

0

3fff

Class 1:Sec1Sec2Sec3

0

3000

30000

Class 3

Class 4

10000

Design Script

LayoutsProperties

objects:file1.o classes:class1 [c:0000,c:03ff] internalclass5 [c:0400,c:06ff] internalclass2 [c:2800,c:3fff] internal

class3 [c:0000,c:03ff] externalclass4 [c:0400,c:06ff] external.....

Class1:Start Address: 0x0000End Address: 0x03ffType: External

Seg 0 Seg 1 ….. Seg n

Sections Size

Sec1

Sec2

Sec3

Sec4

Sec5

Sec6

Sec7

Sec8

Sec9

Sec10

Sec11

Sec12

Sec13

Page 19: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

File Tools Views

Code Data Unified

0

3fff

Sec1:function1function2function3

0

3000

30000

Class 3

Class 4

10000

Design Script

LayoutsProperties

objects:file1.o classes:class1 [c:0000,c:03ff] internalclass5 [c:0400,c:06ff] internalclass2 [c:2800,c:3fff] internal

class3 [c:0000,c:03ff] externalclass4 [c:0400,c:06ff] external.....

Sec 1’ Properties

Sections Size

Sec1

Sec2

Sec3

Sec4

Sec5

Sec6

Sec7

Sec8

Sec9

Sec10

Sec11

Sec12

Sec13

Page 20: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 20

Performance constraints

Speed

Capacity

Reliability

Safety and security

Portability

Usability

Non Functional requirements

Page 21: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 21

Design constraints

Extensibility

Maintainability

Platform constraints

Implementation Constraints

C++ / Qt

Non Functional requirements

Page 22: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 22

Use CasesVisual Linker

User

add object (*.o) File

Create Class

add library (*.lib) File

«uses»

«uses»

Parse Sections

Change ClassProperties

Add Section toClass

Generate Code

«uses»

«uses»

«uses»

«uses»

«uses»

Page 23: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 23

Use Cases (cont.)Visual Linker

User

Parse *.lnk file

«uses»Load *.lnk file

save *.lnk file

Generate Code

move section to another class

«uses»

Change/Define Section Properties«uses»

Sort the Section Bank

Undo/Redo Action

«uses»

Page 24: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 24

Questions?

Page 25: Www.ceva-dsp.com Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional

slide 25

THANK YOU!