• Resolved

StarterWare bl_devam335x.c AM335X_StarterWare_02_00_00_06

If you look at the function static void DDR2PhyInit(void) in  bl_devam335x.c you will see this line

HWREG(DATA0_FIFO_WE_SLAVE_RATIO_0) = ((0x56 << 30)|(0x56 << 20)|(0x56<< 10)|(0x56 << 0));

I get integer operation result is out of range errors/warnings from this.  I get this type of error in several places actually.



  • What tool set do you use to build it? I am using gcc and there are no warning/errors of any kind. 

  • In reply to Valentin Ivanov:

    Note that we have:

    define HWREG(x) (*((volatile unsigned int *)(x)))

    Further note that we have

    HWREG(DATA0_RD_DQS_SLAVE_RATIO_0) = ((0x40 << 30)|(0x40 << 20)|(0x40 << 10)|(0x40 << 0));

    Located in static void DDR2PhyInit(void)

    See that 0x40<<30 requires more than 32 bits

    Also note that DATA0_RD_DQS_SLAVE_RATIO_0 is a 32 bit register.

    I am using the ARM compiler RVDS 4.1



  • In reply to brad badke:


      Thanks for pointing out. These issues are carried over from leagacy. We will update the bootloader to fix this.



    Note: If this post answers your question, please click the Verify Answer button below. Thank you!