www.ceva-dsp.com visual linker ard presentation. slide 2 background and vision problem domain ...

Post on 20-Jan-2016

235 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

www.ceva-dsp.com

Visual Linker

ARDpresentation

Visual Linker

slide 2

Background and Vision

Problem Domain

Stakeholders

Functional Requirements

Non Functional Requirements

Use Cases

Outline

slide 3

What is DSP?

Who is Ceva?

What is a Linker anyway?

Background

slide 4

Background (cont.)

Source code• *.c, *.h

Compiler• *.asm

Assembler• *.o , *.lib

Linker• *.a - executable

slide 5

What is SmartNcode?

Why linking in DSP environment is difficult?

What is linker script file?

Background Background (cont.)

SmartNcode™Software Development Tools

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

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

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)

 

slide 9

Costumers

Experts

Users

Stakeholders

slide 10

1) GUI engine for configuring linking script.

2) Real time mistakes checking and error detection

Functional Requirements

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

slide 12

5) Coff file parsing – sections and functions parsing

6) Undo and Redo operations

Functional Requirements

slide 13

7) Support in CEVA-XC core linking scripts

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

Functional Requirements

slide 14

Functional Requirements

slide 15

So, What is Visual Linker?

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

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:

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

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

slide 20

Performance constraints

Speed

Capacity

Reliability

Safety and security

Portability

Usability

Non Functional requirements

slide 21

Design constraints

Extensibility

Maintainability

Platform constraints

Implementation Constraints

C++ / Qt

Non Functional requirements

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»

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»

slide 24

Questions?

slide 25

THANK YOU!

top related