arm ccs project basics
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 PresentationTRANSCRIPT
![Page 1: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/html5/thumbnails/1.jpg)
TI Information – Selective DisclosureTI Information – Selective Disclosure
ARM CCS Project Basics
Vincent Han
Mar, 2014
1
![Page 2: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/html5/thumbnails/2.jpg)
TI Information – Selective Disclosure
• Environment and Compiler
• Basic Components
• Basic Operations
2
Agenda
![Page 3: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/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: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/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: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/html5/thumbnails/5.jpg)
TI Information – Selective Disclosure
• Environment and Compiler
• Basic Component
• Basic Operations
5
Agenda
![Page 6: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/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: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/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: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/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: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/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: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/html5/thumbnails/10.jpg)
TI Information – Selective Disclosure
• Environment and Compiler
• Basic Component
• Basic Operations
10
Agenda
![Page 11: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/html5/thumbnails/11.jpg)
TI Information – Selective Disclosure 11
• Please refer the operation lab document
ARM CCS Project Basic Operations
![Page 12: ARM CCS Project Basics](https://reader036.vdocuments.mx/reader036/viewer/2022081506/56813ae1550346895da331a5/html5/thumbnails/12.jpg)
TI Information – Selective DisclosureTI Information – Selective Disclosure
Thank You!