12
TI Information – Selective Disclosure TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1

ARM CCS Project Basics

  • Upload
    tuan

  • View
    45

  • Download
    0

Embed Size (px)

DESCRIPTION

ARM CCS Project Basics. Vincent Han Mar, 2014. Agenda. Environment and Compiler Basic Components Basic Operations. Environment & Compiler. For ARM project, we use Linaro GCC cross compiler just like C6000 compiler on TI DSP. Linaro GCC cross compiler : - PowerPoint PPT Presentation

Citation preview

Page 1: ARM CCS Project Basics

TI Information – Selective DisclosureTI Information – Selective Disclosure

ARM CCS Project Basics

Vincent Han

Mar, 2014

1

Page 2: ARM CCS Project Basics

TI Information – Selective Disclosure

• Environment and Compiler

• Basic Components

• Basic Operations

2

Agenda

Page 3: ARM CCS Project Basics

TI Information – Selective Disclosure 3

• For ARM project, we use Linaro GCC cross compiler just like C6000 compiler on TI DSP.

• Linaro GCC cross compiler:Released by the Linaro organizationBases on GNU GCC baseline and has both versions to support bare-metal

(Launchpad) and Linux ABI (Linaro) compilationsFully free and open source under the GPL licenseBetter support Cortex-A15 pipeline and optimizations since GCC 4.7TI and ARM are major members, recommend to use Linaro compiler

Environment & Compiler

Page 4: ARM CCS Project Basics

TI Information – Selective Disclosure 4

• We can see the main procedure for ARM is the same with DSP, but the intermediate files and needed source files are different.

Build & Compile Procedures

arm-none-eabi-gcc orarm-none-eabi-g++

C/C++ source files

arm-none-eabi-as

Source files.c, .cpp, etc

Intermediate files.s, .S

ASM source files

.s, .S

arm-none-eabi-ld

Intermediate files.o

Reference libary files

.lib, .a

Output files.out, .map

Linker files.lds

Page 5: ARM CCS Project Basics

TI Information – Selective Disclosure

• Environment and Compiler

• Basic Component

• Basic Operations

5

Agenda

Page 6: ARM CCS Project Basics

TI Information – Selective Disclosure 6

• In a typical ARM CCS project, 3 main component should be included in the project folder:

– Main C file, .lds file, and startup assembly.

• We should clear of the usage and functions of the C source file and .lds file, let’s talk about the startup assembly file.

Components For ARM CCS Project

Page 7: ARM CCS Project Basics

TI Information – Selective Disclosure 7

• In DSP executable, there are lots of extra operations need to process such as initial stack, clear .bss, bringup C environment before execute the main function (by _c_int00)

• ARM also need such kinds of operations before “main”. • The .lds file defined the “ENTRY” as the function named “Entry” in

startup assembly file

Components For ARM CCS Project

Page 8: ARM CCS Project Basics

TI Information – Selective Disclosure 8

• The startup assembly mainly initializes the vector table, then branches to the function named “_start”:

• This function is in the library which will empty the .bss section, bringup the C environment then jump to the main function.

Components For ARM CCS Project

Page 9: ARM CCS Project Basics

TI Information – Selective Disclosure 9

• By changing the startup assembly file, we can add more operations (e.g. configure the interrupt vector table) at the early stage :

Components For ARM CCS Project

Page 10: ARM CCS Project Basics

TI Information – Selective Disclosure

• Environment and Compiler

• Basic Component

• Basic Operations

10

Agenda

Page 11: ARM CCS Project Basics

TI Information – Selective Disclosure 11

• Please refer the operation lab document

ARM CCS Project Basic Operations

Page 12: ARM CCS Project Basics

TI Information – Selective DisclosureTI Information – Selective Disclosure

Thank You!