www.ceva-dsp.com visual linker ard presentation. slide 2 background and vision problem domain ...
Post on 20-Jan-2016
235 Views
Preview:
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