avr32-gcc 4.4.7, where to get it, how to use it? (linux)

Go To Last Post
4 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

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. 

1010001010111101110111

Last Edited: Mon. Apr 26, 2021 - 01:15 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I seem to have solved one issue at least: there is no 4.4.7 version of the toolchain, the documentation states that the toolchain is 3.4.3. Presumably that's the version for the entire package but the gcc itself is 4.4.7. Somewhat confusing but now I get it. I was also able to find the tarball on https://www.microchip.com/en-us/...

 

Edit: actually the link for the 64bit linux .tar is broken... I'm really starting to develop a passionate hate for microchip and their semi functional website and IDEs. 

1010001010111101110111

Last Edited: Mon. Apr 26, 2021 - 11:26 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Mithrandir_ wrote:
there is no 4.4.7 version of the toolchain,
could find a 4.3.2 at

AVR and SAM Downloads Archive | Microchip Technology (3/4 page)

 

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Does it matter if I get the 32 bit version even if I'm running ubuntu 18.04 at 64 bits? The 3.4.3 for 64 bit Linux (which I need) link is broken.

1010001010111101110111