Top Banner
Introduction Purpose • This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas HEW (High-performance Embedded Workshop) integrated development environment. Objectives • Learn about the history, license, benefits, prerequisites, and other basic aspects of GNU tools. • Understand GNU terminology and toolchain contents. • Learn basic facts about KPIT GNU tools and credentials. • Know where to go for additional information Content • 18 pages • 2 questions Learning Time • 35 minutes
18

Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

Dec 26, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

Introduction

Purpose • This training course introduces the free GNU tools that can be used for

debugging embedded system application software in the Renesas HEW (High-performance Embedded Workshop) integrated development environment.

Objectives • Learn about the history, license, benefits, prerequisites, and other basic

aspects of GNU tools.

• Understand GNU terminology and toolchain contents.

• Learn basic facts about KPIT GNU tools and credentials.

• Know where to go for additional information

Content• 18 pages • 2 questions

Learning Time• 35 minutes

Page 2: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

• Recursive acronym for "GNU's Not Unix“

• UNIX-compatible software system

• GNU project is “Free software” developed by Free Software Foundation (FSF), founded by Richard Stallman

• GNU General Public License (GPL) — Intended to guarantee the freedom to share and change free software

What Is GNU?

1983 1984 1985 1989

Plan for G

NU project announced by Stallm

an

Software development s

tarted

1991

FSF established by Stallm

an

First v

ersion of GNU G

PL released

GNU/Linux: Integrated combinatio

n of GNU

operatin

g system with

the “Linux Kernel”

writt

en by Linus Torvalds in 1991

History of GNU

Page 3: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

Basic GNU Philosophy: Produce open, non-proprietary software

GNU operating system is free software

- Gives users freedom to run, copy, distribute, study, change, and improve the software

- Has only one restriction: Users cannot limit further redistribution

- Provides freedom that is a matter of liberty, not price

GNU Freedom, Benefits

Because GNU software is open, it …

- Is fast, powerful, and more portable than its proprietary counterparts

- Evolves more rapidly than proprietary code, since users who want to make improvements are free to do so

Page 4: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

GPL allows you to:

• Redistribute copies of free software

• Obtain the source code

• Change the source code or use pieces of it in new free programs

However. . .

• Changed source code must also be under GPL

General Public License

For more information:

http://www.gnu.org/licenses/gpl-faq.html

http://www.gnu.org/philosophy/selling.html

Page 5: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

GNUCompiler

GNU Debugger

GNU Assembler

GNU Linker

Other utilities

Binutils

GNU Tools

What are GNU Tools?

• Complete set of tools for development of application software for embedded systems.

CLibraries

Page 6: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

Cost Available freely in source format

Host platform Easily ported to multiple host platforms, such as Windows, Unix, and Linux

Target platform Support available for a wide range of target CPUs, and new CPUs can be added easily

Language Support provided for all widely-used and standardized compiler languages: C, C++, Java, Ada, Fortran

Obsolescence Not an issue, due to open-source implementation

Portability Possesses uniform assembler language, linker syntax

Vendors Users aren’t locked to any vendor, nor limited to set of suppliers

Why Use GNU Tools?

Page 7: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

• Pros

- Tools are free

- Source code is included

- Bugs are fixed quickly and help is readily available through a vast support network on the Internet

- Mailing lists are available for queries and enhancements

• Cons

- No one commercial company is responsible for GNU tools

Pros and Cons of GNU Tools

Page 8: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

Which of these statements correctly describe the advantages of using GNU tools? Select all that apply and then click Done.

A. GNU software is open, so it is more portable, evolves more rapidly, and is less prone to obsolescence than its proprietary counterparts.

B. GNU software is free software, so it is always redistributed without cost.

C. Recipients of the GNU GPL can change the source code, but this changed code must also be under GPL.

D. GNU development tools include a compiler, debugger, assembler, linker, and other binary utilities.

Question

Done

Page 9: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

GNU Tools Checklist:

Sources downloaded from FSF websites

Linux or Unix Emulator (such as Cygwin) for building

Disk space to process the data

Knowledge about the build procedure

Prerequisites for Using Tools

Page 10: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

• Build system – System on which the tools are built

• Host system – System on which the tools will run

• Target system – System for which the tools generate code

• Cross compiler – Compiler that produces programs that run on a different system

Windows System SH Embedded System

HOST TARGET

Development team needs a compiler that executes in the Windows environment, but produces executable code that can run on

an SH target. Thus, it needs a cross compiler.

Terminology

Typical Application Development Situation

Page 11: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

• GCC: Compiler source code

• Binutils: Contains the source code of the assembler, linker, and other binary utilities such as “objcopy,” “nm,” “ranlib,” etc.

• Newlib: Collection of C libraries, including math library and various board-support packages ["libgloss"] for embedded systems

• GDB: GNU’s source-level debugger that lets you see what is going on “inside” your program while it executes

Contents of GNU Toolchain

Page 12: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

GCC:

• Includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj, etc.)

• Works on native and cross targets

• Supports popular target processors, including Renesas SuperH, M16C, and H8 families, as well as ARM and MIPS chips

• Has source code consisting of GCC and many binary utilities such as ld, objcopy, strip, etc.

• Provides Configure scripts and Makefiles for configuring and building the GCC toolchain for host and target systems

GNU Compiler Source Code

Page 13: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

GNU as

GCC

.c File

GNU ld

ELF .out

Newlib

Target assembly code

Relocatable machine code

Absolute machine code

Source program

Source code

Compiler

Assembler

Linker

Object code

GNU Compilation Process

Libraries

Page 14: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

• Proven, pre-built, proven binary tools that allow more time for application development

- Compiler source code, Binutils, Newlib, and GDB source-level debugger that shows what is happening inside program as it executes

• Tested and optimized for Renesas targets

• Free and easy to use

• Available for Windows and Linux platforms

• Easy download and installation

• Integrated with Renesas’ proprietary tools

• Free technical support at dedicated web portal - GDB stubs, monitor programs, tutorials, documentation,

FAQs, and discussion forum

KPIT GNU Tools

Page 15: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

Support for all Renesas devices

Supporting Renesas

processors for last 5

years

Free and easy download +

easy installationPosted more

than 90 patches to FSF

Maintainer & check-in rights for different

GNU tools

FREE and prompt

technical support

8500+ registered

users

2100+ downloads per

month

KPIT GNU Tools Credentials

Best GNU package for

Renesas processors

Page 16: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

• KPIT GNU Tools for Renesas targets:http://www.kpitgnutools.com

• GNU Compiler Collection (gcc):

http://gcc.gnu.org/

• Binary Utilities (binutils): http://sourceware.org/binutils/

• Standard Libraries (newlib):http://sourceware.org/newlib/

• GNU Debugger (gdb): http://sourceware.org/gdb/

• GNU Packages:http://www.gnu.org/softwarehttp://directory.fsf.org/GNU

http://ftp.gnu.org

Sources for More Information

Page 17: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

Match each GNU item to the most appropriate explanation by dragging the letters on the left to the correct locations on the right. Click Done when you are finished.

GDB

BinutilsB D

Done ResetShow

Solution

AGNU source-level debugger that lets you see what is going on “inside” your programA

C GCC

Executes in one system but can produce programs that run in a different system

B Contain the source code of the assembler, linker, and other binary utilities

D Cross Compiler CCompiler source code that includes front ends for C, C++, Objective-C, Fortran, Java, and ADA

Question

Page 18: Introduction Purpose This training course introduces the free GNU tools that can be used for debugging embedded system application software in the Renesas.

• Basic information about GNU tools

• Reasons for using them

• Prerequisites for using them

• KPIT GNU tools

• References

Course Summary

For more information, please visit our Web site:http://america.renesas.com