Hi there,
I've done quite an extensible amount of googling and reading on these forums regarding avr32-gcc and I have to say that I am a bit lost. I come from a very high level programing background where I've only ever worried about compilers, cross-compiling and other such stuff once in a blue moon and I was able to just ask somebody for a quick fix. Now I'm in the deep end doing embedded software engineering and I'm a bit lost (but learning and having fun!).
My (our) problem is that we're using Atmel Studio 7 to create a .hex file - but we need to get rid of the dependency on Atmel Studio. In fact, we need to be able to automate the build process entirely so that the whole system can be built from a shell script in Linux. Last week I managed to port over another Atmel Studio project that used the arm-none-eabi-gcc toolchain - it was all well and good. I was able to import the project into MPLABX and simply "steal" the makefile. However, I am running into considerably more problems with avr32-gcc. First of all, mplabx claims to be unable to import my project because it's on a ATUC256L4U chip. Fair enough, I can write a makefile on my own from the template that is created by Atmel Studio.
For the ARM chip it was easy - I was able to find the correct version of the ARM toolchain on their website and get it working.
With AVR32 I'm running into stuff like this: https://mirror.egtvedt.no/avr32l...
What exactly are they trying to do here? I'm not sure what they mean when they say "building the cross gcc toolchain". Is this process more involved than simply finding a tarball with avr32-gcc and using it to cross-compile the project? Are they trying to run Linux on the avr chip? Part of this is that I'm not clear on the lingo in embedded SWE yet.
The microchip website is also painfully unclear. Google results just get me to PDF files about releases of avr32-gcc, I need a tarball with avr32-gcc 4.4.7. Is there any reliable host for this?
tl;dr:
I need to get to this part of the process from Atmel Studio:
Invoking: AVR32/GNU C Compiler : 4.4.7 "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr32\avr32-gnu-toolchain\bin\avr32-gcc.exe" -x c -DBOARD=P4_INDICATOR -I"../src" -I"../src/ASF/avr32/drivers/intc" -I"../src/ASF/avr32/utils" -I"../src/ASF/avr32/utils/preprocessor" -I"../src/ASF/common/boards" -I"../src/ASF/common/boards/user_board" -I"../src/ASF/common/utils" -I"../src/config" -I"../src/ASF/avr32/drivers/cpu/cycle_counter" -I"../src/ASF/avr32/drivers/flashcdw" -I"../src/ASF/avr32/drivers/gpio" -I"../src/ASF/avr32/drivers/usart" -I"../src/ASF/avr32/drivers/pm" -I"../src/ASF/avr32/drivers/scif" -I"../src/ASF/common/services/clock" -I"../src/ASF/common/services/delay" -I"../src/ASF/avr32/drivers/pdca" -I"../src/ASF/avr32/drivers/spi" -I"../src/ASF/avr32/drivers/tc" -I"../src/ASF/avr32/drivers/adcifb" -I"../src/ccd" -I"../src/laser" -I"../src/system" -I"../src/ASF/avr32/drivers/usbc" -I"../src/ASF/common/services/sleepmgr" -I"../src/ASF/common/services/usb" -I"../src/ASF/common/services/usb/class/cdc" -I"../src/ASF/common/services/usb/class/cdc/device" -I"../src/ASF/common/services/usb/udc" -I"../src/ASF/thirdparty/freertos/source/portable/gcc/avr32_uc3" -I"../src/ASF/thirdparty/freertos/source/include" -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\UC3L_DFP\1.0.59\include\ATUC256L4U" -O1 -fdata-sections -ffunction-sections -g3 -Wall -mpart=uc256l4u -c -std=gnu99 -fno-strict-aliasing -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -mrelax -mno-cond-exec-before-reload -MD -MP -MF "src/main.d" -MT"src/main.d" -MT"src/main.o" -o "src/main.o" "../src/main.c" Finished building: ../src/main.c
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr32\avr32-gnu-toolchain\bin\avr32-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature "R_Sensor.elf" "R_Sensor.hex"
I thought that all I needed to do was to get a tarball with avr32-gcc 4.4.7 and then replicate the makefile from windows. Am I wrong? If not, where is a reliable source for the tarball?
Please feel free to move the thread if it's in the wrong forum.