#32764 - valefor - Mon Dec 27, 2004 2:32 pm
Hello.
I own a GBA and would like to developp some apps for this target. I am exlusively working on Linux. So I can use some pre-build dev kits like "devkitadv" "devkitARM" or "HAM" (cf [1],[2] and [3]).
But i would prefer to build my own toolchain for some reasons :
- i want to learn how to do,
- i want to know exaclty which is in my tools,
- i don't want to wait for a release of the project to upgrade so i could rebuild the toolchain as soon as a new version of gcc is release for example.
There are a lot of documentation that explain howto do, but they don't say the same thing, and sometimes they seem to not be exact. However, it seems to be two ways to build the toolchain :
1) We download the sources of the tools (binutils, gcc, newlib, etc...),
we apply them a patch to support the GBA, and
we compile/install.
I have made some patch with the devkitadv project and other source from the net.
For example : [4], [5], [6]
2) We download the sources of the tools (binutils, gcc, newlib, etc...),
we compile/install and
we use some customized config to compile our projects.
For example : [7], [8], [9]
Moreover :
- There seem to be two diferent "naming conventions". The 'devkitARM' that call their tools 'arm-elf-*', and 'devkitadv' call them 'arm-agb-*'. And we could add a new one if we build our own tool : 'arm-thumb-elf' for example.
- There seem to be different 'crt0.S' and 'linkscripts'.
So i have a first question : which procedure should i adopt to build a toolchain, and why peoples have used so many diferent naming convention for one target ?
So the idea is to find people who would like to establish and maintain a 'reference' or 'standard' devkit for Linux.
The goal of the project is :
(1) explain to people what we do with the modifications (patch), and howto build/use the toolchain (with step by step explaination, exemple, simple sample code, faq, etc),
(2) be able to upgrade whenever a new version of gcc, binutils or newlib is released
(3) for newbies who came to develop for gba under Linux, there would be a reference, that would be free (libre), and well documented.
So the project team would produce :
(1) an official 'gba devkit for Linux' howto, with 'united' naming convention
(2) some patch and build script, with 'united' technology (join and coordinate effort to develop patch, linkscript and other specific files for the GBA)
A lot of work have already be done, and we could start from an existing project. For example the above points are in the TODO list of the 'devkitadv' project.
So if you have suggestions, or if you want to tell to me that is a useless project or anything else, i'm waiting for your advices.
Finally i am not a guru in hacking the sources of ld and gcc for the GBA target but at least i could maintain some script (doc in general, patch, makefile, etc).
So good coding every body !
Cordialement.
Paul.
[1] http://sourceforge.net/projects/devkitadv/
[2] http://sourceforge.net/projects/devkitpro/
[3] http://www.ngine.de/index.php
[4] http://www.bits.bris.ac.uk/dooby/gba/HowTo/Readme.txt
[5] http://translate.google.com/translate?u=http%3A%2F%2Fgba.imou.to%2Fgcc.html
&langpair=ja%7Cen&hl=fr&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools
[6] http://cvs.sourceforge.net/viewcvs.py/devkitadv/devkitadv/Makefile?rev=1.10&view=markup
[7] http://linux.gbadev.org/gcc-gba/
[8] http://www.devrs.com/gba/files/dwcyglin.txt
[9] http://www.lifl.fr/RD2P/uploads/JITS/Makefile.gba-dev.linux
[10] http://rod.info/arm.html
[11] http://www.ariusdsp.com/~gnuarm/support.html#build
I own a GBA and would like to developp some apps for this target. I am exlusively working on Linux. So I can use some pre-build dev kits like "devkitadv" "devkitARM" or "HAM" (cf [1],[2] and [3]).
But i would prefer to build my own toolchain for some reasons :
- i want to learn how to do,
- i want to know exaclty which is in my tools,
- i don't want to wait for a release of the project to upgrade so i could rebuild the toolchain as soon as a new version of gcc is release for example.
There are a lot of documentation that explain howto do, but they don't say the same thing, and sometimes they seem to not be exact. However, it seems to be two ways to build the toolchain :
1) We download the sources of the tools (binutils, gcc, newlib, etc...),
we apply them a patch to support the GBA, and
we compile/install.
I have made some patch with the devkitadv project and other source from the net.
For example : [4], [5], [6]
2) We download the sources of the tools (binutils, gcc, newlib, etc...),
we compile/install and
we use some customized config to compile our projects.
For example : [7], [8], [9]
Moreover :
- There seem to be two diferent "naming conventions". The 'devkitARM' that call their tools 'arm-elf-*', and 'devkitadv' call them 'arm-agb-*'. And we could add a new one if we build our own tool : 'arm-thumb-elf' for example.
- There seem to be different 'crt0.S' and 'linkscripts'.
So i have a first question : which procedure should i adopt to build a toolchain, and why peoples have used so many diferent naming convention for one target ?
So the idea is to find people who would like to establish and maintain a 'reference' or 'standard' devkit for Linux.
The goal of the project is :
(1) explain to people what we do with the modifications (patch), and howto build/use the toolchain (with step by step explaination, exemple, simple sample code, faq, etc),
(2) be able to upgrade whenever a new version of gcc, binutils or newlib is released
(3) for newbies who came to develop for gba under Linux, there would be a reference, that would be free (libre), and well documented.
So the project team would produce :
(1) an official 'gba devkit for Linux' howto, with 'united' naming convention
(2) some patch and build script, with 'united' technology (join and coordinate effort to develop patch, linkscript and other specific files for the GBA)
A lot of work have already be done, and we could start from an existing project. For example the above points are in the TODO list of the 'devkitadv' project.
So if you have suggestions, or if you want to tell to me that is a useless project or anything else, i'm waiting for your advices.
Finally i am not a guru in hacking the sources of ld and gcc for the GBA target but at least i could maintain some script (doc in general, patch, makefile, etc).
So good coding every body !
Cordialement.
Paul.
[1] http://sourceforge.net/projects/devkitadv/
[2] http://sourceforge.net/projects/devkitpro/
[3] http://www.ngine.de/index.php
[4] http://www.bits.bris.ac.uk/dooby/gba/HowTo/Readme.txt
[5] http://translate.google.com/translate?u=http%3A%2F%2Fgba.imou.to%2Fgcc.html
&langpair=ja%7Cen&hl=fr&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools
[6] http://cvs.sourceforge.net/viewcvs.py/devkitadv/devkitadv/Makefile?rev=1.10&view=markup
[7] http://linux.gbadev.org/gcc-gba/
[8] http://www.devrs.com/gba/files/dwcyglin.txt
[9] http://www.lifl.fr/RD2P/uploads/JITS/Makefile.gba-dev.linux
[10] http://rod.info/arm.html
[11] http://www.ariusdsp.com/~gnuarm/support.html#build