include files

I seem to have some difficulty getting the include files all in order. I am trying to use armcc and don’t know where <intrinsic.h> (included in "FreeRTOSConfig.h" (included in "FreeRTOS.h" (included in croutine.c))) is. Can someone explain what/where this <intrinsic.h> is? Thanks

include files

intrinsic.h is compiler specific file that implements things like, for example, enabling and disabling interrupts. Are you using the Rowley code as a base?

include files

Hello guys, here is a "newbee", hope you can help me. I just installed IAR SystemsEmbedded Workbench 5.0 EvaluationARM and mean to compile code for Atmel AT91SAM7X. I download an open FreeRTOSV4.1.3FreeRTOSDemouIP_Demo_IAR_ARM7rtosdemo When compiling, IAR compiler complains: Fatal Error[Pe005]: could not open source file "intrinsic.h" There is a file called intrinsics.h (with an s) in directory C:Program FilesIAR SystemsEmbedded Workbench 5.0 EvaluationARMinc Do I need to rename/copy this file to match the file name in FreeRTOSConfig.h: #include <intrinsic.h> Thanx for advice.

include files

Please note the first two lines of the documentation page for the SAM7X/IAR demo: "Note: The FreeRTOS.org demo application projects will not be updated to use the IAR Embedded Workbench version 5.x until such time that this version also supports the Cortex M3. Until that time, to use the projects without having to make any modification it is necessary to use Embedded Workbench V4.42 – this was released at the same time as V5.x and is still a supported product." I suspect this is your problem. Regards.

include files

Your question "What is intrinsic.h" has been answered. This file is very essential – you MUST find it. I apologise – I am not familiar with your processor or IDE setup, I work with FreeRTOS port for Microchip PC MCUs – But I would find intrinsic.h or intrinsics.h, rename if necessary so that name in include statement in code is the same, then put it into the default directory location, where your IDE should have been instructed to look for *.h include files. Alternatively, after finding and ensuring the name is correct, copy the file into your present IDE project directory and use include "intrinsic(s).h" in the code. You have a very simple and very common problem – files simply "lost" amidst the catacombs of Windows OS! Do not despair, you will get past this impediment. J

include files

IAR version 5.11 does also support the cortex now.  Im just looking at the migration guide ftp://ftp.iar.se/WWWfiles/arm/Guides/omarm_2.pdf in which is this -– The intrinsic functions __enable_interrupt and __disable_interrupt are no longer available as intrinsic functions; however, they are available as library functions, which means they are backwards compatible on source code level. -– So it looks like the intrinsic include is no longer needed provided you include the library that has the equivalent functions.

include files

Thanx for prompt reply, guys! If I copy intrinsics.h to intrinsic.h, C-compilation seems to work, but I still get these assembler errors: Error[116]: Section type missing FreeRTOSV4.1.3FreeRTOSDemouIP_Demo_IAR_ARM7SrcIARCstartup.s79 34 Error[116]: Section type missing FreeRTOSV4.1.3FreeRTOSDemouIP_Demo_IAR_ARM7SrcIARCstartup.s79 35 Error[40]: Bad instruction FreeRTOSV4.1.3FreeRTOSDemouIP_Demo_IAR_ARM7SrcIARCstartup.s79 41 Warning[24]: ENDMOD directive is ignored (only one module is allowed) FreeRTOSV4.1.3FreeRTOSDemouIP_Demo_IAR_ARM7SrcIARCstartup.s79 220 It seems it doesn’t like these lines:         RSEG    INTRAMSTART_REMAP         RSEG    INTRAMEND_REMAP         org    0        ENDMOD Read in ARM® IAR Embedded Workbench Migration Guide Migrating from version 4.x to version 5.x 1 Modules In version 5.x, neither the assembler nor the compiler can make a distinction between program and library modules. If you want a module to be treated as a library module, thus conditionally linked, you must place the module in a library. This means that if you have used either the LIBRARY or the MODULE directive in your existing assembler source code, these will no longer have any effect. In version 4.x, you could define one or several assembler modules in each file. In version 5.x, there can only be one module per file. This means that you have to restructure your files accordingly. To read more about modular programming and the new syntax of the module directives. see the ARM® IAR Assembler Reference Guide. So – what do you think I should do? Should I uninstall 5.0 and go for the old 4.x compiler version or are there simple hacks to fix this as well? Thanx in advance.

include files

I went back to IAR Embedded Workbench V4.42. Now it works fine. Thanx Richard.

include files

Yes – best to stick with V4.42 for now.  I didn’t realise there was so much to do to move to 5.0.  I will start migrating the projects across but my work load is heavy at the moment (which is a good thing ;o) so it might take a while before they are all ready. Regards.

include files

Thank you for very fast response, Richard. Maybe I will migrate to ver 5.0 when you are done to get longer future support from IAR. I am planning on upgrading from FreeRTOS to OpenRTOS. I think the support is excellent for FreeRTOS, do I have something to gain by upgrading early in the project? Regards

include files

In addition to the commercial license, OpenRTOS gives you the option of commercial development and support.  If this is going to make your development easier of faster then its worth signing up for earlier (for example if you wanted to subcontract a port to IAR V5 to get it earlier then I might be able to provide the same).  Otherwise, if your product requires the commercial license only, then you can wait until you are ready to ship – don’t forget to do it though :o) Here is a sneak preview of the new WITTENSTEIN OpenRTOS site.  It is still being updated so might be a bit weird at the moment. http://openrtos.highintegritysystems.com/openrtos-commercial-licensing-and-support.php Regards.