![Page 1: TI Information – Selective Disclosure ARM CCS Project Basics Vincent Han Mar, 2014 1](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649f3f5503460f94c5feb6/html5/thumbnails/12.jpg)
TI Information – Selective DisclosureTI Information – Selective Disclosure
Thank You!