Question

I am currently writing an application (very simple and basic hello world program in C) on a 64-bit Linux machine. I've compiled by application using an ARM embedded gcc toolchain by Linero to cross compile the application onto my board. For info, I'm using a FOX G20 V board with an ATMEL AT91SAM9G20 processor.

So, I've compiled my application using: arm-none-eabi-gcc while adding a few options that allow me to use the standard C functions (such as printf etc.). This compiled successfully and I was able to obtain the binary file, ready to load onto my board.

The next step therefore was to compile and build U-Boot to be able to load my application onto my board. I followed the compilation and build using

make ARCH=arm CROSS_COMPILE=${CC} distclean

make ARCH=arm CROSS_COMPILE=${CC} at91sam9g20ek_mmc_config

make ARCH=arm CROSS_COMPILE=${CC}

by specifying to the compiler where exactly the arm-none-eabi-gcc path lies. This compiled and was built successfully.

Now that I have my application binary file, and my U-Boot built and ready for loading, how do I actually load my application onto the board? I've tried to follow tutorials online but have been rather unsuccessful. Ideally, I would like to load my application on the SD Card of my board. Any advice would be greatly appreciated.

Was it helpful?

Solution

Why do not you start from the default hello word program given in u-boot source code only..

Its at u-boot/examples/hello_world.c

Enable it in compilation using its config file and try to load it. This will shows some ways. http://www.denx.de/wiki/view/DULG/UBootStandalone

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top