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
In this presentation we will review standard debugging techniques and how they work for embedded debugging particularly, then move on to some more advanced gadgets in the toolbox, and wrap up by exposing...…View On-demand Web Seminar
Improve your embedded development process with advanced software insight and new capabilities in the latest release of Sourcery CodeBench
The latest release of Sourcery CodeBench includes powerful new capabilities and features, enabling increased insight into your software’s performance and behavior.…View On-demand Web Seminar
Debug and optimize Linux drivers & applications before silicon is available using virtual prototypes and emulators
Learn how before (and after) first silicon is available you can bring up a complete Linux stack and remain in your native embedded software development environment and develop, debug and optimize their...…View On-demand Web Seminar
Other Related Resources
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...…View White Paper
Software Evaluation: Speed up product delivery while improving hardware and system quality. Request an evaluation of Sourcery CodeBench Virtual Edition.…View Software Evaluation