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.
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
Thanks for pointing out. These issues are carried over from leagacy. We will update the bootloader to fix this.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.