TMS320C6000 Optimizing Compiler V 7.3 User's Guide

Total Page:16

File Type:pdf, Size:1020Kb

TMS320C6000 Optimizing Compiler V 7.3 User's Guide TMS320C6000 Optimizing Compiler v 7.3 User's Guide Literature Number: SPRU187T July 2011 2 SPRU187T–July 2011 Submit Documentation Feedback Copyright © 2011, Texas Instruments Incorporated Contents Preface ...................................................................................................................................... 13 1 Introduction to the Software Development Tools ................................................................... 17 1.1 Software Development Tools Overview ................................................................................ 18 1.2 C/C++ Compiler Overview ................................................................................................ 19 1.2.1 ANSI/ISO Standard ............................................................................................... 19 1.2.2 Output Files ....................................................................................................... 20 1.2.3 Compiler Interface ................................................................................................ 20 1.2.4 Utilities ............................................................................................................. 20 2 Using the C/C++ Compiler .................................................................................................. 21 2.1 About the Compiler ........................................................................................................ 22 2.2 Invoking the C/C++ Compiler ............................................................................................ 22 2.3 Changing the Compiler's Behavior With Options ...................................................................... 23 2.3.1 Frequently Used Options ........................................................................................ 34 2.3.2 Miscellaneous Useful Options .................................................................................. 36 2.3.3 Run-Time Model Options ........................................................................................ 37 2.3.4 Selecting Target CPU Version (--silicon_version Option) ................................................... 38 2.3.5 Symbolic Debugging and Profiling Options ................................................................... 38 2.3.6 Specifying Filenames ............................................................................................ 40 2.3.7 Changing How the Compiler Interprets Filenames ........................................................... 40 2.3.8 Changing How the Compiler Processes C Files ............................................................. 41 2.3.9 Changing How the Compiler Interprets and Names Extensions ........................................... 41 2.3.10 Specifying Directories ........................................................................................... 41 2.3.11 Assembler Options .............................................................................................. 42 2.3.12 Dynamic Linking ................................................................................................. 43 2.3.13 Deprecated Options ............................................................................................. 44 2.4 Controlling the Compiler Through Environment Variables ........................................................... 44 2.4.1 Setting Default Compiler Options (C6X_C_OPTION) ....................................................... 44 2.4.2 Naming an Alternate Directory (C6X_C_DIR) ................................................................ 45 2.5 Precompiled Header Support ............................................................................................ 46 2.5.1 Automatic Precompiled Header ................................................................................. 46 2.5.2 Manual Precompiled Header .................................................................................... 46 2.5.3 Additional Precompiled Header Options ....................................................................... 46 2.6 Controlling the Preprocessor ............................................................................................. 47 2.6.1 Predefined Macro Names ....................................................................................... 47 2.6.2 The Search Path for #include Files ............................................................................ 48 2.6.3 Generating a Preprocessed Listing File (--preproc_only Option) .......................................... 49 2.6.4 Continuing Compilation After Preprocessing (--preproc_with_compile Option) .......................... 49 2.6.5 Generating a Preprocessed Listing File With Comments (--preproc_with_comment Option) .......... 49 2.6.6 Generating a Preprocessed Listing File With Line-Control Information (--preproc_with_line Option) ............................................................................................................. 49 2.6.7 Generating Preprocessed Output for a Make Utility (--preproc_dependency Option) ................... 50 2.6.8 Generating a List of Files Included With the #include Directive (--preproc_includes Option) .......... 50 2.6.9 Generating a List of Macros in a File (--preproc_macros Option) .......................................... 50 2.7 Understanding Diagnostic Messages ................................................................................... 50 2.7.1 Controlling Diagnostics .......................................................................................... 51 SPRU187T–July 2011 Contents 3 Submit Documentation Feedback Copyright © 2011, Texas Instruments Incorporated www.ti.com 2.7.2 How You Can Use Diagnostic Suppression Options ........................................................ 52 2.8 Other Messages ........................................................................................................... 53 2.9 Generating Cross-Reference Listing Information (--gen_acp_xref Option) ........................................ 53 2.10 Generating a Raw Listing File (--gen_acp_raw Option) .............................................................. 53 2.11 Using Inline Function Expansion ........................................................................................ 54 2.11.1 Inlining Intrinsic Operators ..................................................................................... 55 2.11.2 Automatic Inlining ................................................................................................ 55 2.11.3 Unguarded Definition-Controlled Inlining ..................................................................... 55 2.11.4 Guarded Inlining and the _INLINE Preprocessor Symbol .................................................. 55 2.11.5 Inlining Restrictions ............................................................................................. 57 2.12 Interrupt Flexibility Options (--interrupt_threshold Option) ........................................................... 57 2.13 Linking C6400 Code With C6200/C6700/Older C6400 Object Code ............................................... 58 2.14 Using Interlist ............................................................................................................... 58 2.15 Controlling Application Binary Interface ................................................................................ 60 2.16 Enabling Entry Hook and Exit Hook Functions ........................................................................ 61 3 Optimizing Your Code ........................................................................................................ 63 3.1 Invoking Optimization ..................................................................................................... 64 3.2 Optimizing Software Pipelining .......................................................................................... 65 3.2.1 Turn Off Software Pipelining (--disable_software_pipelining Option) ...................................... 66 3.2.2 Software Pipelining Information ................................................................................. 66 3.2.3 Collapsing Prologs and Epilogs for Improved Performance and Code Size .............................. 71 3.3 Redundant Loops .......................................................................................................... 74 3.4 Utilizing the Loop Buffer Using SPLOOP on C6400+, C6740, and C6600 ........................................ 75 3.5 Reducing Code Size (--opt_for_space (or -ms) Option) .............................................................. 75 3.6 Performing File-Level Optimization (--opt_level=3 option) ........................................................... 76 3.6.1 Controlling File-Level Optimization (--std_lib_func_def Options) ........................................... 76 3.6.2 Creating an Optimization Information File (--gen_opt_info Option) ........................................ 76 3.7 Performing Program-Level Optimization (--program_level_compile and --opt_level=3 options) ................ 77 3.7.1 Controlling Program-Level Optimization (--call_assumptions Option) ..................................... 77 3.7.2 Optimization Considerations When Mixing C/C++ and Assembly ......................................... 78 3.8 Using Feedback Directed Optimization ................................................................................. 79 3.8.1 Feedback Directed Optimization ..............................................................................
Recommended publications
  • Code Compose Code Composer Studio
    Code Composer Studio Code Composer Studio Developer(s) Texas Instruments Initial release 1999; 20 years ago Stable release 8.1 (8.1.0.00011) / 13 June 2018 ; 9 months ago Operating system Windows, Linux and macOS Platform IA-32 and x86-64 Available in 1 languages Type Integrated Development Environment Website ti.com/ccstudio Code Composer Studio (CCStudio or CCS) is an integrated development environment (IDE) to develop applications for Texas Instruments (TI) embedded processors. Texas Instruments embedded processors include TMS320 DSPs, OMAP system-on-a-chip, DaVinci system- on-a-chip, Sitara applications processors, Hercules microcontrollers, Simplelink MCUs (MSP432 and Wireless connectivity[2]microcontrollers), MSP430 and Tiva/Stellaris microcontrollers. It also enables debugging on several subsystems such as Ducati,[3] IVA Accelerator[4] and PRU-ICSS.[5] Code Composer Studio is primarily designed as for embedded project design and low-level (baremetal) JTAG based debugging. However, the latest releases are based on unmodified versions of the Eclipse open source IDE, which can be easily extended to include support for OS level application debug (Linux, Android, Windows Embedded) and open source compiler suites such as GCC. Early versions included a real time kernel called DSP/BIOS and its later inception SYS/BIOS. Currently, the successor to these tools, the TI-RTOS embedded tools ecosystem, is available for downloading as a free plugin to Code Composer Studio. History Originally Code Composer was a product from a company called GO DSP located in Toronto, Canada, and it was acquired by TI in 1997.[6] After the acquisition, Code Composer was bundled with a real-time kernel named DSP/BIOS[7] and its name was appended with the word Studio.
    [Show full text]
  • TMS320C6000 Optimizing Compiler V8.2.X User's Guide (Rev. B)
    TMS320C6000 Optimizing Compiler v8.2.x User's Guide Literature Number: SPRUI04B May 2017 Contents Preface....................................................................................................................................... 11 1 Introduction to the Software Development Tools.................................................................... 14 1.1 Software Development Tools Overview ................................................................................. 15 1.2 Compiler Interface.......................................................................................................... 16 1.3 ANSI/ISO Standard ........................................................................................................ 16 1.4 Output Files ................................................................................................................. 17 1.5 Utilities ....................................................................................................................... 17 2 Getting Started with the Code Generation Tools .................................................................... 18 2.1 How Code Composer Studio Projects Use the Compiler ............................................................. 18 2.2 Compiling from the Command Line ..................................................................................... 19 3 Using the C/C++ Compiler ................................................................................................... 20 3.1 About the Compiler........................................................................................................
    [Show full text]
  • Sitara Linux Software Developer's Guide Thank You for Choosing to Evaluate One of Our Sitara ARM Microprocessors [1]
    Sitara Linux Software Developer’s Guide v6.00.00.00 NOTE - This PDF is hyperlinked. Clicking on a link (typically bolded and underlined) will take you to that chapter or open the appropriate website. Contents Articles Sitara Linux Software Developer’s Guide 1 How to Build a Ubuntu Linux host under VMware 14 Sitara SDK Installer 29 Sitara Linux SDK Setup Script 32 AMSDK START HERE Script 36 Matrix Users Guide 38 AM335x Power Management User Guide 47 AM37x Power Management User Guide 51 OMAPL1: Changing the Operating Point 54 ARM Multimedia Users Guide 57 Camera Users Guide 81 Cryptography Users Guide 89 Oprofile User's Guide 97 WL127x WLAN and Bluetooth Demos 100 OMAP Wireless Connectivity OpenSource Compat Wireless Build 103 OMAP Wireless Connectivity mac80211 compat wireless implementation Architecture 104 OMAP Wireless Connectivity Battleship Game demo 106 AMSDK u-boot User's Guide 111 AMSDK Linux User's Guide 122 Code Composer Studio v5 Users Guide 127 Linux Debug in CCSv5 156 How to setup Remote System Explorer plug-in 169 How to Run GDB on CCSv5 185 Pin Mux Utility for ARM MPU Processors 193 Pin Setup Tool for AM18xx ARM Microprocessors 215 AM335x Flashing Tools Guide 223 Flash v1.6 User Guide 226 AM18x Flash Tool User's Guide 240 AMSDK File System Optimization/Customization 242 Sitara Linux Training 244 How to use a Mouse instead of the Touchscreen with Matrix 246 How to Recalibrate the Touchscreen 247 AM335x U-Boot User's Guide 248 Sitara Linux SDK Top-Level Makefile 264 Sitara Linux SDK GCC Toolchain 267 Sitara Linux SDK create SD card script 272 How to add a JVM 278 References Article Sources and Contributors 281 Image Sources, Licenses and Contributors 282 Article Licenses License 285 Sitara Linux Software Developer’s Guide 1 Sitara Linux Software Developer’s Guide For the SDG specific to your SDK release, please refer to Archived SDGs under Reference Documentation Welcome to the Sitara Linux Software Developer's Guide Thank you for choosing to evaluate one of our Sitara ARM microprocessors [1].
    [Show full text]
  • Code Composer Studio™ Integrated Development Environment (IDE) V5
    Code Composer Studio™ Integrated Development Environment (IDE) v5 Quick Start Guide Code Composer Studio™ IDE Version 5 Note: Depending on your operating system, there are some recommended steps to take: Quick Start Guide • WINDOWS®: By default, Microsoft Windows Vista and Windows 7 do not allow user level accounts to write files in the “Program Installation Requirements Files” directory. This can prevent the Code Composer Studio™ These operating platform requirements are necessary to install the IDE from starting when installed in the “Program Files” or Code Composer Studio Integrated Development Environment (IDE): “Program Files (x86)” directory, because the Code Composer Studio IDE stores configuration data by default in its install Minimum directory. Either of the following workarounds can be used to • 1.5-GHz Pentium-compatible CPU avoid this problem: • 1 GB of RAM (2 GB for Windows® 7) • Install the Code Composer Studio IDE outside the “Program • 300 MB of free hard disk space (minimal custom installation) Files” or “Program Files (x86)” directory • Local DVD-ROM drive • Instruct the Code Composer Studio IDE to store configuration data outside the “Program Files” or “Program Recommended Files (x86)” directory using the -configuration command line • Dual-core processor argument. The problem will not occur when running the Code Composer Studio IDE as the Administrator user, but • 4 GB of RAM this is not recommended because it compromises the • 2 GB of free hard disk space (typical installation) Windows Vista security model Supported operating systems • LINUX™: It is recommend to install as “root”. This avoids many issues with emulation device drivers. • Windows XP (32 and 64 bit) • Windows 7 (32 and 64 bit) • From a terminal, run the installer as sudo ccs_setup_5.x.x.xxxxxx.bin & • Linux™ • At the end of the install, DO NOT check the box Launch • Check the Wiki for more details on Linux Host support: Code Composer Studio.
    [Show full text]
  • TI-RTOS 2.20 for Cc13xx/Cc26xx Simplelink™ Wireless Mcus
    TI-RTOS 2.20 for CC13xx/CC26xx SimpleLink™ Wireless MCUs Getting Started Guide Literature Number: SPRUHU7D June 2016 Contents Preface . 3 1 About TI-RTOS . 4 1.1 What is TI-RTOS? . 4 1.2 What are the TI-RTOS Components?. 5 1.3 How Can I Find Example Projects? . 6 1.4 What Compilers and Targets are Supported? . 6 1.5 What Boards and Devices Have TI-RTOS Driver Examples? . 7 1.6 What Drivers Does TI-RTOS Include? . 7 1.7 For More Information . 8 2 Installing TI-RTOS . 10 2.1 System Requirements . 10 2.2 Installing Code Composer Studio . 11 2.3 Installing TI-RTOS in Code Composer Studio . 11 2.4 Installing TI-RTOS for Use in IAR Embedded Workbench . 12 2.5 Installing TI-RTOS as a Standalone Product . 12 3 Examples for TI-RTOS . 13 3.1 Creating Example Projects Using the Resource Explorer in CCS . 14 3.1.1 Creating an Empty TI-RTOS Project . 16 3.1.2 Creating Examples to Build via a Command Line . 16 3.2 Creating Examples with IAR Embedded Workbench . 17 3.3 Driver Examples: Readme Files and Common Features . 17 3.4 CC1310/CC2650 SimpleLink Development Kit Settings & Resources. 19 3.5 CC1310 SimpleLink LaunchPad Settings & Resources . 21 3.6 CC1350 SimpleLink LaunchPad Settings & Resources . 23 3.7 CC1350 SimpleLink SensorTag Settings & Resources . 25 3.8 CC2650 SimpleLink LaunchPad Settings & Resources . 27 3.9 CC2650 SimpleLink SensorTag Settings and Resources . 28 3.10 <Board>.c File . 30 3.11 Updating driverlib for CC13xx/CC26xx . 30 3.11.1 Building with CCS .
    [Show full text]
  • MSP430 GCC User's Guide (Rev. E)
    User's Guide SLAU646E–September 2015–Revised June 2019 MSP430 GCC This manual describes the setup and basic operation of the MSP430™ GCC compiler and the software development environment. Contents 1 Introduction ................................................................................................................... 6 2 Installing MSP430 GCC Compiler ......................................................................................... 6 2.1 Installing MSP430 GCC in CCS Releases Before v7.2........................................................ 7 2.2 Installing MSP430 GCC as Stand-Alone Package ............................................................. 9 3 Using MSP430 GCC Within CCS ........................................................................................ 10 3.1 Create New Project ............................................................................................... 10 3.2 Debug Using MSP-FET, MSPFET430UIF, eZ-FET, eZ430 ................................................. 11 3.3 Build Options for MSP430 GCC................................................................................. 11 3.4 Change an Existing CCS project That Uses TI Compiler to MSP430 GCC ............................... 30 3.5 Create a New CDT Project Using MSP430 GCC ............................................................. 30 3.6 GDB With MSP430 and CCSv6 ................................................................................. 30 3.7 CCS Compared to MSP430 GCC..............................................................................
    [Show full text]
  • Am437x Sitara™ Processors Datasheet
    Product Order Technical Tools & Support & Reference Folder Now Documents Software Community Design AM4372, AM4376, AM4377, AM4378, AM4379 SPRS851E –JUNE 2014–REVISED JANUARY 2019 AM437x Sitara™ Processors 1 Device Overview 1.1 Features 1 • Highlights – Secure Control Module (SCM) (Avaliable Only – Sitara™ ARM® Cortex®-A9 32-Bit RISC on AM437xHS Devices) Processor With Processing Speed up to – Emulation and Debug 1000 MHz – JTAG – NEON™ SIMD Coprocessor and Vector – Embedded Trace Buffer Floating Point (VFPv3) Coprocessor – Interrupt Controller – 32KB of Both L1 Instruction and Data Cache • On-Chip Memory (Shared L3 RAM) – 256KB of L2 Cache or L3 RAM – 256KB of General-Purpose On-Chip Memory – 32-Bit LPDDR2, DDR3, and DDR3L Support Controller (OCMC) RAM – General-Purpose Memory Support (NAND, – Accessible to All Masters NOR, SRAM) Supporting up to 16-Bit ECC – Supports Retention for Fast Wakeup – SGX530 Graphics Engine – Up to 512KB of Total Internal RAM – Display Subsystem (256KB of ARM Memory Configured as L3 RAM – Programmable Real-Time Unit Subsystem and + 256KB of OCMC RAM) Industrial Communication Subsystem (PRU- • External Memory Interfaces (EMIFs) ICSS) – DDR Controllers: – Real-Time Clock (RTC) – LPDDR2: 266-MHz Clock (LPDDR2-533 Data – Up to Two USB 2.0 High-Speed Dual-Role Rate) (Host or Device) Ports With Integrated PHY – DDR3 and DDR3L: 400-MHz Clock (DDR- – 10, 100, and 1000 Ethernet Switch Supporting 800 Data Rate) up to Two Ports – 32-Bit Data Bus – Serial Interfaces: – 2GB of Total Addressable Space – Two Controller Area
    [Show full text]
  • Intro to the TI-RTOS Kernel Workshop Lab Manual
    in association with Intro to the TI-RTOS Kernel Workshop Lab Manual Intro to the TI-RTOS Kernel Workshop Lab Manual, Rev 2.0 – April 2016 Intro to the TI-RTOS Kernel Workshop - Cover 0 - 1 Notice Notice These materials, slides, labs, solutions were originally developed by Texas Instruments but were not updated beyond May 2015. Mindshare Advantage, LLC, is an “in association with TI” third party who continues to develop new labs/solutions and material for this workshop as well as continue to keep the labs up to date for all targets working correctly with the latest IDE and software tools from Texas Instruments. Texas Instruments has granted Mindshare Advantage, LLC exclusive permission to update and maintain this workshop as well as teach this workshop to TI customers around the world. If you plan to use this material for anything other than as a self-paced experience or print/view this manual as part of the tuition cost to attend this course, you must contact Mindshare Advantage first to receive permission. Mindshare Advantage reserves the right to update this Student (and Lab) Guide to reflect the most current product information for the spectrum of users. If there are any differences between this Guide and a technical reference manual, references should always be made to the most current reference manual and/or datasheet from Texas Instruments. Information contained in this publication is believed to be accurate and reliable. However, responsibility is assumed neither for its use nor any infringement of patents or rights of others that may result from its use.
    [Show full text]
  • How to Migrate CCS 3.X Projects to the Latest Code Composer Studio™ (CCS)
    www.ti.com Table of Contents Application Report How to Migrate CCS 3.x Projects to the Latest Code Composer Studio™ (CCS) DSP Processors ABSTRACT This application report covers the key points on how to migrate an legacy Code Composer Studio™ project developed probably years back to the latest CCS and tools. For this application report, the DSP processors is the main focus although the methods may be applicable to other processors as well. Table of Contents 1 Introduction.............................................................................................................................................................................2 2 CCS Migration......................................................................................................................................................................... 2 2.1 Deprecation Notices...........................................................................................................................................................2 2.2 CCS Training Within CCS.................................................................................................................................................. 3 2.3 CCS Legacy Project Import Wizard................................................................................................................................... 5 3 DSP/BIOS vs SYS/BIOS..........................................................................................................................................................5 3.1 Migrating Old Projects
    [Show full text]
  • Am335x Sitara Processors Datasheet (Rev. J)
    Product Sample & Technical Tools & Support & Reference Folder Buy Documents Software Community Design AM3359, AM3358, AM3357, AM3356, AM3354, AM3352, AM3351 SPRS717J –OCTOBER 2011–REVISED APRIL 2016 AM335x Sitara™ Processors 1 Device Overview 1.1 Features 1 • Up to 1-GHz Sitara™ ARM® Cortex®-A8 32‑Bit – Supports Protocols such as EtherCAT®, RISC Processor PROFIBUS, PROFINET, EtherNet/IP™, and – NEON™ SIMD Coprocessor More – 32KB of L1 Instruction and 32KB of Data Cache – Two Programmable Real-Time Units (PRUs) With Single-Error Detection (Parity) • 32-Bit Load/Store RISC Processor Capable – 256KB of L2 Cache With Error Correcting Code of Running at 200 MHz (ECC) • 8KB of Instruction RAM With Single-Error – 176KB of On-Chip Boot ROM Detection (Parity) – 64KB of Dedicated RAM • 8KB of Data RAM With Single-Error – Emulation and Debug - JTAG Detection (Parity) – Interrupt Controller (up to 128 Interrupt • Single-Cycle 32-Bit Multiplier With 64-Bit Requests) Accumulator • On-Chip Memory (Shared L3 RAM) • Enhanced GPIO Module Provides Shift- In/Out Support and Parallel Latch on – 64KB of General-Purpose On-Chip Memory External Signal Controller (OCMC) RAM – 12KB of Shared RAM With Single-Error – Accessible to All Masters Detection (Parity) – Supports Retention for Fast Wakeup – Three 120-Byte Register Banks Accessible by • External Memory Interfaces (EMIF) Each PRU – mDDR(LPDDR), DDR2, DDR3, DDR3L – Interrupt Controller (INTC) for Handling System Controller: Input Events • mDDR: 200-MHz Clock (400-MHz Data – Local Interconnect Bus for Connecting
    [Show full text]
  • Code Composer Studio Workshop Agenda
    Code Composer Studio Workshop Agenda • Overview presentation – What is Code Composer Studio v5 – Roadmap – What’s New in CCSv5 (from CCSv4 perspective) • Workshop – Getting comfortable with the CCSv5.1 environment – Uses TMS320F28069 controlSTICK CCS APPS CCS What is Code Composer Studio? • Integrated development environment for TI embedded processors – Includes debugger, compiler, editor, operating system… – The IDE is built on the Eclipse open source software framework – Extended by TI to support device capabilities • CCSv5 is based on “off the shelf” Eclipse – Going forward CCS will use unmodified versions of Eclipse • TI contributes changes directly to the open source community – Drop in Eclipse plug-ins from other vendors or take TI tools and drop them into an existing Eclipse environment – Users can take advantage of all the latest improvements in Eclipse • Integrate additional tools – OS application development tools (Linux, Android…) – Code analysis, source control… APPS CCS Code Composer Studio v5 • CCSv5 was split into two phases – 5.0 • Not a replacement for CCSv4 • Targeted at users who are using devices running Linux & multi-core C6000 • Addressed a need (Linux debug) that is not supported by CCSv4 • Deprecated in support and replaced by CCSv5.1 – 5.1 • Replacement for CCSv4 and is targeted at all users • Supports both Windows & Linux – Note that not all emulators will be supported on Linux • SD DSK/EVM onboard emulators, XDS560 PCI are not supported – Most USB/LAN emulators will be supported • XDS100, SD 510USB/USB+, 560v2,
    [Show full text]
  • Eclipse Based Environment for Multi-Architecture Cross Developments
    Faculdade de Engenharia da Universidade do Porto Eclipse based Environment for Multi-Architecture Cross Developments Flávio Emanuel Santos Dias Mestrado Integrado em Engenharia Electrotécnica e de Computadores Supervisor: João Paulo de Sousa July 29th, 2016 c Flávio Emanuel Santos Dias, 2016 Abstract As the pressure to meet stricter deadlines increases in order to deliver a project in time, hardware and software developers have been struggling to cut the time wasted on activities not directly related to the project. One of tools used to improve the productivity is the Integrated Development Environment (IDE), generally provided by the vendors of embedded system(s). This dissertation looks into the current state of the art of compilers, IDEs, programmers and debuggers on the attempt of unifying the development environments of some embedded systems architectures, under an Eclipse based IDE, thus providing an open-source and operating system agnostic platform that can be improved without the need to directly engage with the embedded systems vendors. A special focus is given to the current status of the debugging tools, since detecting defects is one of the main contributors to the increasing difficulties in estimating the delivery time of an hardware/software project. An additional study is performed on non-critical tools, such as version control systems and tools that generate documentation from annotated source files. When correctly used, they can provide a huge boost on the productivity of a developer or a team of developers. A proof of concept IDE is proposed, proving that the idea of integrating tools for different hardware architectures is feasible and showing that, unfortunately, the weakest part in that integration is the debug component.
    [Show full text]