Www.ceva-dsp.com Visual Linker Prototype presentation.

Slides:



Advertisements
Similar presentations
Introduction to the BinX Library eDIKT project team Ted Wen Robert Carroll
Advertisements

Wir schaffen Wissen – heute für morgen A.C.Mezger, Paul Scherrer Institut, Switzerland caQtDM, an EPICS display manager with Qt Paul Scherrer Institut.
DEV-2: Getting Started with OpenEdge® Architect – Part I
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Systems Software.
Development of a visual studio plugin to visualize a Blocks-Graph
The Rhapsody in C++ Tool Training "Essential" © I-Logix v2.3 25/9/2000 EI-1 “Essential” Rhapsody in C++ Introduction.
Ashish Gupta Manan Sanghi Integrated Framework for Visualization and Analysis of Platforms.
Software Language Levels Machine Language (Binary) Assembly Language –Assembler converts Assembly into machine High Level Languages (C, Perl, Shell)
Program Flow Charting How to tackle the beginning stage a program design.
XML Exchange Development CAM Technology Tutorial – Public Sector NIEM Team, June 2011 CAM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
 ETL: Extract Transformation and Load  Term is used to describe data migration or data conversion process  ETL may be part of the business process repeated.
Doxygen: Source Code Documentation Generator John Tully.
JDF Toolkits for JDF and JMF
Project Rickshaw SEARCH - FIND - GO. Project Rickshaw TEAM MEMBERS KEVIN AUGUSTINO – MATT FOX – DAVID MOORE SPONSORS KARASU TECHNOLOGIES - ERIK PAUL -
October 30, 2008 Extensible Workflow Management for Simmod ESUG32, Frankfurt, Oct 30, 2008 Alexander Scharnweber (DLR) October 30, 2008 Slide 1 > Extensible.
Zubanov Alexei, 2006 Aug 07 – Sep 28 QtROOT package extension with Coin3D lib.
CCS APPS CODE COVERAGE. CCS APPS Code Coverage Definition: –The amount of code within a program that is exercised Uses: –Important for discovering code.
Introduction Purpose This course describes the process of installing the KPIT GNU toolchain on your PC. Objective Learn how easy it is to get information.
Visual Linker Final presentation.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
TRACEREP: GATEWAY FOR SHARING AND COLLECTING TRACES IN HPC SYSTEMS Iván Pérez Enrique Vallejo José Luis Bosque University of Cantabria TraceRep IWSG'15.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Purpose  This training module provides an overview of optimization techniques used in.
Lesson 6. GCSE Computing – programming languages Candidates should be able to:  describe common tools and facilities available in an integrated development.
Configuration Management (CM)
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
Project Transcender Standard Windows Forms to Windows 8 Metro Style porting tool Sri Lanka Institute of Information Technology 1.
Productivity Tools Ken Nguyen Department of Information Technology Clayton State University.
Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional.
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
CASE Tools Union Palenshus. In the early days… ► Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders,
Background Nowadays, different software systems developed in- house are growing; companies or organization is facing problems of new collaborations and.
Software Merge Project Last time the background was poor so we decided to make it much better.
Creating a Qt Widget Based Application From Qt Creator Manual.
Test Specifications A Specification System for Multi-Platform Test Suite Configuration, Build, and Execution Greg Cooksey.
This material exempt per Department of Commerce license exception TSU Address Management.
1 Circuitscape Design Review Presentation Team Circuitscape Mike Schulte Sean Collins Katie Rankin Carl Reniker.
Compiler Construction (CS-636)
Chapter 1 Introduction. Chapter 1 -- Introduction2  Def: Compiler --  a program that translates a program written in a language like Pascal, C, PL/I,
Low-Level Virtual Machine support for Eclipse C/C++ Development Tooling Petri Tuononen - 17/5/2011.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
Supervised By: Dr. Juergen Dingel Suchita Ganesan, Laith “Leo” Juwaidah, Nondini Das Madiha Kazmi, Mojtaba Bagherzadeh Model-Based Monitoring for PapyrusRT.
The Netnice Module for Firewall Builder Patrick Myers West Virginia University.
Cross Language Clone Analysis Team 2 February 3, 2011.
Summer Project Marama2008 By Robert and Johnson. What is Marama? Marama is an Eclipses based toolset permits rapid specification of notational elements,
1 Circuitscape Capstone Presentation Team Circuitscape Katie Rankin Mike Schulte Carl Reniker Sean Collins.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
Chapter – 8 Software Tools.
ICS312 Introduction to Compilers Set 23. What is a Compiler? A compiler is software (a program) that translates a high-level programming language to machine.
Simulation of O2 offline processing – 02/2015 Faculty of Electrical Engineering, Mechanical Engineering and Naval Architecture Eugen Mudnić.
1 Example Uses of Java Reflection Explained Simply.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Supervised By: Dr. Juergen Dingel Suchita Ganesan, Laith “Leo” Juwaidah, Nondini Das Nicolas Hili, Reza Ahmadi Model-Based Monitoring for PapyrusRT 5/5/20161.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
Visual Linker ADD presentation. slide 2  Project Overview And Vision  Project System View  The System Life Cycle  Data Model and.
Code Composer Studio Compile EditAsm LinkDebug File In File OutProfileGraphStatistics IDE – Integrated Development Environment SIM DSK EVM Emulator RTDX.
Ashima Wadhwa Assistant Professor(giBS)
Preliminary Report: PLC Trainer
Chapter 5- Assembling , Linking, and Executing Programs
RedOffice4.5 UI Implementation
EPANET-MATLAB Toolkit An Open-Source Software for Interfacing EPANET with MATLAB™ Demetrios ELIADES, Marios KYRIAKOU, Stelios VRACHIMIS and Marios POLYCARPOU.
HP C/C++ Remote developer plug-in for Eclipse
and Executing Programs
Prototype using PowerPoint
Chapter 1 Introduction.
Systems Programming & Operating Systems Unit – III
Presentation transcript:

Visual Linker Prototype presentation

slide 2  Project overview and vision  Main project challenges  Lnk File parsing using LEX & YACC  Coff files parsing  GUI Prototype Using Qt framework  Proof of concept and conclusions  Glimpse to the project near future Outline

slide 3  DSP Environment  Compilation chain  Linking and linker script file  Integration with SmartNCode™ environment Project overview *.c, *.h Source code Editor *.asm Compiler *.o, *.lib Assembler *.a - executable Linker

slide 4  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 5 Main project challenges  LNK files parsing  COFF files parsing  Code Generation  Advanced GUI Programing using Qt framework  Two way “GUI  Script” engine (optional feature).

slide 6 Lnk File parsing using LEX & YACC  The Lnk file parser is needed to load manually created /visual linker generated *.lnk files.  Parsing script elements  Translation from STL primitive elements to Qt elements

slide 7 Lnk File parsing using LEX & YACC

slide 8 Lnk File parsing using LEX & YACC

slide 9 Lnk File parsing using LEX & YACC

slide 10 Coff files parsing  Parsing Capabilities  Object Files (*.o)  Libraries (*.lib)  Section Extraction  Function Extraction  Sections Merging

slide 11 Coff files parsing  We will demonstrate using an example.

slide 12 Coff files parsing

slide 13 Coff files parsing  After compilation 2 Object files are created:  Main.o  Header.o  In the link process we will link 4 object files – the two above and two more system object, crt0.o and crtN.o  Now lets see the object files parser output.

slide 14 Coff files parsing

slide 15 Coff files parsing

slide 16 Coff files parsing

slide 17  As describes in the ARD document, we implemented the prototype:  Parsed and merged sections from the coff files  Parsed classes from an input *.lnk file  We experimented with Model-View-Controller Qt implementation, Extending Views, Models and Delegates Classes. GUI Prototype Using Qt framework

slide 18 GUI Prototype Using Qt framework

slide 19 GUI Prototype Using Qt framework

slide 20 GUI Prototype Using Qt framework

slide 21 Prototype conclusions  Lnk parsing task is feasible and taking no more than 2 milliseconds as required in the ARD document.  Object’s and libraries parsing is taking a bit longer than expected – we should check how to optimize the process.  Qt’s QUI frame work is good, it is possible to learn it using it documentation and Examples  In general – the project is massive but feasible.

slide 22 Glimpse to the near future  “Real GUI” design and UI Polishing  Code Generation Module  Drag and Drop  Undo and Redo Features  User Scripting using the GUI

slide 23 Questions?

slide 24 THANK YOU!