260 likes | 468 Views
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?
E N D
Visual Linker ARDpresentation 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
What is SmartNcode? Why linking in DSP environment is difficult? What is linker script file? Background Background (cont.) SmartNcode™Software Development Tools
Background Background (cont.)
TheVisual 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 willease the linker usage and reduce scripting mistakes thus minimize the time and effort one need to invest in the linking operation. Vision
Problem Domain SmartNCodeIDE Source files (*.c) Visual Linker Linker Assembler Assembly files (*.asm) Compiler Object files and Libraries (*.o, *.lib) Generated file (*.lnk) Default Linker script file (*.lnk) Executable file (*.a) Object files and Libraries (*.o, *.lib)
Costumers Experts Users Stakeholders
1) GUI engine for configuring linking script. 2) Real time mistakes checking and error detection Functional Requirements
3) Real time script code generation 4) LNK files parsing mechanism which allow to load Manually created *.lnk files to visual linker. Functional Requirements
5) Coff file parsing – sections and functions parsing 6) Undo and Redo operations Functional Requirements
7) Support in CEVA-XC core linking scripts 8) Optionally – two way parsing (RT ScriptGUI support ) Functional Requirements
File Tools Views Layouts Design Script Properties objects: libraries: classes: code: data: Data Unified Code 0 0 Code’ Properties: 500 3000 … … 30000 3000 10000
File Tools Views Layouts Design Script Properties objects: file1.o classes: class1 [c:0000,c:03ff] internal class5 [c:0400,c:06ff] internal class2 [c:2800,c:3fff] internal class3 [c:0000,c:03ff] external class4 [c:0400,c:06ff] external . . . . . Data Unified Code 0 0 Class 1 Code’ Properties: 500 3000 Class 5 … … 30000 3000 Class 2 Class 3 10000 Class 4
File Tools Views Layouts Design Script Properties Class1: Start Address: 0x0000 End Address: 0x03ff Type: External objects: file1.o classes: class1 [c:0000,c:03ff] internal class5 [c:0400,c:06ff] internal class2 [c:2800,c:3fff] internal class3 [c:0000,c:03ff] external class4 [c:0400,c:06ff] external . . . . . Data Unified Code 0 0 Class 1: Sec1 Sec2 Sec3 3000 … 30000 3fff Seg 0 Seg 1 ….. Seg n Class 3 10000 Class 4
File Tools Views Layouts Design Script Properties Sec 1’ Properties objects: file1.o classes: class1 [c:0000,c:03ff] internal class5 [c:0400,c:06ff] internal class2 [c:2800,c:3fff] internal class3 [c:0000,c:03ff] external class4 [c:0400,c:06ff] external . . . . . Data Unified Code 0 0 Sec1: function1 function2 function3 3000 … 30000 3fff Class 3 10000 Class 4
Performance constraints Speed Capacity Reliability Safety and security Portability Usability Non Functional requirements
Design constraints Extensibility Maintainability Platform constraints Implementation Constraints C++ / Qt Non Functional requirements