What files need to be modified to compile for a custom arquitecture of an existing cpu with gcc?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've been looking at examples of C code that is compiled for some
lesser known processors (like ZPU) using the gcc cross compiler.

Most of the working examples I see assume a certain arquitecture
(Memory map and set of peripherals) and simply give you a recipe to
compile for these and they work.

However I can find very little information on what needs to modified
if you use the same cpu with a different memory map and set of
peripherals.

>From what I've read. There are two main files that I need to make sure
that are done "right". The linker script that is used and the crt0.o
(Which if I need to modify means recompiling the crt0.S which is
assembler). On this last one, especially I find very little
information on what is actually supposed to do (other that setting up
reset there is no clear info, and I'm talking conceptually not for an
specific processor. Although something for this would also be useful).

Can any one tell me what is the relationship between a the c files for
the code of program (bare metal development), the crt0.S (specially
why it is needed) and it's relationship with a working linker script?

PD: Answers of the form "read this book" are welcome and I would love them.

Thank for any help.




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux