visual linker
DESCRIPTION
Visual Linker . ARD presentation. Visual Linker. Background and Vision Problem Domain Stakeholders Functional Requirements Non Functional Requirements Use Cases. Outline. What is DSP? Who is Ceva? What is a Linker anyway?. Background . Background (cont.) . What is SmartNcode? - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/1.jpg)
www.ceva-dsp.com
Visual Linker
ARDpresentation
Visual Linker
![Page 2: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/2.jpg)
slide 2
Background and Vision
Problem Domain
Stakeholders
Functional Requirements
Non Functional Requirements
Use Cases
Outline
![Page 3: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/3.jpg)
slide 3
What is DSP?
Who is Ceva?
What is a Linker anyway?
Background
![Page 4: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/4.jpg)
slide 4
Background (cont.)
Source code• *.c, *.h
Compiler• *.asm
Assembler• *.o , *.lib
Linker• *.a - executable
![Page 5: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/5.jpg)
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: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/6.jpg)
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: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/7.jpg)
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: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/8.jpg)
slide 8
Problem Domain
SmartNCodeIDE
Compiler
Assembler Linker
Visual Linker
Source files (*.c)
Assembly files (*.asm)
Default Linker script file (*.lnk)
Generated file (*.lnk)
Objec
t files
and
Libra
ries
(*.o,
*.lib
)
Object files and Libraries (*.o, *.lib)
Executable file (*.a)
![Page 9: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/9.jpg)
slide 9
Costumers
Experts
Users
Stakeholders
![Page 10: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/10.jpg)
slide 10
1) GUI engine for configuring linking script.
2) Real time mistakes checking and error detection
Functional Requirements
![Page 11: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/11.jpg)
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: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/12.jpg)
slide 12
5) Coff file parsing – sections and functions parsing
6) Undo and Redo operations
Functional Requirements
![Page 13: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/13.jpg)
slide 13
7) Support in CEVA-XC core linking scripts
8) Optionally – two way parsing (RT ScriptGUI support )
Functional Requirements
![Page 14: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/14.jpg)
slide 14
Functional Requirements
![Page 15: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/15.jpg)
slide 15
So, What is Visual Linker?
![Page 16: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/16.jpg)
File Tools Views
Code Data Unified0
500
3000
…
0
3000
30000
…
10000
Design ScriptLayouts
Propertiesobjects: libraries:
classes:
code:
data:
Code’ Properties:
Sections Size
Sec1
Sec2
Sec3
Sec4
Sec5
Sec6
Sec7
Sec8
Sec9
Sec10
Sec11
Sec12
Sec13
![Page 17: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/17.jpg)
File Tools Views
Code Data Unified0
500
3000
…
Class 1
Class 5
Class 2
0
3000
30000
…
Class 3
Class 410000
Sections Size
Sec1
Sec2
Sec3
Sec4
Sec5
Sec6
Sec7
Sec8
Sec9
Sec10
Sec11
Sec12
Sec13
Design ScriptLayouts
Propertiesobjects: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: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/18.jpg)
File Tools Views
Code Data Unified0
3fff
Class 1:Sec1Sec2Sec3
0
3000
30000
…
Class 3
Class 410000
Design ScriptLayouts
Propertiesobjects: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: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/19.jpg)
File Tools Views
Code Data Unified0
3fff
Sec1:function1function2function3
0
3000
30000
…
Class 3
Class 410000
Design ScriptLayouts
Propertiesobjects: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: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/20.jpg)
slide 20
Performance constraints
Speed
Capacity
Reliability
Safety and security
Portability
Usability
Non Functional requirements
![Page 21: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/21.jpg)
slide 21
Design constraints
Extensibility
Maintainability
Platform constraints
Implementation Constraints
C++ / Qt
Non Functional requirements
![Page 22: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/22.jpg)
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: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/23.jpg)
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: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/24.jpg)
slide 24
Questions?
![Page 25: Visual Linker](https://reader035.vdocuments.site/reader035/viewer/2022062222/5681642e550346895dd5f4c6/html5/thumbnails/25.jpg)
slide 25
THANK YOU!