at91sam7xc256 IAR Beginner problems

nobody wrote on Thursday, August 24, 2006:

Hello

My first compilation of the project
\FreeRTOS\Demo\uIP_Demo_IAR_ARM7

fails with 1 warning and 1 error
Warning[w7]: Module ?RESET declared twice, once as program and once as library.  Redeclared in file C:\Programme\IAR Systems\Embedded Workbench 4.0 Kickstart\arm\LIB\dl4tptinl8n.r79, 
ignoring library module
Fatal Error[e72]: Segment INTRAMSTART_REMAP must be defined in a segment definition option (-Z, -b or -P)

Im very new to FreeRTOS, so ive got no idea…
Is this related to my limited IAR Version?
Should I try the gcc-port…

many thanks in advance.

Greetings Klaus

nobody wrote on Thursday, August 24, 2006:

Can you say,
which IAR version you are using.
which FreeRTOS version you are using.
have you made any changes at all to the project file or source files?

nobody wrote on Thursday, August 24, 2006:

IAR 4.30A
FreeRTOSV4.0.5
Win2k

The only changes ive made is related to the ip-adress of the device and the router.

nobody wrote on Thursday, August 24, 2006:

I am using IAR 4.40A and it builds fine.  I should upgrade.  You should be able to download the latest kickstart version from the IAR web site for free and use this to build the code.

nobody wrote on Thursday, August 24, 2006:

Many thanks for your fast help.

its not working because the update is not ok:

‘Please note that the update cannot be used with the kickstart edition EWARM-KS or evaluation edition EWARM-EV.’

:slight_smile: Now ive killed my installation … where is the cd …

Is there another way to solve this?

greetings Klaus

nobody wrote on Thursday, August 24, 2006:

I think with the kickstart versions you cannot simply update - but need to install the entire kickstart version again.  You can download the entire thing from http://supp.iar.com/Download/SW/?item=EWARM-KS32.

Don’t know if you have to uninstall your exiting version first or not.  The kickstart is limited to 32K for ARM7.

nobody wrote on Thursday, August 24, 2006:

one step further
IAR Kickstart 4.4 is running, but …

The error remains
There seems to be another problem.

nobody wrote on Thursday, August 24, 2006:

In the IDE, on the left hand side you will see the workspace window, with the project files listed.  Right click on the project "RTOS demo - flash debug", then select options from the pop up menu.

From the pop up window, select the linker category, followed by the Config tab.

In the linker command file region of the tab, do you have the "Override default" check box checked and $PROJ_DIR$\resource\at91SAM7X256_NoRemap.xcl selected?

If not the check the box and enter $PROJ_DIR$\resource\at91SAM7X256_NoRemap.xcl as the file to use.

Does that fix it?

nobody wrote on Thursday, August 24, 2006:

thanks, we are on the right way…

the error is replaced with another
Error[e46]: Undefined external "__program_start" referred in ?ABS_ENTRY_MOD (  )

the old warning is still there an some other are new

Here is the compete output

Rebuilding configuration: rtosdemo - Flash Debug
Updating build tree…

52 file(s) deleted.
Updating build tree…
BlockQ.c
Cstartup.s79
Cstartup_SAM7.c
EMAClISR.s79
ParTest.c
PollQ.c
SAM7_EMAC.c
cgi.c
death.c
dynamic.c
flash.c
flop.c
fs.c
heap_2.c
httpd.c
integer.c
list.c
main.c
port.c
portasm.s79
queue.c
semtest.c
tasks.c
uIP_Task.c
uip.c
uip_arch.c
uip_arp.c
Linking
Warning[w7]: Module ?RESET declared twice, once as program and once as library.  Redeclared in file C:\Programme\IAR Systems\Embedded Workbench 4.0 Kickstart\arm\LIB\dl4tptinl8n.r79, 
ignoring library module
Warning[w6]: Type conflict for external/entry "file_404_html", in module httpd against external/entry in module fs; different composite type kinds
  /* In module httpd: */
  struct fsdata_file /* Elements: 5, Bytes: 20 */
  { 
    struct fsdata_file const * next;
    char const * name;
    char const * data;
    int const len;
    u16_t count;
  } const file_404_html;
    typedef unsigned short u16_t;
  /* In module fs: */
  struct fsdata_file /* Elements: 5, Bytes: 20 */
  { 
    struct fsdata_file const * next;
    char const * name;
    char const * data;
    int const len;
    u16_t count;
  } (const file_404_html)[1];
    typedef unsigned short u16_t;
Warning[w6]: Type conflict for external/entry "file_index_html", in module httpd against external/entry in module fs; different composite type kinds
  /* In module httpd: */
  struct fsdata_file /* Elements: 5, Bytes: 20 */
  { 
    struct fsdata_file const * next;
    char const * name;
    char const * data;
    int const len;
    u16_t count;
  } const file_index_html;
    typedef unsigned short u16_t;
  /* In module fs: */
  struct fsdata_file /* Elements: 5, Bytes: 20 */
  { 
    struct fsdata_file const * next;
    char const * name;
    char const * data;
    int const len;
    u16_t count;
  } (const file_index_html)[1];
    typedef unsigned short u16_t;
Warning[w6]: Type conflict for external/entry "uxQueueMessagesWaiting", in module PollQ against external/entry in module queue; function types differ in parameter 1; different basic types
  /* In module PollQ: */
  /* Function, args 1, attr 0 */
  unsigned long (__atpcs __interwork uxQueueMessagesWaiting)(void *);
  /* In module queue: */
  /* Function, args 1, attr 0 */
  unsigned long (__atpcs __interwork uxQueueMessagesWaiting)(xQueueHandle);
    typedef struct QueueDefinition * xQueueHandle;
Warning[w6]: Type conflict for external/entry "xQueueCreate", in module BlockQ against external/entry in module queue; function return types are different; different basic types
  /* In module BlockQ: */
  /* Function, args 2, attr 0 */
  void * (__atpcs __interwork xQueueCreate)(unsigned long,
                                            unsigned long);
  /* In module queue: */
  /* Function, args 2, attr 0 */
  xQueueHandle (__atpcs __interwork xQueueCreate)(unsigned long,
                                                  unsigned long);
    typedef struct QueueDefinition * xQueueHandle;
Warning[w6]: Type conflict for external/entry "xQueueReceive", in module BlockQ against external/entry in module queue; function types differ in parameter 1; different basic types
  /* In module BlockQ: */
  /* Function, args 3, attr 0 */
  long (__atpcs __interwork xQueueReceive)(void *,
                                           void *,
                                           portTickType);
    typedef unsigned long portTickType;
  /* In module queue: */
  /* Function, args 3, attr 0 */
  long (__atpcs __interwork xQueueReceive)(xQueueHandle,
                                           void *,
                                           portTickType);
    typedef struct QueueDefinition * xQueueHandle;
    typedef unsigned long portTickType;
Warning[w6]: Type conflict for external/entry "xQueueSend", in module BlockQ against external/entry in module queue; function types differ in parameter 1; different basic types
  /* In module BlockQ: */
  /* Function, args 3, attr 0 */
  long (__atpcs __interwork xQueueSend)(void *,
                                        void const *,
                                        portTickType);
    typedef unsigned long portTickType;
  /* In module queue: */
  /* Function, args 3, attr 0 */
  long (__atpcs __interwork xQueueSend)(xQueueHandle,
                                        void const *,
                                        portTickType);
    typedef struct QueueDefinition * xQueueHandle;
    typedef unsigned long portTickType;
Warning[w6]: Type conflict for external/entry "xQueueSendFromISR", in module SAM7_EMAC against external/entry in module queue; function types differ in parameter 1; different basic types
  /* In module SAM7_EMAC: */
  /* Function, args 3, attr 0 */
  long (__atpcs __interwork xQueueSendFromISR)(void *,
                                               void const *,
                                               long);
  /* In module queue: */
  /* Function, args 3, attr 0 */
  long (__atpcs __interwork xQueueSendFromISR)(xQueueHandle,
                                               void const *,
                                               long);
    typedef struct QueueDefinition * xQueueHandle;
Warning[w6]: Type conflict for external/entry "vTaskList", in module cgi against external/entry in module tasks; function types differ in parameter 1; different basic types
  /* In module cgi: */
  /* Function, args 1, attr 0 */
  void (__atpcs __interwork vTaskList)(char *);
  /* In module tasks: */
  /* Function, args 1, attr 0 */
  void (__atpcs __interwork vTaskList)(signed char *);
Warning[w6]: Type conflict for external/entry "uip_arp_draddr", in module uip_arp against external/entry in module uip; types have different type attributes
  /* In module uip_arp: */
  u16_t uip_arp_draddr[2];
    typedef unsigned short u16_t;
  /* In module uip: */
  unsigned short (const uip_arp_draddr)[2];
Warning[w6]: Type conflict for external/entry "uip_arp_netmask", in module uip_arp against external/entry in module uip; types have different type attributes
  /* In module uip_arp: */
  u16_t uip_arp_netmask[2];
    typedef unsigned short u16_t;
  /* In module uip: */
  unsigned short (const uip_arp_netmask)[2];
Warning[w60]: The entry point label "__program_start" was not found in any input file. The image will not have an entry point.
Error[e46]: Undefined external "__program_start" referred in ?ABS_ENTRY_MOD (  )

Total number of errors: 1
Total number of warnings: 12

nobody wrote on Thursday, August 24, 2006:

Sounds to me like you have lost all your project settings.  This may have been a result of opening the project with an old version of the IDE first.

Try a fresh download of the FreeRTOS source code, then open the project from your new version of the ide.  You should find it builds with no warnings (hopefully :wink:

nobody wrote on Thursday, August 24, 2006:

That was it :slight_smile:

Many thanks, without help I would have send days…

remooz wrote on Monday, May 21, 2007:

I have the same warnings and errors after the compilation but i don’t succeed to fix.
Can you help me ?
Thx