Back to main page

AVR UC3 Series Software Framework: FAQ

Copyright © 2007 Atmel Corporation

 


Table of Contents


How to install the Software Framework

Check the installation page.

 

How do I know the changes from one release of the Software Framework to the next

For an overview, content, list of new features, bug fixes and known bugs, check the release note.

 

Why do I have hundreds of errors trying to compile some software framework examples

The main reason is probably that the UC3 header files in the GCC or IAR delivery are out of date.

Check the header files patch procedure on the installation page.

 

How to use AVR32Studio and the software framework

The software framework is already included into AVR32Studio. To run any examples, click on File -> New -> Examples... and select the example that can run on your kit.

To add some modules in a project, use the "Software Framework " menu once the project is selected.
It is also possible to use the standalone version (zip format) using this method: AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2.

 

How to update the Control Panel firmware of the EVK1100

The Control Panel firmware on the EVK1100 is named "EVK1100 control panel".

It is part of the UC3A software framework package and can be found under X.Y.Z-AT32UC3A/APPLICATIONS/EVK1100-CONTROL-PANEL/.

A default .elf file is provided (named uc3a0512-ctrlpanel.elf) in the UC3A Software Framework package and can be found under X.Y.Z-AT32UC3A/APPLICATIONS/EVK1100-CONTROL-PANEL/AT32UC3A0512_EVK1100/GCC/.

To reprogram the default .elf file to target, follow these steps:

  1. Open a cygwin command line window and go under X.Y.Z-AT32UC3A/APPLICATIONS/EVK1100-CONTROL-PANEL/AT32UC3A0512_EVK1100/GCC/.
  2. Plug the JTAG-ICE mkII to the JTAG connector of the EVK1100 board and type the command:
  3. avr32program program uc3a0512-ctrlpanel.elf -e -v -R -r -finternal@0x80000000,512Kb

To program a new version of the .elf file to target, follow these steps:

  1. Open a cygwin command line window and go under X.Y.Z-AT32UC3A/APPLICATIONS/EVK1100-CONTROL-PANEL/AT32UC3A0512_EVK1100/GCC/.
  2. Plug the JTAG-ICE mkII to the JTAG connector of the EVK1100 board and type the command:
  3. make program reset run

    This will compile and link the Control Panel, program it to target, reset the target then run the new firmware.

The firmware is now updated.

Updating the web server files

You now also have to update the webserver files that are located on the external dataflash: look at the scenario "f. Restoring the default file system content of the Control Panel" described in the Control Panel documentation.

 

What is the meaning of the warning "LD `allocated section not in segment'"

This warning is a known issue and it doesn't prevent the firmware from running on target correctly.

Explanation:

When using the default linker scripts provided with avr32-gcc, the ELF LOAD program headers are generated automatically from the output sections, including BSS and the stack which are only allocated areas.

In its current revision, avr32program programs allocated LOAD program headers that do not have to be filled with data from the ELF file, which is wasting programming time.

This behavior of avr32program will be changed in a future release, but until this is achieved, the linker scripts provided with the software framework are changed to place the allocated-only output sections in NULL ELF program headers ignored by avr32program, hence the warnings when linking.

 

How do I include a binary file into my source code

This can be done using command line tools to convert a binary file into a hexadecimal table.
Open a shell and make sure you have the following tools available: od and sed. If you have Cygwin (http://www.cygwin.com/) installed, these tools should be present by default.

Type the following command line, where binary corresponds to the path of the binary file you want to convert.

od -A d -t x1 -w16 binary | sed -e 's/[0-9]*//' -e 's/[\ ]*\([0-9a-f]\+\)/0x\1, /g'

This command will output raw hexadecimal data which can be paste in your project and used as a unsigned char table.


AVR is a registered trademark of Atmel Corporation.