Suche senden
Hochladen
Toolchain
•
10 gefällt mir
•
15,168 views
Anil Kumar Pugalia
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 21
Empfohlen
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
systemd
systemd
nussbauml
Linux Internals - Part I
Linux Internals - Part I
Emertxe Information Technologies Pvt Ltd
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
Emertxe Information Technologies Pvt Ltd
Bootloaders
Bootloaders
Anil Kumar Pugalia
U Boot or Universal Bootloader
U Boot or Universal Bootloader
Satpal Parmar
Linux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platform
Emertxe Information Technologies Pvt Ltd
GCC, GNU compiler collection
GCC, GNU compiler collection
Alberto Bustamante Reyes
Weitere ähnliche Inhalte
Was ist angesagt?
Basic Linux Internals
Basic Linux Internals
mukul bhardwaj
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Jian-Hong Pan
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
shimosawa
Embedded Operating System - Linux
Embedded Operating System - Linux
Emertxe Information Technologies Pvt Ltd
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
Embedded Linux on ARM
Embedded Linux on ARM
Emertxe Information Technologies Pvt Ltd
Basics of boot-loader
Basics of boot-loader
iamumr
Block Drivers
Block Drivers
Anil Kumar Pugalia
GCC compiler
GCC compiler
Anil Pokhrel
Linux Kernel Tour
Linux Kernel Tour
samrat das
Architecture Of The Linux Kernel
Architecture Of The Linux Kernel
Dominique Cimafranca
Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)
Tushar B Kute
Android for Embedded Linux Developers
Android for Embedded Linux Developers
Opersys inc.
Yocto Project introduction
Yocto Project introduction
Yi-Hsiu Hsu
Linux Internals - Kernel/Core
Linux Internals - Kernel/Core
Shay Cohen
Bootloaders (U-Boot)
Bootloaders (U-Boot)
Omkar Rane
U-Boot - An universal bootloader
U-Boot - An universal bootloader
Emertxe Information Technologies Pvt Ltd
Board Bringup
Board Bringup
Anil Kumar Pugalia
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
Sherif Mousa
Linux Programming
Linux Programming
Emertxe Information Technologies Pvt Ltd
Was ist angesagt?
(20)
Basic Linux Internals
Basic Linux Internals
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
Embedded Operating System - Linux
Embedded Operating System - Linux
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
Embedded Linux on ARM
Embedded Linux on ARM
Basics of boot-loader
Basics of boot-loader
Block Drivers
Block Drivers
GCC compiler
GCC compiler
Linux Kernel Tour
Linux Kernel Tour
Architecture Of The Linux Kernel
Architecture Of The Linux Kernel
Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)
Android for Embedded Linux Developers
Android for Embedded Linux Developers
Yocto Project introduction
Yocto Project introduction
Linux Internals - Kernel/Core
Linux Internals - Kernel/Core
Bootloaders (U-Boot)
Bootloaders (U-Boot)
U-Boot - An universal bootloader
U-Boot - An universal bootloader
Board Bringup
Board Bringup
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
Linux Programming
Linux Programming
Ähnlich wie Toolchain
gcc and friends
gcc and friends
Anil Kumar Pugalia
From gcc to the autotools
From gcc to the autotools
Thierry Gayet
C# Production Debugging Made Easy
C# Production Debugging Made Easy
Alon Fliess
Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008
guestd9065
An Overview of the IHK/McKernel Multi-kernel Operating System
An Overview of the IHK/McKernel Multi-kernel Operating System
Linaro
Advance Android Application Development
Advance Android Application Development
Ramesh Prasad
Embedding Qt
Embedding Qt
FSCONS
Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024
Henry Schreiner
Dot netsupport in alpha five v11 coming soon
Dot netsupport in alpha five v11 coming soon
Richard Rabins
The Ten (10) Best C/C++ Productivity Tools, Plugins and Libraries
The Ten (10) Best C/C++ Productivity Tools, Plugins and Libraries
livecoding123
XPDDS18: A dive into kbuild - Cao jin, Fujitsu
XPDDS18: A dive into kbuild - Cao jin, Fujitsu
The Linux Foundation
Linux Internals Part - 2
Linux Internals Part - 2
SysPlay eLearning Academy for You
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
corehard_by
C programming first_session
C programming first_session
Keroles karam khalil
C programming first_session
C programming first_session
Keroles karam khalil
C# tutorial
C# tutorial
sarangowtham_gunnam
Autotools pratical training
Autotools pratical training
Thierry Gayet
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)
Soshi Nemoto
Life of a Chromium Developer
Life of a Chromium Developer
mpaproductions
Dotnet basics
Dotnet basics
Mir Majid
Ähnlich wie Toolchain
(20)
gcc and friends
gcc and friends
From gcc to the autotools
From gcc to the autotools
C# Production Debugging Made Easy
C# Production Debugging Made Easy
Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008
An Overview of the IHK/McKernel Multi-kernel Operating System
An Overview of the IHK/McKernel Multi-kernel Operating System
Advance Android Application Development
Advance Android Application Development
Embedding Qt
Embedding Qt
Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024
Dot netsupport in alpha five v11 coming soon
Dot netsupport in alpha five v11 coming soon
The Ten (10) Best C/C++ Productivity Tools, Plugins and Libraries
The Ten (10) Best C/C++ Productivity Tools, Plugins and Libraries
XPDDS18: A dive into kbuild - Cao jin, Fujitsu
XPDDS18: A dive into kbuild - Cao jin, Fujitsu
Linux Internals Part - 2
Linux Internals Part - 2
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
C programming first_session
C programming first_session
C programming first_session
C programming first_session
C# tutorial
C# tutorial
Autotools pratical training
Autotools pratical training
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)
Life of a Chromium Developer
Life of a Chromium Developer
Dotnet basics
Dotnet basics
Mehr von Anil Kumar Pugalia
File System Modules
File System Modules
Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Embedded C
Embedded C
Anil Kumar Pugalia
Embedded Software Design
Embedded Software Design
Anil Kumar Pugalia
Playing with R L C Circuits
Playing with R L C Circuits
Anil Kumar Pugalia
Audio Drivers
Audio Drivers
Anil Kumar Pugalia
Video Drivers
Video Drivers
Anil Kumar Pugalia
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Anil Kumar Pugalia
Shell Scripting
Shell Scripting
Anil Kumar Pugalia
References
References
Anil Kumar Pugalia
Functional Programming with LISP
Functional Programming with LISP
Anil Kumar Pugalia
Power of vi
Power of vi
Anil Kumar Pugalia
"make" system
"make" system
Anil Kumar Pugalia
Hardware Design for Software Hackers
Hardware Design for Software Hackers
Anil Kumar Pugalia
RPM Building
RPM Building
Anil Kumar Pugalia
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Anil Kumar Pugalia
Linux Network Management
Linux Network Management
Anil Kumar Pugalia
Mehr von Anil Kumar Pugalia
(20)
File System Modules
File System Modules
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Processes
Processes
System Calls
System Calls
Introduction to Linux
Introduction to Linux
Embedded C
Embedded C
Embedded Software Design
Embedded Software Design
Playing with R L C Circuits
Playing with R L C Circuits
Audio Drivers
Audio Drivers
Video Drivers
Video Drivers
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Shell Scripting
Shell Scripting
References
References
Functional Programming with LISP
Functional Programming with LISP
Power of vi
Power of vi
"make" system
"make" system
Hardware Design for Software Hackers
Hardware Design for Software Hackers
RPM Building
RPM Building
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Linux Network Management
Linux Network Management
Kürzlich hochgeladen
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
Md Hossain Ali
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
Adtran
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
DianaGray10
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
ThousandEyes
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
bruanjhuli
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
IES VE
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
SkyPlanner
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
YounusS2
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
GDSC PJATK
Introduction to Quantum Computing
Introduction to Quantum Computing
GDSC PJATK
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
Udaiappa Ramachandran
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
Aggregage
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IES VE
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
DianaGray10
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
DianaGray10
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
infogdgmi
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
shyamraj55
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Commit University
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
Bachir Benyammi
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
Daniel Santiago Silva Capera
Kürzlich hochgeladen
(20)
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
Introduction to Quantum Computing
Introduction to Quantum Computing
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
Toolchain
1.
Toolchain © 2010-14
SysPlay Workshops <workshop@sysplay.in> All Rights Reserved.
2.
What to Expect?
W's of a Toolchain W's & How's of Cross Toolchain? Building a Cross Toolchain Testing a Cross Toolchain © 2010-14 SysPlay Workshops <workshop@sysplay.in> 2 All Rights Reserved.
3.
What is a
Toolchain? Collection of Tools In Embedded context Collection of C Compiler & its Friends Categorized under 3 umbrella C Compiler (gcc) Set of C Libraries (e.g. glibc, uClibc) Binary Utilities (binutils) © 2010-14 SysPlay Workshops <workshop@sysplay.in> 3 All Rights Reserved.
4.
Check on gcc
How do you do the following? Generate Object Code Generate Assembly Code Generate Pre-processed Code Generate a Shared Library Adding Header Path Adding Library Path Linking a Library Excluding standard includes & libraries Adding a “#define” © 2010-14 SysPlay Workshops <workshop@sysplay.in> 4 All Rights Reserved.
5.
gcc Internals .c
.i IC (parse trees, ...) .S .o .exe © 2010-14 SysPlay Workshops <workshop@sysplay.in> 5 All Rights Reserved. Pre Processor ICG (machine independent) ICG (machine dependent) Assembler (as) Linker (ld) gcc core gcc wrapper gcc -S gcc -c gcc gcc -E
6.
Set of C
Libraries Generally useful Libraries C, Math, Thread, Socket, … Various Options glibc Complete featured but heavy on memory Highly standard compatible uClibc Light-weight with mostly same features But not that much standards compatible Diet libc Similar to uClibc, just that this has been done from scratch Emphasis on minimizing size & optimizing performance © 2010-14 SysPlay Workshops <workshop@sysplay.in> 6 All Rights Reserved.
7.
Binary Utilities as
– GNU Assembler ld – GNU Linker gasp – GNU Assembler Pre-processor ar – Creates & Manipulates Archives nm – Lists the symbols in an Object file objcopy – Copies & Translates Object files objdump – Displays info about Content of the Object files ranlib – Generates an index to the content of Object files readelf – Displays info about an ELF format Object file size – Lists the sizes of sections within an Object file strings – Prints the strings of printable characters in Object files strip – Strips symbols from Object files c++filt – Converts low-level, mangled assembly labels resulting from overloaded C++ functions to their user-level names addr2line – Converts addresses into line numbers within original source files © 2010-14 SysPlay Workshops <workshop@sysplay.in> 7 All Rights Reserved.
8.
What is Cross?
gcc Example: gcc vs cross gcc src Host Native gcc Target Native gcc © 2010-14 SysPlay Workshops <workshop@sysplay.in> 8 All Rights Reserved. Host prog src Host exe prog Target Tgt exe prog Cross gcc
9.
What is a
Cross Toolchain? Toolchain which has all “cross” tools © 2010-14 SysPlay Workshops <workshop@sysplay.in> 9 All Rights Reserved.
10.
Why we need
a Cross Toolchain? Embedded Systems are constrained Toolchain demands heavy memory & performance May not always have a console interface Even if there, may be minimal Ease of Development Complete accustomed Development Environment on the Host Favourite Editors, GUIs, … © 2010-14 SysPlay Workshops <workshop@sysplay.in> 10 All Rights Reserved.
11.
How to get
a Cross Toolchain? Get it pre-compiled from vendors Popular: Code sourcery Local: Requirement specific Build your own Doing it manually is a complicated process Inter Package version compatibility is the biggest challenge But various automated tools are available today to simplify the process © 2010-14 SysPlay Workshops <workshop@sysplay.in> 11 All Rights Reserved.
12.
Automated Build Tools
Crosstool crosstool-ng.org Buildroot buildroot.org Ptxdist ptxdist.org © 2010-14 SysPlay Workshops <workshop@sysplay.in> 12 All Rights Reserved.
13.
Cross Toolchain Building
Overview Build of various GNU Packages involved Typical Build Steps for these Packages Download & Unpack the source of the Package Configure the Package for Cross-Platform Development Build the Package (make) Install the Package (make install) Configuring involves setting up build, host, target ./configure build=... host=... target=... Using Triplet: cpu[-manufacturer][-kernel][-os/obj_file_fmt] Examples: i386-pc-linux-gnu, xscale-sun-solaris2.5/elf Tool Prefix: Same as the triplet © 2010-14 SysPlay Workshops <workshop@sysplay.in> 13 All Rights Reserved.
14.
Cross Toolchain Headers
© 2010-14 SysPlay Workshops <workshop@sysplay.in> 14 All Rights Reserved. Linux Kernel Headers User Specific Headers extract C Library Headers User Space Headers From the Kernel Sources /usr/include
15.
Cross Toolchain Component
Dependency Cross Full gcc (gcc, g++) kernel hdrs library hdrs © 2010-14 SysPlay Workshops <workshop@sysplay.in> 15 All Rights Reserved. Native gcc Cross binutils Cross bootstrap gcc (xgcc) Target Libraries binutils gcc library Source Code src
16.
Cross Toolchain Building
Steps Set up Linux Kernel Headers Ideally from the Kernel version being used Commands make ARCH=<arch> headers_check make ARCH=<arch> INSTALL_HDR_PATH=install_dir/ headers_install Build Binary Utilities Build the bootstrap Compiler (The C only Compiler) Build the C Library Build the full Compiler © 2010-14 SysPlay Workshops <workshop@sysplay.in> 16 All Rights Reserved.
17.
Building a Toolchain
using Crosstool Install the Crosstool cd cross-tool-ng ./configure –prefix=/opt/board/ make make install cp ct-ng.comp /etc/bash_completion.d/ export PATH=$PATH:/opt/board/bin/ © 2010-14 SysPlay Workshops <workshop@sysplay.in> 17 All Rights Reserved.
18.
Building a Toolchain
using Crosstool Build the Toolchain mkdir ct-build src cd ct-build/ mkdir .build cp Templates/Toolchain/sources.tgz .build/ (available from Downloads section of http://sysplay.in) ct-ng menuconfig ct-ng build © 2010-14 SysPlay Workshops <workshop@sysplay.in> 18 All Rights Reserved.
19.
Testing a Cross
Toolchain Compile a C program to various stages Pre-process only Get Assembly Get Object Get Executable Compile a C program with headers Compile a C program with linking libraries Create a C Program with floating point operations Execute & Test the generated target programs Toolchain “Self Contained” Test © 2010-14 SysPlay Workshops <workshop@sysplay.in> 19 All Rights Reserved.
20.
What all have
we learnt? W's of a Toolchain Compiler Binary Utilities Set of C Libraries W's & How's of Cross Toolchain? Building a Cross Toolchain Building Steps Automated Build Tools Testing a Cross Toolchain © 2010-14 SysPlay Workshops <workshop@sysplay.in> 20 All Rights Reserved.
21.
Any Queries? ©
2010-14 SysPlay Workshops <workshop@sysplay.in> 21 All Rights Reserved.