Thu Oct 04, 2012 7:41 am
Vassius' reply is the one you need to look at.
1 - You need a toolchain installed to compile to bare metal. Usually the tools have names of the form arm-none-eabi-<tool>.
2 - You need your $PATH variable set up to point at that toolchain.
The error you are getting shows that either you don't have a toolchain installed, your toolchain has its tools named something other than arm-none-eabi-<tool>, or your path does not include the tools.
I'll assume you're running on some sort of *n*x. Not because it's the most likely, but because I know fsck all about Windows. If you're on windows, the sequence should be similar, but the commands won't be.
So. Step by step instructions for troubleshooting this.
1 : Have you installed bare metal compilation tools for ARM?
No? Install them, try again
Yes? Continue to step 2
2 : Are your tools aimed at the arm-none-eabi triplet (i.e. are they called 'arm-none-eabi-<x>?)
No? Go to step 3
Yes? Go to step 4
3 : Are you /sure/ you installed tools for bare metal development on ARM?
No? Double check, return to step 1 if necessary.
Yes? Modify the makefile to use the relevant triplet instead of arm-none-eabi, try again
4 : run `which arm-none-eabi-ld` from a command line. Did you get a result?
No? Go to step 5
Yes? You should be good to go.
5 : Are you /really/, /really/, /sure/ you've installed tools for bare metal development on ARM?
No? Triple-check, return to step 1 if necessary
Yes? Go to step 6
6 : Do you know exactly what directory your tools are installed to?
No? Either check the documentation for the package you installed, or run the following command : `find / -name "arm-none-eabi-ld" -exec dirname {} \;`
Yes? Add the directory containing the executables (either the directory name found above, or the base installation directory with '/bin/ appended to your $PATH, and try again.
As a hint, your tools are probably installed to a subtree under /usr/local/arm-none-eabi (which is the default installation directory if you build the GNU tools from source for target arm-none-eabi, but some packagers insist on shoving stuff in all sorts of esoteric places. YMMV, basically). The tools themselves live in the directory 'bin' under that directory structure, so sour $PATH must, therefore, include
/usr/local/arm-none-eabi/bin
or, whatever the actual path to your top level installation directory is, with '/bin' appended onto it.
Simon