This page contains a brief introduction to the ‘TI DSP step-by-step, C2000, C5000, and C6000’ book (published on August 2021). The book brings readers up to speed with TI DSPs in the shortest possible time. If you are a student and need to learn Texas Instrument Signal Processors, this book is for you.
How to get the book?
The example code for the book
Click here to download the code example. Make sure to read the ‘Readme.txt’ first.
The table of contents and the first chapter
Who should read the book?
This book is for beginner and intermediate levels. The book explains every step in detail and has no assumption about the reader’s previous experience and background. The only requirement is to be familiar with C programming.
If you are not familiar with TI DSP, this is the right book for you.
Where does the idea of the book come from?
Here in DSPgig, we provide training hardware and documents for TI DSPs. These hardware and documents are expensive for individuals. So we decided to have a book about TI DSP which does not need any hardware and can be used by anyone around the world. To make sure non-native English speakers can benefit from the book, we make sure to use simple English text in our documentation.
This book can be used as a reference for the training hardware we provided or used with any TI DSP hardware.
What is the book structure?
The book consists of 17 chapters with multiple examples and exercises for clear understanding. The first eight chapters need to be read in order since these chapters cover the basics of programming. After a short introduction, the book dives into more complex approaches to programming such as memory management, simulations, and additional options provided by the software.
The book is divided into two parts:
Part 1: Basics
The first eight chapters explain the basics of TI DSP programming:
- Code Composer Studio (chapter 1): CCS is the software used to program TI signal processors. The chapter reviews CCS briefly and guides the reader on creating the first C project and how to debug it. More advanced topics are explained in future chapters.
- Assembly programming (chapter 2): The chapter goes over the basics of registers, assembly commands, and using CCS for assembly projects.
- Memory management (chapter 3 and 4): The command file is introduced as a way to manage a C project like an assembly project. These chapters also review various types of sections and memory in CCS.
- The importance of the datasheet (chapter 5): The chapter focuses on the steps required to work with a new DSP and what part of the datasheet affects a new CCS project.
- Initialization (chapter 6 and 7): Chapter 6 covers initialization in C programming thoroughly, and chapter 7 explains why it is essential to understand the initialization process and how to benefit from it.
- Mixed C and assembly (chapter 8): The techniques used in projects with both C and assembly code. These techniques are the basics of more advanced programming.
Part 2: Advanced
The second part of the book concentrates on more practical concepts:
- Advanced DSP project management (chapters 9 and 10): DSP projects are complicated and need advanced tools for testing. Chapter 9 takes a look at preparing standard C programs to be used in CCS. This includes a detailed explanation of variables and the benefits of other advanced C compilers (such as Visual Studio). Chapter 10 teaches how to use MATLAB as part of advanced simulation techniques.
- DSP libraries (chapters 10 and 11): There are many libraries for TI DSP, but it is not straightforward to use them. In these chapters, the image and signal libraries are used as an example to show how to use a library.
- Memory model(chapter 12): TI DSPs support multiple memory models to improve the compiler performance in different applications.
- Optimization (chapter 13): CCS supports an advanced C compiler optimizer that can produce a very optimized machine code. If used properly, it improves the code execution time.
- Interrupts (chapter 14): Almost all projects use interrupt. CCS supports C and assembly interrupt service routine. This chapter is a good example of how to program a peripheral using C and assembly.
- Chip Support Library (chapter 15): A hardware abstraction layer library for peripheral programming.
- Bootloader (chapter 16): The bootloader is used in the last phase of any DSP project to load the code into DSP memory. However, its effect should be understood from the early stage of the project.
Why do the example codes include CCSv5.5 and CCSv10.2?
TI removes the simulator support from CCSv6 and up. The book covers many examples of different TI DSPs. These examples can be tested either on the actual hardware or simulators. Because CCSv5.5 is the only version that supports Simulators, examples are also provided on CCSv5.5.