Author Topic: AVR32 - Software Versions  (Read 8139 times)

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2955
    • View Profile
    • uTasker
AVR32 - Software Versions
« on: August 05, 2011, 12:36:13 PM »
Hi All

The following lists the various AVR32 V1.4 software versions which are available, including details about the changes included in the versions. It is generally advised to use the newest release since it will contain most features and patches. Older versions are retained in case of the need to downgrade or reference previous releases.

18.12.2012 -
- Correction for port macros using OVR
- SPI Flash configurations for standard boards
- debug_hal.h added to debug.c to improve HW abstraction
- Added AVR32_UC3_C2_XPLAINED support
- Option PHY_POLL_LINK added to poll Ethernet link state (when no interrupt available from PHY) and synchronise the mode to the EMAC

Note that the project release is set up by default for the UC3C2-Xplained board [for other processor types select target device in the IDE and adjust the compiler and linker settings in the GCC make file to match]
This board has an orange LED which blinks when the code is operating, which is situated next to a push button.
Since the push button and LED are connected in parallel, and the UC3C doesn't support setting the GPIO to work as open-drain it is advised to not press the button when the board is operating to avoid the output driving the LED to be shorted to ground by the switch.
The board has a RJ45 connector with integrated magnetics and a Realtek RTL8201E PHY and operates in RMII mode. Since there is no interrupt line from the PHY the link state is polled in the fnNetworkIndicator() task.
The RTL8201E has been tested and verified in auto-negotiation mode only (10/100M full and half-duplex).

- in debug.c the following 2 lines need to be changed to allow the ping tests to work:
fnPingV6Test(-1); should be replaced by fnPingV6Test(IPv6_DUMMY_SOCKET);
fnPingTest(-2); should be replaced by fnPingTest(IPv4_DUMMY_SOCKET);

When simulating UC3C devices with active watchdog the following patch should be used in AVR32Sim.c to ensure that the simulator recognises the retriggering and doesn't show a watchdog reset after a short time:
In extern int fnSimTimers(void)

#if defined _AT32UC3C                                                    // add this
        if (WDT_CLR == 0)

06.08.2012 -

- Ethernet Boot Loader added to Full Licensed Project
- TCP/IP stack adapted for multiple interface and multiple network support - see for details about application compatibility.
- FTP client only commands ASCII or Binary modes when it is not know in which mode it is presently in and a change is needed
- FTP client Listing and Getting requires both the server's success response and the data connection to be closed before terminating and informing of success
- FTP client now supports operation with servers over IPv6
- Start web page shows IPv4 or IPv6 source address depending on connection.
- Advanced IPv6 support with link-local and global IPv6 addresses. TCP based services (such as HTTP and FTP) are operational on link-local IPv6 address and global IPv6 address as well as IPv4 (dual-stack).
- Global IPv6 address can be optionally tunnelled in 6in4 (tunnelling IP address is configurable) when native IPv6 is not possible.
- Configurable 6in4 relay agent to expose multiple IPv6 devices behind simple IPv4 routers.
- Ethernet bridging support
- define HTTP_POST_DEFINES_PAGE allows user file to be served as specified by the file name in a POST, rather than special uFile name
- define HTTP_SET_USERFILE_START_PAGE allow a specific user file to act as HTTP default start side
- define HTTP_SERVE_ONLY_USER_FILES allows serving exclusively user files - if a defined user file is not found display 404 error rather than a uFileSystem equivalent
- reset TCP connections when SYN (without ACK) received on connected TCP port
- Ethernet bridging support
- Keypad (matrix and linear) support added
- Buzzer output simulation (eg. for use with keypad)
- Frontpanel simulation support with connection of keys and LEDs to ports - including external I2C port expanders
- User button simulation in front-panel and configurable frontpanel image
- x,y coordinates shown when mouse is on keypad/front panel
- Added RTC support
- Task Performance monitor added (MONITOR_PERFORMANCE) - request via command line menu interface (using RTC)
- RTC_SETUP adapted for generic time-keeping compatibility with time date setting/display in command line menu. See RTC_TEST in application.c for reference. Driver includes in-built time/Gregorian calender support according to:
- Enabling SUPPORT_FILE_TIME_STAMP (requires SUPPORT_RTC) adds date/time stamps to utFAT file/directory writes.
- Boot loading from SD card added as option to serial loader project
- Additional queue protection added to allow nested writes and nested reads from same queue in interrupts
- SD card recognition in SDHC mode corrected
- The size of SD card larger than 4G is now displayed in kBytes to stop byte length overflow in 32 bit format
- SD card simulator can be configured to simulate 1G, 2G, 4G, 8G and 16G SD cards, as well as no SD card inserted
- Long File Name delete added using define UTFAT_LFN_DELETE (cleaning up all LFN directory entries)
- Access to SD card (utFAT) controllable individually for HTTP and FTP; root directories can be changed during operation (see utServer())
- SD card visualisation in simulator (preliminary)
- Optional polling of SD card to detect removal during operation (by reading a sector), by polling card detect switch, or based on card detect switch interrupt (see
- New I2C simulation devices (PCA9539, PCF2129A)

The following macros require changes to be accurate when used more than once:
#define _WRITE_PORT_MASK(port, value, mask) OVR_##port = ((OVR_##port & ~(mask)) | ((value) & (mask)));   _SIM_CHANGE(port)
#define _CONFIG_DRIVE_PORT_OUTPUT_VALUE(port, pins, value) GPERS_##port = (pins); _SIM_CHANGE(port); ODERS_##port = (pins); OVR_##port = ((OVR_##port & ~(pins)) | ((value) & (pins)));
#define _DRIVE_PORT_OUTPUT_VALUE(port, pins, value) ODERS_##port = (pins); OVR_##port = ((OVR_##port & ~(pins)) | ((value) & (pins)));  _SIM_CHANGE(port)

09.01.2012 -

- SINGLE_FILE_SIZE is no longer used. FILE_GRANULARITY is now used exclusively in all uFileSystem components (the meaning is the same)
- Allow scrolling up and down to previous commands in command line and editing the command with option PREVIOUS_COMMAND_BUFFERS as number of buffers
- FTP client according to the FTP client user's guide: (see video )
- Add last reset cause on administrator web page
- AVR32 Studio 5 project configured with post build step for automatic configuration with boot loader

Note that the default configuration is for the EVK1100 with file system (and boot loader intermediate location) in the 8 MByte SPI Flash on the board. Be sure to adjust appropriately for other targets when starting.

This version and the boot loader are shown in the following video guide:

20.09.2011 -

- Various improvements documented in the file headers [latest utFAT, LCD files all in uTasker/uGCLCDLIB folder]
- All projects include VS6, VS2010, GCC and IAR setups
- AVR32 Studio 5 project (recommended to AVR32 studio 2!!)
- IPv6 basic included
- uTaskerFileCreate V1.7 updated (see
-uTaskerConvert.exe V1.6 - "uTaskerConvert.exe uTasker_BM.bin raw.bin -b" can be used to convert an input file in Motorola binary format to raw binary format.
- Multi-Drop (9-bit) Tx and Rx modes added to UART driver
- GLCDLIB extended with Bitmap windowing support
- Character LCD simulator allows read of character content.
- utFAT update with FAT16 support added (define UTFAT16 in config.h). SD cards can be formatted for FAT32 or FAT16 as follows:
"format -16 label_name" or "re-format -16 label_name". Without the -16 FAT32 is formatted.
Support for 512 byte clusters only so intended primarily for small FATs (potentially in internal FLASH) up to 32M and not generally for large SD card use
- corrections in utFAT when writing clusters over sector boundaries and deleting clusters on big-endian processors.
- INDIVIDUAL_BUFFERED_TCP_BUFFER_SIZE allows buffered TCP sockets to define different buffer sizes for each socket. Use extern unsigned short fnDefineTCPBufferSize(USOCKET TCP_socket, unsigned short usBufferSize); to allocate the size to be used by the socket before first use. TCP_BUFFER is used (for compatibility) if no size is set.
- UART simulator extended to handle 6 internal UARTs and 4 external ones
- validated version of zero-configuration, including state display in simulator.
- added optional RAM test to application.c [#define RAM_TEST in application.c] - according to
- Managed file support
- _VARIABLE_HTTP_PORT allows the HTTP server to be started with a user-defined port number rather than fixed port 80.
- DNS_SERVER_OWN_ADDRESS adds command to set individual DNS server address, otherwise it follows the default gateway value.
- Display connection IPv4 address on start page of web server
- EXTENDED_UFILESYSTEM support (details follow)
- utFAT demonstration write uses new UTFAT_APPEND attribute when opening existing file to append extra data to a file
- IAR4 project added (needed for UC3C parts)
- External NMI supported
- Counter of number of times the start web side has been serverd added to the demonstration
- Option (SPECIAL_LCD_DEMO) to stop GLCD demo when an image is posted to the TFT via HTTP
- Added AT32UC3C-EK

Note that the uTaskerV1.4 project is configured for the UC3C in this version as delivered - for other types (UC3A or UC3B the project settings need to be adjusted to suit).

The AVR32 Studio 5 project uses an external make file. In the project settings "Build" this is set to C:\MJBC\Internal\ATMEL\AVR32\workspace\Applications\uTaskerV1.4\GNU_AVR32\make_uTaskerV1.4_GNU_AVR32
Change to Applications\uTaskerV1.4\GNU_AVR32\make_uTaskerV1.4_GNU_AVR32 to remove project location dependency

03.01.2010 -

- GNU make file includes uc3b compile and linker script options
- new GNU linker scripts for ucb3b parts
- random ID added to DNS to avoid problems with servers rejecting repeated IDs
- New permanent ARP entry option
- Optionally add HTTP plain text header information - define HTTP_HEADER_CONTENT_INFO
- optional USE_PARAMETER_AREA support (as simple alternative to USE_PARAMETER_BLOCK)
- utFAT V1.0 SD card support added (integrated in FTP, HTTP servers plus DOS-like interface)
Note that SDCARD_SUPPORT is enabled by default and GLCD is also enabled for operation with the EVK1105.

05.11.2009 -

- uTaskerCombine V1.1 in \Tools allows Intel Hex file output beyond 64k size
- Add AT32UC3B support (EVK1101), including serial loader (including simulation support)
- correction in HTTP dynamic content demonstration
- centralise packing control and little-/big-endian macros to driver.h
- Add permanent ARP entry type
- USE_PARAMETER_AREA support (as simple alternative to USE_PARAMETER_BLOCK)
- Improve simulation support for embedded user files in file system
- Allow DHCP overload options to be tolerated, but not handled
- Optionally close FTP connection on password failure [_CLOSE_ERROR]
- Allow other file types than HTML to be parsed by HTTP server if desired
- Add LCD backlight simulation control
- Add keypad LEDs simulation support
Note: when using AT32UC3B instead of AT32UC3A ensure that _AT32UC3B is enabled and that the corresponding linker script files are used.

11.10.2009 -

See file headers for changes - no further description here.

Original release on 12.08.2009 -

Please note that the SW packages are protected by the corresponding project password.
To register and receive the password, simple fill out the form:
Don't be afraid - the project is free and supported for everyone; just for commerical use a small fee for premium
support is requested (donation after making their first million profit also welcomed..;-)
« Last Edit: January 05, 2015, 12:51:26 PM by mark »