FreeRTOS for AVR32 example does not build πŸ™

http://www.freertos.org/portAVR32.html does not build, due to missing definitions that are nowhere in the FreeRTOS download package. (from https://sourceforge.net/project/showfiles.php?group_id=111543&package_id=120544) "Rebuild All":- Building configuration: rtosdemo – Debug Updating build tree… 48  file(s) deleted. Updating build tree… BlockQ.c  ParTest.c  PollQ.c  comtest.c  death.c  dynamic.c  exception.s82 Error[As012]: Undefined symbol: AVR32_INTC_IPR0_INTLEV_OFFSET C:FreeRTOSFreeRTOSSourceportableIARAVR32_UC3exception.s82 300 Error while running Assembler flash.c  flop.c  gpio.c  heap_3.c  intc.c  Error[Pe020]: identifier "AVR32_INTC_IPR0_INTLEV_SIZE" is undefined C:FreeRTOSFreeRTOSDemoAVR32_UC3DRIVERSINTCintc.c 52 Error[Pe136]: struct "avr32_intc_t" has no field "icr3" C:FreeRTOSFreeRTOSDemoAVR32_UC3DRIVERSINTCintc.c 111 Error[Pe020]: identifier "AVR32_INTC_IPR0_INTLEV_MASK" is undefined C:FreeRTOSFreeRTOSDemoAVR32_UC3DRIVERSINTCintc.c 199 Error[Pe020]: identifier "AVR32_INTC_IPR0_INTLEV_OFFSET" is undefined C:FreeRTOSFreeRTOSDemoAVR32_UC3DRIVERSINTCintc.c 199 Error while running C/C++ Compiler integer.c  led.c  Error[Pe020]: identifier "AVR32_PWM_PWM_0_FUNCTION" is undefined C:FreeRTOSFreeRTOSDemoAVR32_UC3BOARDSEVK1100led.c 77 Error[Pe020]: identifier "AVR32_PWM_PWM_1_FUNCTION" is undefined C:FreeRTOSFreeRTOSDemoAVR32_UC3BOARDSEVK1100led.c 77 Error[Pe020]: identifier "AVR32_PWM_PWM_2_FUNCTION" is undefined C:FreeRTOSFreeRTOSDemoAVR32_UC3BOARDSEVK1100led.c 77 Error[Pe020]: identifier "AVR32_PWM_PWM_3_FUNCTION" is undefined C:FreeRTOSFreeRTOSDemoAVR32_UC3BOARDSEVK1100led.c 77 Error while running C/C++ Compiler list.c  main.c  pm.c  port.c  Error[Pe020]: identifier "AVR32_USART1_RXD_0_PIN" is undefined C:FreeRTOSFreeRTOSSourceportableIARAVR32_UC3port.c 134 Error[Pe020]: identifier "AVR32_USART1_RXD_0_FUNCTION" is undefined C:FreeRTOSFreeRTOSSourceportableIARAVR32_UC3port.c 134 Error[Pe020]: identifier "AVR32_USART1_TXD_0_PIN" is undefined C:FreeRTOSFreeRTOSSourceportableIARAVR32_UC3port.c 135 Error[Pe020]: identifier "AVR32_USART1_TXD_0_FUNCTION" is undefined C:FreeRTOSFreeRTOSSourceportableIARAVR32_UC3port.c 135 Error while running C/C++ Compiler queue.c  read.c  semtest.c  serial.c  Error[Pe020]: identifier "AVR32_USART0_RXD_0_PIN" is undefined C:FreeRTOSFreeRTOSDemoAVR32_UC3serialserial.c 173 Error[Pe020]: identifier "AVR32_USART0_RXD_0_FUNCTION" is undefined C:FreeRTOSFreeRTOSDemoAVR32_UC3serialserial.c 173 Error[Pe020]: identifier "AVR32_USART0_TXD_0_PIN" is undefined C:FreeRTOSFreeRTOSDemoAVR32_UC3serialserial.c 174 Error[Pe020]: identifier "AVR32_USART0_TXD_0_FUNCTION" is undefined C:FreeRTOSFreeRTOSDemoAVR32_UC3serialserial.c 174 Error while running C/C++ Compiler tasks.c  tc.c  trampoline.s82 usart.c  write.c  Total number of errors: 17 Total number of warnings: 0

FreeRTOS for AVR32 example does not build πŸ™

I tried V5.1.1 & 5.1.0 The first symbol that the build complains about, AVR32_INTC_IPR0_INTLEV_OFFSET is not defined anywhere in the package.

FreeRTOS for AVR32 example does not build πŸ™

(Using V3.10 IAR embedded Workbench:- IAR Assembler for Atmel AVR32 3.10A/W32 (3.10.1.3) C:Program FilesIAR SystemsEmbedded Workbench 5.3 Kickstartavr32binaavr32.exe 17/10/2008 13:44:30, 4345856 bytes IAR C/C++ Compiler for Atmel AVR32 3.10A/W32 (3.10.1.3) C:Program FilesIAR SystemsEmbedded Workbench 5.3 Kickstartavr32biniccavr32.exe 17/10/2008 13:48:36, 9138176 bytes …) Where are the missing definitions to get this going?

FreeRTOS for AVR32 example does not build πŸ™

I use GCC, so I don’t know whether things might work differently with the IAR compiler. I found that the best way to get a working project (ie. one that builds and runs) is to start with one of the example projects supplied with AVR32 Studio.  This is done by selecting File->New->Example (in AVR32 Studio), and then picking an example project for your processor (there are 4 sections in the list of examples).  This creates a complete project that builds and runs, and that you can then modify to your heart’s content. -- Bert Menkveld

FreeRTOS for AVR32 example does not build πŸ™

I have just taken one of the undefined symbols at random (AVR32_INTC_IPR0_INTLEV_SIZE) and searched for it in my IAR installation directory, and found it to be defined in IAR SystemsEmbedded Workbench 4.0avr32incavr32intc.h However, my installation is not up to date so maybe IAR have changed the names of the definitions? Also, there was a lot of confusion over header files when this port was first done, some mess up with the compiler or other, and Atmel provided me with a patch for the compiler.  Maybe the file comes from that? Take a look at the Atmel UC3 Software Framework which can be downloaded from: http://www.atmel.com/dyn/Products/tools_card.asp?tool_id=4192 This runs on top of FreeRTOS.org and is a bit different. Regards.

FreeRTOS for AVR32 example does not build πŸ™

I started with ThreadX then went for FreeRTOS. I want a file system and, later, TCP/IP stack (at least TFTP,FTP,HTTP). I AM using a more recent IAR workbench (V3.10A) than came with the IAR Kickstart CDROM. Missing definitions appear to be related to Interrupt priorities, PWM and UART.

FreeRTOS for AVR32 example does not build πŸ™

Yup. Older workbench doesn’t complain about the same symbols. Fewer issues repoted. Now, Use old workbench or newer workbench? Building configuration: rtosdemo – Debug Updating build tree… 46  file(s) deleted. Updating build tree… BlockQ.c ParTest.c PollQ.c comtest.c death.c dynamic.c exception.s82 flash.c flop.c gpio.c heap_3.c intc.c integer.c led.c list.c main.c pm.c Error[Pe020]: identifier "AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G2" is undefined C:FreeRTOSV5.1.1FreeRTOSDemoAVR32_UC3DRIVERSPMpm.c 162 Error[Pe020]: identifier "AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G3" is undefined C:FreeRTOSV5.1.1FreeRTOSDemoAVR32_UC3DRIVERSPMpm.c 163 Error[Pe020]: identifier "AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G2" is undefined C:FreeRTOSV5.1.1FreeRTOSDemoAVR32_UC3DRIVERSPMpm.c 223 Error[Pe020]: identifier "AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G3" is undefined C:FreeRTOSV5.1.1FreeRTOSDemoAVR32_UC3DRIVERSPMpm.c 224 Error[Pe020]: identifier "AVR32_PM_OSCCTRL32_MODE_EXT_CLOCK" is undefined C:FreeRTOSV5.1.1FreeRTOSDemoAVR32_UC3DRIVERSPMpm.c 278 Error[Pe020]: identifier "AVR32_PM_OSCCTRL32_MODE_CRYSTAL" is undefined C:FreeRTOSV5.1.1FreeRTOSDemoAVR32_UC3DRIVERSPMpm.c 284 port.c queue.c read.c semtest.c serial.c tasks.c tc.c trampoline.s82 usart.c write.c Total number of errors: 6 Total number of warnings: 0

FreeRTOS for AVR32 example does not build πŸ™

Make sure you have v1.3 of Atmel’s framework, you can download from Atmel’s website. The framework contains the headers files in "FrameworkDir/Utils/AVR32_HEADER_FILES". Unzip to the compiler’s include directory (C:Program FilesIAR SystemsEmbedded Workbench 5.3avr32incavr32 on my machine). This overwrites the existing files so I recommend backing up the old headers first.

FreeRTOS for AVR32 example does not build πŸ™

I spent yesterday fixing symbol names in the demo kit to match workbench 5.3. It builds! and executes in debug. But no LEDS; no serial output. :-( I got an email from IAR, to update some AVR32 include files in v5.3 of the KickStart workbench. I did that. Then recopied the FreeRTOS 5.1.1 demos tree (i.e. to version, as downloaded, without my fixes from yesterday). and rebuilt. Same Interrupt, pwm, and UART symbol issues showed up. This is going to be a headache for develoment integrity. Does anyone have a complete FreeRTOS, demo package, for AVR32, running with KickStart WorkBench 5.3?

FreeRTOS for AVR32 example does not build πŸ™

I shouldn’t have to debug a supposedly working demo. FreeRTOS 5.1.1 on AVR32 Kickstart v5.3 After fixing demo symbols for Interrupts, PWM, and UARTS, and gettig it to build:- "The stack pointer for stack ‘System’ (currently Memory:0x5278) is outside the stack range (Memory:0xF800 to Memory:0x10000)" This is going to be painfull. OK, which version of Kickstart Workbench is FreeRTOS demo (v5.1.1) (for AVR32) supposed to work with? I don’t have time to debug this demo for workbench 5.3.

FreeRTOS for AVR32 example does not build πŸ™

The stack pointer warning can be safely ignored as task stack is allocated on the heap rather than the stack defined in the build options.

FreeRTOS for AVR32 example does not build πŸ™

I just tried compiling the latest FreeRTOS download with V2.21B of the IAR tools and it built fine, but as I said before I think I have some patches that were supplied by Atmel.  It looks like the latest compiler version I have is 3.10a, I will try installing that now. You can ignore the warning about the stack, that is just because the compiler expects the stack to be within the region defined in the linker script, whereas in fact its within the heap. Regards.

FreeRTOS for AVR32 example does not build πŸ™

Having installed the new compiler version I can see that the libraries have changed, probably to be made simpler.  All was going well doing the updates, as: AVR32_INTC_IPR0_INTLEV_OFFSET -> AVR32_INTC_INTLEV_OFFSET AVR32_INTC_NUM_INT_LEVELS -> AVR32_INTC_INTLEV_SIZE AVR32_INTC_IPR0_INTLEV_MASK -> AVR32_INTC_INTLEV_MASK AVR32_INTC_IPR0_INTLEV_OFFSET -> AVR32_INTC_INTLEV_OFFSET until I got to this code: static tLED_DESCRIPTOR LED_DESCRIPTOR[LED_COUNT] = { #define INSERT_LED_DESCRIPTOR(LED_NO, unused)                   {                                                               {LED##LED_NO##_GPIO / 32, 1 << (LED##LED_NO##_GPIO % 32)},     {LED##LED_NO##_PWM,       LED##LED_NO##_PWM_FUNCTION    }   },   MREPEAT(LED_COUNT, INSERT_LED_DESCRIPTOR, ~) #undef INSERT_LED_DESCRIPTOR }; Yuk – what on earth is that!  I’m sure somebody is very pleased with how clever they have been there but I’m not even going to attempt to fix the compile error its now generating.  Its just too horible. I think I am going to have to get in touch with Atmel and merge the latest FreeRTOS.org version with their software framework.  They must have fixed this stuff in there, on the assumption they are using the latest compiler. The other problem is the different revisions of the chips need different fixes applied, so this also needs sorting. Sorry not to be of more use, this appears to be a bit of a smudge on the project that needs cleaning off. Again I think the best course of action would be to use the official Atmel stuff. Regards.

FreeRTOS for AVR32 example does not build πŸ™

I have added this to the Known Issues list: http://www.freertos.org/a00104.html#knownissues Regards.

FreeRTOS for AVR32 example does not build πŸ™

There’s a PWM_PWM symbol name part ‘tidy up’. I cleaned up the INTLEVEL, PWM, UART (and LED) references and got FreeRTOs AVR32 Demo (V5.1.1) to build under kickstart 5.3, but it ain’t running yet. (3 days, so far) I might get some help from Atmel. I’ll keep you posted. (Which version of KickStart Workbench does the FreeRTOS AVR32 demo work with?)

FreeRTOS for AVR32 example does not build πŸ™

Here are my changes that will, at lest, get the demo ‘built’ (though it ain’t running yet:- in int.c :- around line 111 :- __int_handler _get_interrupt_handler(unsigned int int_lev) {   // ICR3 is mapped first, ICR0 last.   // Code in exception.S puts int_lev in R12 which is used by AVR32-GCC to pass   // a single argument to a function. // Workbench compatibility issue:- /* Workbench v?.?   unsigned int int_grp = (&AVR32_INTC.icr3)[INT3 – int_lev];   unsigned int int_req = AVR32_INTC.irr[int_grp]; */ // Workbench v5.3   unsigned int int_grp = (&AVR32_INTC.icr[INT3])[INT3 – int_lev];   unsigned int int_req = AVR32_INTC.irr[int_grp]; // Around line 197 :-   // NOTE: The _intx functions are intermediate assembly functions between the   // core interrupt system and the user interrupt handler. // Workbench compatibility issue:- /* Workbench v?.?     AVR32_INTC.ipr[int_grp] = ipr_val[int_lev & (AVR32_INTC_IPR0_INTLEV_MASK >> AVR32_INTC_IPR0_INTLEV_OFFSET)]; */ // Workbench v5.3     AVR32_INTC.ipr[int_grp] = ipr_val[int_lev & (AVR32_INTC_IPR_INTLEV_MASK >> AVR32_INTC_IPR_INTLEV_OFFSET)]; // } In intc.h :- around line # 55 :- //! Number of interrupt priority levels. // Workbench compatibility issue:- /* Workbench v?.? #define AVR32_INTC_NUM_INT_LEVELS                   (1 << AVR32_INTC_IPR0_INTLEV_SIZE) */ // Workbench v5.3 #define AVR32_INTC_NUM_INT_LEVELS                   (1 << AVR32_INTC_IPR_INTLEV_SIZE) // In FreeRTOSConfig.h :- around lines 104 to 123 :- /* Debug trace configuration.    configDBG is a boolean indicating whether to activate the debug trace. */ #define configDBG                     1 // EVK1100 :- #if BOARD == EVK1100 // Workbench compatibility issue:- /* Workbench v?.? #define configDBG_USART               (&AVR32_USART1) #define configDBG_USART_RX_PIN        AVR32_USART1_RXD_0_PIN #define configDBG_USART_RX_FUNCTION   AVR32_USART1_RXD_0_FUNCTION #define configDBG_USART_TX_PIN        AVR32_USART1_TXD_0_PIN #define configDBG_USART_TX_FUNCTION   AVR32_USART1_TXD_0_FUNCTION #define configDBG_USART_BAUDRATE      57600 #define serialPORT_USART              (&AVR32_USART0) #define serialPORT_USART_RX_PIN       AVR32_USART0_RXD_0_PIN #define serialPORT_USART_RX_FUNCTION  AVR32_USART0_RXD_0_FUNCTION #define serialPORT_USART_TX_PIN       AVR32_USART0_TXD_0_PIN #define serialPORT_USART_TX_FUNCTION  AVR32_USART0_TXD_0_FUNCTION #define serialPORT_USART_IRQ          AVR32_USART0_IRQ #define serialPORT_USART_BAUDRATE     57600 */ // Workbench v5.3 #define configDBG_USART               (&AVR32_USART1) #define configDBG_USART_RX_PIN        AVR32_USART1_RXD_0_0_PIN #define configDBG_USART_RX_FUNCTION   AVR32_USART1_RXD_0_0_FUNCTION #define configDBG_USART_TX_PIN        AVR32_USART1_TXD_0_0_PIN #define configDBG_USART_TX_FUNCTION   AVR32_USART1_TXD_0_0_FUNCTION #define configDBG_USART_BAUDRATE      57600 #define serialPORT_USART              (&AVR32_USART0) #define serialPORT_USART_RX_PIN       AVR32_USART0_RXD_0_0_PIN #define serialPORT_USART_RX_FUNCTION  AVR32_USART0_RXD_0_0_FUNCTION #define serialPORT_USART_TX_PIN       AVR32_USART0_TXD_0_0_PIN #define serialPORT_USART_TX_FUNCTION  AVR32_USART0_TXD_0_0_FUNCTION #define serialPORT_USART_IRQ          AVR32_USART0_IRQ #define serialPORT_USART_BAUDRATE     57600 // // EVK1101 :- #elif BOARD == EVK1101 #define configDBG_USART               (&AVR32_USART1) and in exception.s82 :- around line # 300 :- ipr_val: // Workbench compatibility issue:- /* Workbench v?.?   DC32  (INT0 << AVR32_INTC_IPR0_INTLEV_OFFSET) | (_int0 – _evba),         (INT1 << AVR32_INTC_IPR0_INTLEV_OFFSET) | (_int1 – _evba),         (INT2 << AVR32_INTC_IPR0_INTLEV_OFFSET) | (_int2 – _evba),         (INT3 << AVR32_INTC_IPR0_INTLEV_OFFSET) | (_int3 – _evba) */ // Workbench v5.3   DC32  (INT0 << AVR32_INTC_IPR_INTLEV_OFFSET) | (_int0 – _evba),         (INT1 << AVR32_INTC_IPR_INTLEV_OFFSET) | (_int1 – _evba),         (INT2 << AVR32_INTC_IPR_INTLEV_OFFSET) | (_int2 – _evba),         (INT3 << AVR32_INTC_IPR_INTLEV_OFFSET) | (_int3 – _evba) //   END

FreeRTOS for AVR32 example does not build πŸ™

Response from Atmel:- "You need to know which version of IAR was used to compile the V 5.1.1 package. Our software framework 1.3.0 provides the header files for IAR Workbench 4.0 (IAR V2.2.2 at least). You can download it at the following URL : http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4192 We are about to release our software framework 1.4.0 which provides the header files for IAR Workbench 5.3 (IAR V3.1.0a at least). You can download a beta version at the following URL : http://www.atmel.no/beta_ware/ You can try to compile the V 5.1.1 package with those two environments. If it does not work, I suggest you use our code examples which are provided in our software framework packages in folder : SERVICESFREERTOSDemo and see if they suit to your needs. In every case, you need to update your header files by unzipping UTILSAVR32_HEADER_FILESAVR32_Header_Files.zip package in C:Program FilesIAR SystemsEmbedded Workbench 4.0avr32inc. This will update the avr32 folder including the header files. I advise you backup your original header files first. "

FreeRTOS for AVR32 example does not build πŸ™

Wow – how did you manage to get an answer from Atmel so quickly?  Do you have the email address of an engineer or go through their support ticketing system? It looks like is going to be some effort to get up to the latest IAR versions. Regards.

FreeRTOS for AVR32 example does not build πŸ™

I need to get the demos (currently v5.1.1) working asap, on an EVK1100 platform, under workbench 5.3. When I do (if someone doesn’t beat this newbie FreeRTOS & newbie Atmel, old fart programmer to it) I’ll be happy to give it back to this community. Is someone else working to get the FreeRTOS, for AVR32, working with Workbanch 5.3?

FreeRTOS for AVR32 example does not build πŸ™

The best place to ask would be on the AVR freaks forum http://www.avrfreaks.net , although the WEB site only seems to work for me one day in 3.  Most AVR32 chatter comes directly from Atmel. Regards.

FreeRTOS for AVR32 example does not build πŸ™

OK, my patience has run out. Enough is Enough. Uncle! After several days of fooloing around; This morning I tried to roll back to a version of the workbench that the FreeRTOS demo(s) will work with. I removed the workbench and attempted to install what appears to be v4.3 of the workbench from the IAR website but it shows up as v 5.11B !?? and complains about GNU toolset when I try to load the FreeRTOS demo eww file !?? Please, gentlemen: Which combination of FreeRTOS v5.1.1, GNU toolchain, Kickbench (which install file), software framework, etcetera ACTUALLY BUILDS AND RUNS!????

FreeRTOS for AVR32 example does not build πŸ™

Hi Richard, I’ve been working with this processor for about 9 months now and had to laugh at your comment about Atmel’s code as I’ve thought the same thing many times. I like the processor but the code package is frustrating to say the least. I’m pretty sure that I can fix the FreeRTOS demo but I’m working under an insane deadline so don’t have much time to work on it. If you can wait a week or so maybe I can send you something that works. One thing I want to mention as that there’s 2 different versions of processor out there: 1 is rev E I think, and is labeled with an ‘ES’ after the part number. Rev F, the production version, doesn’t have this. ‘ES’ parts only work with Framework version 1.2 or earlier. Rev F parts must use framework version 1.3 or later. Code written for the ‘ES’ parts will not run on the production parts and vice-versa. To make things more interesting, the Atmel engineers felt it necessary to change the names of some constants in their header files (not the values, just the names) which gives compiler errors. I think that’s what s_potter is running into. Anyway I’ll take a stab at fixing the demo if you don’t mind waiting a bit.

FreeRTOS for AVR32 example does not build πŸ™

The latest AVR32 Embedded Workbench version is 3.10, the build works with version 2.21 (as previously noted).  I am very confused by the version numbers you are giving.  Also the IAR and GCC ports are completely separate and not intended to be used together. Regards.

FreeRTOS for AVR32 example does not build πŸ™

Thanks – that’s great information. Regards.

FreeRTOS for AVR32 example does not build πŸ™

Confused version numbers is an understatement. The http://www.iar.com/website1/1.0.1.0/780/1/index.php page shows "Product News" for V5,11, 5.10, and 4.30; all using the same download link to "KS4" (KickStart 4?)  which is actually seems to be kickstart 5. I currently have 3 workbench installation files:- EWAVR32-KS-WEB-310A.exe EWAVR32-KS-CD-221B.exe ewavr-ks4-web-511B.exe I have two SoftwareFramework files:- AVR32-SoftwareFramework-1.3.0-AT32UC3A.zip AVR32-SoftwareFramework-AT32UC3A-1.4.0.zip The later workbench wants an updated GNU toolchain (avr32-gnu-toolchain-2.0.3.exe). I have been banging at this for several days and have not found a combination that will build the FreeRTOS and run ‘out of the box’. Trying to build FreeRTOS v.5.1.1, I have not been able to build with any success. Ths does NOT bode well for consistent develoment environment. OK so Workbench 4.0 is v 2.21B ? FreeRTOS v5.1.1 does not build with Workbench 4.> (2.21B), missing/mismatched …CRYSTAL… defiitions. FreeRTOS v5.1.1 does not build with Workbench 5 (3.1A), missing/mismatched Interrupt, PWM, and UART defiitions (with either of the two SoftwreFramework header files, or default). Somebody please tell me which combination works:- FreeRTOS v5.1.1 Workbench 4 / 2.21B / 5 / 3.10A Software Framework (default) / 1.3.0 / 1.4.0 AVR GNU toolchain: req’d / not req’d / 2.0.3 I am given to understand that v5.1.1 + WB 2.21B + SF (default) + no special GNU toolchain should work – but that combination gives me:- Error[Pe020]: identifier "AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G2" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 162 Error[Pe020]: identifier "AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G3" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 163 Error[Pe020]: identifier "AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G2" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 223 Error[Pe020]: identifier "AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G3" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 224 Error[Pe020]: identifier "AVR32_PM_OSCCTRL32_MODE_EXT_CLOCK" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 278 Error[Pe020]: identifier "AVR32_PM_OSCCTRL32_MODE_CRYSTAL" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 284 !!!????   Hurrumpfh  !!

FreeRTOS for AVR32 example does not build πŸ™

> Confused version numbers is an understatement. > > The http://www.iar.com/website1/1.0.1.0/780/1/index.php page > shows "Product News" for V5,11, 5.10, and 4.30; all using the > same download link to "KS4" (KickStart > 4?)  which is actually seems to be kickstart 5. > > I currently have 3 workbench installation files:- > > EWAVR32-KS-WEB-310A.exe > EWAVR32-KS-CD-221B.exe > ewavr-ks4-web-511B.exe That explains a lot.  The last in the list is for the AVR processor – that is the 8 bit AVR, not the AVR32. The software frame work will use the IAR tools or the GCC tools, maybe it can be built with both (like the FreeRTOS demo is supposed to), but not both at the same time. Regards.

FreeRTOS for AVR32 example does not build πŸ™

OK SO I have an EVK1100, which has a "UC3A0512ES" chip on it. What do I have to install to get the FreeRTOS v5.1.1 to build and run? WB 2.21B generates:- Error[Pe020]: identifier "AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G2" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 162 Error[Pe020]: identifier "AVR32_PM_OSCCTRL0_MODE_CRYSTAL_G3" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 163 Error[Pe020]: identifier "AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G2" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 223 Error[Pe020]: identifier "AVR32_PM_OSCCTRL1_MODE_CRYSTAL_G3" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 224 Error[Pe020]: identifier "AVR32_PM_OSCCTRL32_MODE_EXT_CLOCK" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 278 Error[Pe020]: identifier "AVR32_PM_OSCCTRL32_MODE_CRYSTAL" is undefined C:ProjectsAVR32FreeRTOS_v5.1.1_IwIPDemoAVR32_UC3DRIVERSPMpm.c 284

FreeRTOS for AVR32 example does not build πŸ™

EVK1100 kit has a UC3A1512-U chip. So do our ‘production’ prototypes. An earlier post indicates issues with "Software Framework" for chip version. What does the "-U" mean for the Software Framework version?

FreeRTOS for AVR32 example does not build πŸ™

Richard Barry gave me a zip file with a set of header files (AVR32) – it builds! :-)) and runs!!!!!!! :-))))) Thank you, Richard! Now the fun starts! :-) Note:- This is FreeRTOS demo v5.1.1 (for AVR32 : UC3A) with Kickstart workbench 4.0 ( 3/10A) – out of the box (no ‘software framework’ or GNU tools update) Steven

FreeRTOS for AVR32 example does not build πŸ™

(Week 2) Basic FreeRTOS Demo (built with IAR KickStart Workbench 4.0) builds and runs. lwIP demo will not build under IAR Workbench:-      Insufficient stack space OK: Install Cygwin Which version of the GCC toolset do I need? Let’s try avr-gnut-oolchain 2.0.3:- make (from GCC directory):- …/cygdrive/c/Projects/AVR32/FreeRTOS_v5.1.1_Eth/Demo/lwIP_AVR32_UC3/AT32UC3A/gcc $ make avr32-gcc (GCC) 4.2.2-atmel.1.0.8 (mingw32 special) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling `../../BOARDS/EVK1100/led.c to `../../BOARDS/EVK1100/led.o. Warning: Deprecated arch `uc’ specified. Please use ‘-march=ucr1’ instead. Converting to arch ‘ucr1’ ../../BOARDS/EVK1100/led.c:77: error: ‘AVR32_PWM_PWM_0_FUNCTION’ undeclared here (not in a function) ../../BOARDS/EVK1100/led.c:77: error: ‘AVR32_PWM_PWM_1_FUNCTION’ undeclared here (not in a function) ../../BOARDS/EVK1100/led.c:77: error: ‘AVR32_PWM_PWM_2_FUNCTION’ undeclared here (not in a function) ../../BOARDS/EVK1100/led.c:77: error: ‘AVR32_PWM_PWM_3_FUNCTION’ undeclared here (not in a function) make: *** [../../BOARDS/EVK1100/led.o] Error 1 Steven@ICSS_TP5 /cygdrive/c/Projects/AVR32/FreeRTOS_v5.1.1_Eth/Demo/lwIP_AVR32_UC3/AT32UC3A/gcc $ Hmmmm     "…PWM_PWM…" again? Now what?

FreeRTOS for AVR32 example does not build πŸ™

I am using avr32-gcc (GCC) 4.1.2-atmel.1.1.0 Build output: avr32-gcc (GCC) 4.1.2-atmel.1.1.0 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling `../../BOARDS/EVK1100/led.c’ to `../../BOARDS/EVK1100/led.o’. Compiling `../../DRIVERS/INTC/intc.c’ to `../../DRIVERS/INTC/intc.o’. Compiling `../../DRIVERS/TC/tc.c’ to `../../DRIVERS/TC/tc.o’. Compiling `../../DRIVERS/PM/pm.c’ to `../../DRIVERS/PM/pm.o’. Compiling `../../DRIVERS/MACB/macb.c’ to `../../DRIVERS/MACB/macb.o’. Compiling `../../DRIVERS/GPIO/gpio.c’ to `../../DRIVERS/GPIO/gpio.o’. Compiling `../../DRIVERS/FLASHC/flashc.c’ to `../../DRIVERS/FLASHC/flashc.o’. Compiling `../../main.c’ to `../../main.o’. Compiling `../../PARTEST/ParTest.c’ to `../../PARTEST/ParTest.o’. Compiling `../../SERIAL/serial.c’ to `../../SERIAL/serial.o’. Compiling `../../../../Source/tasks.c’ to `../../../../Source/tasks.o’. Compiling `../../../../Source/queue.c’ to `../../../../Source/queue.o’. Compiling `../../../../Source/list.c’ to `../../../../Source/list.o’. Compiling `../../../../Source/croutine.c’ to `../../../../Source/croutine.o’. Compiling `../../../../Demo/Common/Minimal/flash.c’ to `../../../../Demo/Common/Minimal/flash.o’. Compiling `../../../../Source/portable/GCC/AVR32_UC3/port.c’ to `../../../../Source/portable/GCC/AVR32_UC3/port.o’. Compiling `../../../../Source/portable/MemMang/heap_3.c’ to `../../../../Source/portable/MemMang/heap_3.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/inet.c’ to `../../../../Demo/Common/ethernet/lwIP/core/inet.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/mem.c’ to `../../../../Demo/Common/ethernet/lwIP/core/mem.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/memp.c’ to `../../../../Demo/Common/ethernet/lwIP/core/memp.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/netif.c’ to `../../../../Demo/Common/ethernet/lwIP/core/netif.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/pbuf.c’ to `../../../../Demo/Common/ethernet/lwIP/core/pbuf.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/raw.c’ to `../../../../Demo/Common/ethernet/lwIP/core/raw.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/stats.c’ to `../../../../Demo/Common/ethernet/lwIP/core/stats.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/sys.c’ to `../../../../Demo/Common/ethernet/lwIP/core/sys.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/tcp.c’ to `../../../../Demo/Common/ethernet/lwIP/core/tcp.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/tcp_in.c’ to `../../../../Demo/Common/ethernet/lwIP/core/tcp_in.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/tcp_out.c’ to `../../../../Demo/Common/ethernet/lwIP/core/tcp_out.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/ipv4/ip.c’ to `../../../../Demo/Common/ethernet/lwIP/core/ipv4/ip.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/ipv4/ip_addr.c’ to `../../../../Demo/Common/ethernet/lwIP/core/ipv4/ip_addr.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/ipv4/icmp.c’ to `../../../../Demo/Common/ethernet/lwIP/core/ipv4/icmp.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/api/sockets.c’ to `../../../../Demo/Common/ethernet/lwIP/api/sockets.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/api/tcpip.c’ to `../../../../Demo/Common/ethernet/lwIP/api/tcpip.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/api/api_msg.c’ to `../../../../Demo/Common/ethernet/lwIP/api/api_msg.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/api/err.c’ to `../../../../Demo/Common/ethernet/lwIP/api/err.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/api/api_lib.c’ to `../../../../Demo/Common/ethernet/lwIP/api/api_lib.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/netif/etharp.c’ to `../../../../Demo/Common/ethernet/lwIP/netif/etharp.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/udp.c’ to `../../../../Demo/Common/ethernet/lwIP/core/udp.o’. Compiling `../../../../Demo/Common/ethernet/lwIP/core/ipv4/ip_frag.c’ to `../../../../Demo/Common/ethernet/lwIP/core/ipv4/ip_frag.o’. Compiling `../../NETWORK/lwip-port/AT32UC3A/sys_arch.c’ to `../../NETWORK/lwip-port/AT32UC3A/sys_arch.o’. Compiling `../../NETWORK/lwip-port/AT32UC3A/ethernetif.c’ to `../../NETWORK/lwip-port/AT32UC3A/ethernetif.o’. Compiling `../../NETWORK/BasicWEB/BasicWEB.c’ to `../../NETWORK/BasicWEB/BasicWEB.o’. Compiling `../../NETWORK/BasicTFTP/BasicTFTP.c’ to `../../NETWORK/BasicTFTP/BasicTFTP.o’. Compiling `../../NETWORK/BasicSMTP/BasicSMTP.c’ to `../../NETWORK/BasicSMTP/BasicSMTP.o’. Compiling `../../NETWORK/ethernet.c’ to `../../NETWORK/ethernet.o’. Compiling `../../printf-stdarg.c’ to `../../printf-stdarg.o’. Assembling `../../SERVICES/USB/CLASS/DFU/EXAMPLES/ISP/BOOT/trampoline.S’ to `../../SERVICES/USB/CLASS/DFU/EXAMPLES/ISP/BOOT/trampoline.o’. Assembling `../../../../Source/portable/GCC/AVR32_UC3/exception.S’ to `../../../../Source/portable/GCC/AVR32_UC3/exception.o’. Linking to `uc3a0512-lwipdemo.elf’. /usr/local/lib/gcc/avr32/4.1.2/../../../../avr32/bin/ld: uc3a0512-lwipdemo.elf: warning: allocated section `.dalign’ not in segment /usr/local/lib/gcc/avr32/4.1.2/../../../../avr32/bin/ld: uc3a0512-lwipdemo.elf: warning: allocated section `.bss’ not in segment /usr/local/lib/gcc/avr32/4.1.2/../../../../avr32/bin/ld: uc3a0512-lwipdemo.elf: warning: allocated section `.heap’ not in segment /usr/local/lib/gcc/avr32/4.1.2/../../../../avr32/bin/ld: uc3a0512-lwipdemo.elf: warning: allocated section `.stack’ not in segment Creating extended listing to `uc3a0512-lwipdemo.lss’. Creating symbol table to `uc3a0512-lwipdemo.sym’. Creating Intel HEX image to `uc3a0512-lwipdemo.hex’. Creating binary image to `uc3a0512-lwipdemo.bin’. uc3a0512-lwipdemo.elf  : section              size         addr .reset             0x2008   0x80000000 .got                  0xc         0x20 .init                0x1c   0x80002008 .text             0x1acb0   0x80002024 .exception          0x200   0x8001ce00 .fini                0x18   0x8001d000 .rodata             0x2d8   0x8001d018 .dalign               0x4          0x4 .eh_frame             0x4          0x8 .ctors                0x8          0xc .dtors                0x8         0x14 .jcr                  0x4         0x1c .data               0x8c8         0x2c .balign               0x4        0x8f4 .bss               0x75c8        0x8f8 .heap              0x7140       0x7ec0 .comment            0xb7c          0x0 .debug_aranges     0x1c18          0x0 .debug_pubnames    0x3454          0x0 .debug_info       0x4c2ba          0x0 .debug_abbrev      0x8b75          0x0 .debug_line        0xb522          0x0 .debug_frame       0x4e1c          0x0 .debug_str         0x3b2c          0x0 .debug_loc         0xdb9b          0x0 .stack             0x1000       0xf000 .debug_ranges       0x410          0x0 Total             0xa99ec    text    data     bss     dec     hex filename 0x1d1c4   0x8ec  0xf710  184768   2d1c0 uc3a0512-lwipdemo.elf

FreeRTOS for AVR32 example does not build πŸ™

Damn! If I walk through the 4 or 5 links, starting at almel.com for AVR32 to get to the download page I get offered toolchain 2.0.3, which is the oe OI tried to run make with and failed (above). Where do I get the older toolchain that the lwIP demo will build with, for the EVK1100? (and which version is it?) Link sequence:- http://support.atmel.no/bin/customer http://support.atmel.no/bin/customer?=&inc=help32 http://support.atmel.no/knowledgebase/avr32studiohelp/com.atmel.avr32.tool.ngw100/html/documentation_avr32_gnu_toolchain.html http://support.atmel.no/knowledgebase/avr32studiohelp/com.atmel.avr32.tool.ngw100/html/download.html http://www.atmel.com/products/avr32/ http://www.atmel.com/dyn/products/tools.asp?family_id=682 http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4118 http://www.atmel.com/dyn/resources/prod_documents/avr32-gnu-toolchain-2.0.3.exe

FreeRTOS for AVR32 example does not build πŸ™

I can’t find a version of the GNU tool kit with GCC avr32-gcc (GCC) 4.1.2-atmel.1.1.0

FreeRTOS for AVR32 example does not build πŸ™

I dumped ThreadX (for AVR32) because FileX and NetX are another $12,500 each! I am now considering dumping FreeRTOS as well because it doesn’t match the version of the toolset that Atmel are pushing (at least the demos don’t). Let’s ignore IAR workbench compatibility issues for the moment! I have spent close to 2 weeks, so far, and I was hoping to have a decent RTOS, with a file system, and, with a bit of luck, a working basic TCP/IP stack (at least TFTP, FTP, UDP, HTTP) running – so I could get on with building an application. So far, it has proved to be a total headache – literally, on a few notable days! :-) I know it is very time-consuming to maintain software. Richard is a very busy fellow. IAR seem to be causing a lot of unnecessary hardship by changing symbol names. I’m just trying to get started – and I’m wishing I hadn’t! :-)))

FreeRTOS for AVR32 example does not build πŸ™

I can only imagine what a headache it is going to be to get colleagues ‘up and running’ with twe same environment! I’m not sure I could set it all up the same way twice – even when I do figure out which versions of which packages, with with patches, are needed. What a mess!

FreeRTOS for AVR32 example does not build πŸ™

So where do I get the toolchain that includes the version of the GCC compiler and a BSP that will build and run the lwIP demo on an EVK1100?

FreeRTOS for AVR32 example does not build πŸ™

OK  It was a header file compatibility issue, and putting the right header files in the right path. Basic problem is that BOTH Atmel and IAR have ‘moved on’ since FreeRTOS was running for AVR32. Website downloads will not work ‘out of the box’. With help from Steve Egeter (IAR) and Richard Barry (FreeRTOS) I have been able to get the basic FreeRTOS demo running in KickStar Workbench 4.0 and I have now successfully built the lwIP demo with cygwin and gnu tools (v2.0.3) (later compiler is OK). Next – build lwIP with AVR studio, and get the debuger going. Thanks to gents mentioned.

FreeRTOS for AVR32 example does not build πŸ™

Hello, I have a similar problem to  AVR32 demo and can’t get the compilation to succeed. Can you details which header files you put in which path ? Thanks

FreeRTOS for AVR32 example does not build πŸ™

Send an email to me at r [dot] barry (at) freertos.org and I can send you the files.  Don’t use a SourceForge email address.  Also let me know which compiler you are using. Regards.

FreeRTOS for AVR32 example does not build πŸ™

After downloading FreeRTOS v5.1.2 I am attempting to build the AT32UC3A example with GCC. I get a similar error: avr32-gcc (GCC) 4.2.2-atmel.1.0.8 (mingw32 special) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling `../../BOARDS/EVK1100/led.c’ to `../../BOARDS/EVK1100/led.o’. ../../BOARDS/EVK1100/led.c:77: error: ‘AVR32_PWM_PWM_0_FUNCTION’ undeclared here (not in a function) ../../BOARDS/EVK1100/led.c:77: error: ‘AVR32_PWM_PWM_1_FUNCTION’ undeclared here (not in a function) ../../BOARDS/EVK1100/led.c:77: error: ‘AVR32_PWM_PWM_2_FUNCTION’ undeclared here (not in a function) ../../BOARDS/EVK1100/led.c:77: error: ‘AVR32_PWM_PWM_3_FUNCTION’ undeclared here (not in a function) make: *** [../../BOARDS/EVK1100/led.o] Error 1 Do you have the updated header files to make this work?

FreeRTOS for AVR32 example does not build πŸ™

I am having the same problem with the latest of everything. FreeRTOS 5.4.2 + gnu gcc toolchain 2.2.1 How do I fix it?