Proper solution for "cannot move location counter backwards" when building tests?

Peter Dufault dufault at hda.com
Fri Feb 14 12:06:40 UTC 2014


On Feb 14, 2014, at 02:52 , Sebastian Huber <sebastian.huber at embedded-brains.de> wrote:

> Hello Peter,
> 
> On 2014-02-13 23:11, Peter Dufault wrote:
>> I'm testing the phycore_mpc5554 against the latest head, not too successfully.
> 
> which issues do you have?

I wanted to get more details before posting.  The first thing I noticed is that either rtems_clock_set() or rtems_clock_get() isn't working properly (and isn't returning an error), so e.g. Task_1_through_3() in sp01 exits immediately because it sees that more than 35 seconds has gone by and exits.  The fact that exit() now calls bsp_reset() had me confused for a while, I thought things were really in bad shape until I realized that (and I checked, that detail is in the release notes).  I recompiled without optimization last night so that this AM I can figure out more.

> 
>> One hopefully easy problem is that with tests enabled I get this problem building file system tests, including fsdosfsname01:
>> 
>> linkcmds.base:329 cannot move location counter backwards (from 4002c564 to 40010000)
>> 
>> There's a thread about this last November ("Powerpc/mpc55xxevb build failure") with the suggestion that this be conditional on BSP_SMALL_MEMORY.  I don't consider 8MB of memory small, but I'm showing my age, the younger people are spitting out their lattes at that.
> 
> I think the problem is the flash size.  How big is it?

I'm using the internal flash so it's 2M:
/*
 * Debug RAM is the top 4MB of external RAM and is swapped with the
 * FLASH for development.
 */
MEMORY {
    ROM : ORIGIN = 0x00000000, LENGTH = 2M
    RAM : ORIGIN = 0x40000000, LENGTH = 64K
    RAM_EXT : ORIGIN = 0x21000000, LENGTH = 4M
    DEBUG_RAM : ORIGIN = 0x21400000, LENGTH = 4M
    NOCACHE : ORIGIN = 0x0, LENGTH = 0
}

Since I'm running out of RAM at this point I think I could easily increase it to 4M for testing since I use that DEBUG_RAM section to image the flash, I need to check the MPC555X memory map but I think I could lie and just set the ROM size to 4M and then download into RAM and set up the TLB.

There is 8M external FLASH on the Phytec but I haven't been using that.  My normal in-the-field use is 2M flash 4M SRAM, my programs have been running around 1.1M FLASH so it has been OK.

Peter
-----------------
Peter Dufault
HD Associates, Inc.      Software and System Engineering





More information about the devel mailing list