C & C++ Development for Custom Instruction Set Architectures with GNU or LLVM Toolchains
On-demand Web Seminar
Your custom SoC needs its own carefully tuned instruction set architecture designed to make maximum use of every transistor to deliver the performance your application needs. This is true for a DSP, a VLIW network processor, a massively multicore image processor, or a superscalar deeply pipelined predicated execution SIMD engine with special-purpose statistical counters.
You can program your SoC in assembly language. And, for inner loops and critical code paths, you certainly will. But, there's a lot of control code needed. You might even want to run Linux or uClinux, or at least an RTOS. Your application programmers aren't all going to find it easy to become experts in a special-purpose assembly language and will need to program in C or C++.
There are two strong open-source technologies that you could use to build a C/C++ compiler (and related tools) for your SoC. You can use the GNU toolchain, including GCC, GDB etc. the venerable market leader, used to build Linux, Android™, and real-time operating systems like Nucleus®. Or, you can build a LLVM toolchain, a newer toolset used by Apple® to build OS X® and iOS®.
What You Will Learn
- The differences between the GNU and LLVM toolchains
- The steps necessary to build a C/C++ compiler for a custom instruction set architecture
- The challenges of building a C/C++ compiler
- The licensing implications of using open-source software with a highly proprietary SoC
About the Presenters
Nathan Sidwell is the Director of Sourcery Services at Mentor Graphics Embedded Software Division. Previously, Nathan worked at CodeSourcery, acquired by Mentor Graphics in 2010. He has worked with computer architectures and compilation systems for over 25 years. Nathan has been a GCC developer for 15 years, working on components such as the C++ front end, code generation for various established architectures and porting to new architectures.
Meador is a Sourcerer on the Mentor Graphics CodeBench team.
He began working on C/C++ toolchains at Microsoft in 2002. After Microsoft he joined Mentor Graphics in 2004 where he has worked on the EDGE C/C++ toolchain, Nucleus, the Linux kernel, QEMU, GCC, Binutils, and various Standard C libraries. He is also an active Open Source contributor and can often be found contributing to Python and LLVM.
Iain is a Sourcerer on the Toolchain Services team.He joined Mentor Graphics in 2012 after working as an R&D consultant in the defence and aerospace sector since 1980, which involved tools and algorithm designs on a wide variety of embedded and hosted systems using both conventional and custom hardware. Since joining Mentor Graphics, he has worked on both the GCC and LLVM toolchains; most recently completing a LLVM & clang port for a novel architecture. Iain has been a contributor for a number of years to the Darwin(OSX) GCC port and to the GCC Objective-C front end.
Mark Mitchell is the General Manager of open source solutions for the Mentor Graphics Embedded Software Division. Before joining Mentor Graphics, Mark Mitchell was the founder and Chief Sourcerer of CodeSourcery, Inc., which Mentor acquired in 2010. Mark has worked on C/C++ software development tools since 1994, and has been involved in Free Software Foundation’s (FSF) GNU Compiler Collection (GCC). Since 2001, he has been an active member of the GCC Steering Committee. He holds degrees in computer science from Harvard University and Stanford University.
Who Should View
- Business owners responsible for software enablement of SoCs
- Designers of SoCs
- Compiler developers
- Embedded tools developers
Debugging Multicore and Heterogeneous Embedded Systems
Learn how to debug complex multi operating system, multi-core and heterogeneous architecture based systems independently and simultaneously with the latest version of Sourcery Codebench combined with Mentor...…
Enabling Linux Development on AMD G-Series and R-Series Embedded Processors
In this webinar we introduce you to the Mentor Embedded Linux runtime and build infrastructure based on technology from The Yocto Project™ in conjunction with the Sourcery CodeBench IDE, and Sourcery...…
Other Related Resources
LTTng Userspace Tracing with Sourcery CodeBench: A Tutorial
White Paper: Tracing records critical information about system behavior with little performance overhead is the first step to diagnosing problems that can't be solved with breakpoints and interactive debuggers. By revealing...…
Sourcery CodeBench Virtual Edition Evaluation Request
Software Evaluation: Speed up product delivery while improving hardware and system quality. Request an evaluation of Sourcery CodeBench Virtual Edition.…