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

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

Dec 14, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1.

TI Information – Selective DisclosureTI Information – Selective Disclosure

ARM CCS Project Basics

Vincent Han

Mar, 2014

1

Page 2: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1.

TI Information – Selective Disclosure

• Environment and Compiler

• Basic Components

• Basic Operations

2

Agenda

Page 3: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1.

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: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1.

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: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1.

TI Information – Selective Disclosure

• Environment and Compiler

• Basic Component

• Basic Operations

5

Agenda

Page 6: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1.

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: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1.

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: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1.

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: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1.

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: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1.

TI Information – Selective Disclosure

• Environment and Compiler

• Basic Component

• Basic Operations

10

Agenda

Page 11: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1.

TI Information – Selective Disclosure 11

• Please refer the operation lab document

ARM CCS Project Basic Operations

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

TI Information – Selective DisclosureTI Information – Selective Disclosure

Thank You!