C 6000 Teaching Materials Code Composer Studio V
- Slides: 50
C 6000 Teaching Materials Code Composer Studio V 4 Content developed in partnership with Tel-Aviv University © 2010 Texas Instruments Inc, 0 -1
Agenda • Introduction of CCS 4 • Starting a new project © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 2
© 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 3
Overview • CCS 4 is the integrated development environment (IDE) for TI’s Digital Signal Processors (DSP), microcontrollers and application processors. • Source code editor • Project environment • Compiler • Debugger –Software (simulator) –Hardware (emulator) © 2011 Texas Instruments Inc, C 6000 Teaching Materials • Graph windows • Image visualization • Profiler • Scripting capability • Flash programmer Slide 4
IDE: C/C++ Perspective bar Project view Text editor Outline view Fast view bar Build view © 2011 Texas Instruments Inc, Problems view C 6000 Teaching Materials Slide 5
IDE: Debug Perspective Register view / watch view / etc Debug view Source code editor Graph window © 2011 Texas Instruments Inc, C 6000 Teaching Materials Memory view Slide 6
Agenda • Introduction of CCS 4 • Starting a new project • Compiling a project © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 7
Starting a project § Select the workspace § Defines the location of your project § Automatically saved on close § Contains: ü Project settings ü Macros ü Views on close ü Other custom settings specific for YOUR personal computer § Cannot be zipped and forwarded to others § Can be changed later on © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 8
New Project Wizard • New projects are created by using the “New Project Wizard: © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 9
New Project Wizard • This will allow to select: –The project type » Processor used: e. g. C 6000, C 2000, etc… –The configurations » Default are • Debug • Release –Referenced projects (if any) –The used C/C++ indexer » Full » Fast » None –Output type –A default linker command file –Various project settings » Device variant » Code Generation tools version » Runtime Support Library » Target content » etc © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 10
Adding Files • There are two ways to add files to the project: – Create a new source file – Drop existing source files in the project directory » All files in the directory of a project are automatically added to the project. » Take care that you are not adding unwanted content! © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 11
C Language Symbols • Files are automatically parsed and variables, declaration and definitions displayed. These can be accessed from the outline view or from the project view © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 12
Importing an Existing Project • Accessed from • You can import a single project or multiple projects in one step: This will also give you the opportunity to copy the projects into your workspace © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 13
Importing a CCS 3. 3 Project • The CCS 3. 3 import wizard is called from: • This will help you to import the existing project, but manual rework might still be required – Change or add path names for library functions – Change of. cdb files • Note: CCS 3. 1 and CCS 2. x projects cannot be imported automatically. They need to be converted to a CCS 3. 3 project first (using CCS 3. 3) © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 14
Agenda • Introduction of CCS 4 • Starting a new project • Building a project © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 15
Compile Flow • You can either write standard assembly directly, or it can be created by the compiler. • Object files, created by the assembler, are linked together to create the executable output file of the processor. The map file is an output report of the linker. • The. out file can be loaded into your system by the debugger portion of CCS. © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 16
Build Configurations • By default, CCS includes two sets of build options: – Debug – Release • Users can create any number of additional build configurations. • Users can modify the settings of any pre-defined build option © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 17
Build Options • Build options are controlled by the “Properties” dialog of the project: © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 18
Compiler: Basic Options © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 19
Compiler: Include Options © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 20
Compiler: Runtime Model Options © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 21
Compiler: Optimizations © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 22
Linker: Basic Options Note: The stack size field is empty by default, causing a linker warning during build (but the default size of 0 x 400 will be used). Also, the default linker command file does not include the stack settings, so you need to set it here! © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 23
Linker: File Search Path © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 24
Linker: Linker Output © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 25
Linker: Runtime Environment © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 26
CCS Build: General © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 27
Finally, the Actual Build • There a couple of ways to build the project: – Use the menu bar: – Use the drop-down menu: – Use the keyboard –shortcuts CTRL+SHIFT+P or ALT+SHIFT+P © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 28
Build: The Differences • Build Active Project – Builds only the active project – Compiles only new or changed files (incremental build) • Rebuild Active Project – Builds only the active project – Compiles all files, independently of their state • Build All – Builds all projects in the workspace • Rebuild All – Rebuilds all projects in the workspace • Build Project – The same as “Build Active Project” • Build Working Set – Build a pre-defined set of projects • Clean – Cleans a defined set of projects • Build Automatically – Builds automatically once a changed file is saved © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 29
Build: One Last Way • Clicking will build the active project, switch to the debug perspective and load the executable. • This will work only if a valid target configuration is loaded. • If CCS is already in the debug perspective, the project will be recompiled and the executable loaded. © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 30
CCS Debug Options © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 31
Debugging a Project • Once all source files are added to the project and all project settings are made, the project can be debugged. • But, before we can do that, a target description (aka a target configuration is needed( © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 32
Creating the Target Configuration © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 33
Debugging a Program Run (F 8) / Run Low Power / Free Run Halt program Terminate debug session. This will switch back to the C/C++ perspective (CTRL+ALT+T) Step into (F 5) Step over (F 6) Assembly step into Assembly step over Step return (F 7) Reset CPU (ALT+R) / Reset Emulator Restart (ALT+F 8) © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 34
IDE: Debug Perspective Register view / watch view / etc Debug view Source code editor Graph window © 2011 Texas Instruments Inc, C 6000 Teaching Materials Memory view Slide 35
Breakpoints • Breakpoints can be set in two ways: –Double clicking in the grey bar at the left side of the file view –Right-clicking on the line where the breakpoint should be located and selecting “New Breakpoint” • Breakpoints can be viewed and manipulated (and if needed added) in the “Breakpoint View” • Breakpoints can be: –Software –Hardware –Profile related (pause, resume, terminate) © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 36
Disassembly View • Opened by selecting “View Disassembly • Shows: –Address –Opcode –Disassembly • Can be customized • Can be shown –Always –Only if no C-source code is available • Can also be used to set breakpoints © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 37
Watch Views • Local variables are displayed automatically • Other watch expressions can be added easily • Expressions can be a global or a local variable or logical / arithmetic expressions using them (or use it as a quick calculator) • Additional watch views can be added and the display can be customized • Variables can also be watched in Q format © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 38
Memory View • This view can be opened by “View Memory” • Displays the contents of the memory at a certain address –If variables are used to set the address the ‘&’ operator needs to be used unless the variable is an array. • Memory contents can be displayed in several ways: –Floating point –Integer –Hexadecimal (TI and C style) –Binary –Character – 8/16/32/40/64 bit • The memory view also allows to save, load and fill memory • Several memory views can be open simultaneously © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 39
Register View • Opened from “View Registers” • One window will display all the register sets • Multiple register windows can be opened at any time • Registers can be manipulated from this view • Two different views are available: –Tree (default) –Grid (with a selectable number of grids) • Registers can be copied individually or as complete set © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 40
Graph View • Can be accessed from Tools Graph • Time-Domain –Single / Dual • FFT: –Magnitude / Magnitude Phase –Complex –Waterfall • Different update modes: –Manual –Refresh on halt –Continuous refresh • Display can be customized –Line style –Grid –etc. • If in continuous refresh mode, the update interval can be set in the local menu of the Watch View • Data can be exported © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 41
Image Analyzer • Can be accessed from Tools Image Analyzer • Image Format –RGB –Bayer –YUV –Bitonal © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 42
Debugging Options • Under “Tools Debugger Generic Options other stuff can be configured as well: – Behavior of breakpoints if another program is loaded – Autorun: Where the program should run to after a load or a reset – Different launch options: Connect to target, restore breakpoints from previous session (can be dangerous!) etc – Display of processes etc – Interrupt handling during assembly debugging. © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 43
Static System Concepts What is a static system? • All components remain during the life of a system (no create/delete) • No “heap” or use of C’s malloc()/free() functions • Opposite is a “dynamic” system Benefits • Reduced code size – no create/delete or heap mgmt (just declarations) • Reduced MIPS for environment creation • Deterministic – malloc() is non-deterministic • Optimal when most resources are required concurrently Limitations • Fixed allocation of memory usage (cannot create new components at runtime) Bottom Line • Pick static or dynamic based on system requirements – both are supported by BIOS © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 44
Sections Global Vars (. bss) Init Vals (. cinit) short m short x short b = = = 10; 2; 5; Every C program consists of different parts called Sections All default section names begin with ". " main() { short y = 0; Local Vars (. stack) y = m * x; y = y + b; Code (. text) printf("y=%d", y); } © 2011 Texas Instruments Inc, Std C I/O (. cio) C 6000 Teaching Materials Let’s review the list of compiler sections… Slide 45
Compiler's Section Name. text Description Memory Type Code initialized . switch Tables for switch instructions initialized . const Global and static string literals initialized . cinit Initial values for global/static vars initialized . pinit Initial values for C++ constructors initialized . bss Global and static variables uninitialized . far Aggregates (arrays & structures) uninitialized Stack (local variables) uninitialized Memory for malloc fcns (heap) uninitialized Buffers for stdio functions uninitialized . stack. sysmem. cio © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 46
Placing Sections In Memory. text. bss. far. cinit. cio. stack 1180_0000 128 K IRAM 6400_0000 4 MB FLASH C 000_0000 512 MB DDR 2 How do you define the memory areas (e. g. IRAM, FLASH, DDR 2) ? How do you place the sections into these memory areas ? © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 47
Linking H/W Memory Description • Name, location, length • Ex: IRAM, origin = …, len = … Linker. cmd S/W Sections • Name, memory area to link to • Ex: . far → IRAM . obj © 2011 Texas Instruments Inc, Linker . map C 6000 Teaching Materials . out Slide 48
Linker Command File LIBRARIES -l rts 6400. lib -stack 0 x 800 -heap 0 x 800 STACK/HEAP SIZES MEMORY { IRAM: origin = 0 x 11800000, FLASH: origin = 0 x 64000000, DDR: origin = 0 x. C 0000000, } SECTIONS {. bss {}. far {}. text {}. cinit {} } © 2011 Texas Instruments Inc, > > IRAM DDR FLASH MEMORY AREAS len = 0 x 400000 len = 0 x 8000000 CODE/DATA SECTIONS C 6000 Teaching Materials Slide 49
User Defined Sections Users can place their code/data in default C Sections (e. g. . text, . far, . bss) or … Create User-Defined sections to link critical code/data to specific memory locations (vs. being lumped in with. far, e. g. ) user. c #pragma DATA_SECTION(x, “. far: mysect”); int x[1024]; #pragma CODE_SECTION(fir, “. text: myfir”); void myfir (short * Src, short * Dst, short len) { user. cmd SECTIONS {. far: mysect : > IRAM . text: myfir : > FAST_RAM } © 2011 Texas Instruments Inc, C 6000 Teaching Materials Slide 50
- Drupal scaffold
- Visual studio composer
- Xna visual studio 2017
- Xna game studio visual studio 2017
- Code commit code build code deploy
- Cant stop the feeling go noodle
- What is useful materials and harmful materials
- Natural man made
- Adopting and adapting teaching materials
- Direct materials budget with multiple materials
- Case structure flowchart
- Oracle developer tools for visual studio 2012
- Visual studio graphics.h
- Visual studio code
- Visual studio code
- Sana
- Code visual to flowchart
- What is remedial teaching
- Tape recorder as a teaching aid
- Development of teaching learning materials
- Difference between microteaching and traditional teaching
- Azure business rules engine
- Philip american composer born 1937
- Bach baroque composer
- Epf composer
- Fx composer
- Pellizzoni pasta
- Arcangelo corelli biography
- Vivaldi composer
- Rpo workflow composer
- He is the child prodigy and composer of requime
- Carmina burana composer
- Medieval composer
- Composer of pope marcellus mass
- Teresa jennings composer
- Composer des phrases
- Ibm rational requirements composer
- K8 music
- John newton amazing grace lyrics
- Put in at on or in mozart was born in salzburg
- Xml composer
- Classical composer
- Oliver elfman
- Motion composer
- Topbraid composer tutorial
- Johaan sebastian bach
- When i am laid in earth composer
- Russian composer of peter and the wolf
- Mark williams composer
- Evan williams berkeley
- Peter and the wolf instruments