EmbeddedRelated.com
Forums
Memfault Beyond the Launch

WARNING Rabbitbios.c: Origin xmemcod2 collides with origin watcode

Started by seecwriter January 5, 2011
I tried compiling my application, which normally runs on an RCM3000, on an RCM3209, and I get the following compiler error.

WARNING Rabbitbios.c: Origin xmemcod2 collides with origin watcode
starting at physical address 0x8d000.

In Rabbitbioc.c, the only place that xmemcod2 and watcode are used is
in the following defines:

#ifdef USE_2NDFLASH_CODE
#xcodorg xmemcod2 (XMEMSEGVAL2) XMEMORYORG XMEMORYSIZE2 follows xmemcode // this needs to change for sepid
#endif

#if (DK_ENABLE_WATCHEXPRESSIONS==1)
#wcodorg watcode (WATCHSEGVAL) WATCHCODEORG WATCHCODESIZE apply
#endif

I'm compiling with debug off and I'm using the 2nd flash for code.

Any ideas on what I need to do to correct the issue?

Steve
Sounds like you have enabled USE_2NDFLASH_CODE in the bios for the
RCM3000. Comment out the define in the bios and it should work.

--
------
Scott G. Henion, Consultant
Web site: http://SHDesigns.org
Rabbit libs: http://shdesigns.org/rabbit/
------
Bingo! That was it. Since my code needs to be compiled on both an RCM3000 and the RCM3209, I need to have USE_2NDFLASH_CODE defined
for the RCM3000. Is there another cpu-type define I can use to
condition whether I should define USE_2NDFLASH_CODE or not?

Steve
You could change the define to be conditional:

#if _FLASH_SIZE_ == 0x40
#define USE_2NDFLASH_CODE // Uncomment this only if you have a
// a board with 2 256K flashes, and you
// want to use the second flash for extra
// code space. The file system is not
// compatible with using the second flash
// for code.
#endif

could also use if _BOARD_TYPE_ == RCM3000

--
------
Scott G. Henion, Consultant
Web site: http://SHDesigns.org
Rabbit libs: http://shdesigns.org/rabbit/
------

Memfault Beyond the Launch