This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x boot problem

Other Parts Discussed in Thread: AM3358

I have a custom Am3358 design that use TP65217C/DDR3.I set the sysboot[4:0] to 00100b: UART0 XIP MMC0 NAND.

Now I try to load the MLO via a SD card , but it runs instability.when the hyperterminal recive "C" normally ( prints "C" all the time ) it boot successfully. However the hyperterminal recive only a few "C" letter frequently, then the MLO cannot been boot. 

 I am trying to fix the problem, but I have no idea Where to start ?

  • HI,

        This board is designed by yourself or bought  from other companies?If designed by yourself ,have you verified the timing and integrity between MPU and DDR? Anyway , I think you can try to develop a bone testing program using ccs or iar for basic hardware verifing.

  • Hi Sichao,

        Thank you for your advice . The board is designed by our company. Actually, I really don't know how to testing the basic hardware.

        Besides, I had configured the DDR3 timing successfully by following the wiki EMIF Configuration Tips (DDR PHY Section).

        Our board just print seven or less than seven "C" frequently  ( it's the same if I don't insert the SD card ). When I use XDS100v2 to debug the boot program of Starterware and load the bin file through the JTAG , it works well; but when I copy the MLO ( boot of Starterware or SPL of uboot ) file to the SD card ,the MLO can just be loaded and run successfully when the "C" letter is print all the time ( maybe the ROM code run normally at this time )

         "C" letter is printed by  the ROM code which runs in the internal RAM of MPU,  so I think it can not be related to the DDR configration. But why it can not run stably , DO I miss something ?

        Looking forward to your reply, thank you !

  • HI,

    Based on your description, i think your bootloader which runs inside SRAM which located inside the MPU can work normally, but you're not sure whether your SDRAM can work correctly or not . Am i right?

    You mentioned you have debug your bin via JTAG. So, your bin runs inside where? DDR? If  true, I can guess maybe your IDE ,like CCS or IAR have finished DDR3 init-process by the init-scripts offered by IDE.

    You can try to boot your board  via uart, following the steps described in TI Linux SDK, to check if the result is the same.

    Anyway , I think you should check your basic hardware carefully.For example: soldering , clock , PMIC voltages, IC postions and types.

    Then, you can design a DDR memory test application based on Starterware bootloader project using CCS or IAR.

    The following is a reference page , I have ported the code to my board for testing basic hardware functionality once.I hope my answer can give you some ideas.

     http://processors.wiki.ti.com/index.php/AM335x_Starter_Kit_Diagnostics

    Thank you!

     

  • Hi, Sichao Tang

        It's good to see your reply !

        Sorry, I forgot to tell you that when I debug the bin via JTAG, the boot ( MLO run in the internal RAM ) could run successfully and loaded the app ( file that be built from Starterware program ) which was also stored in the SD card to SDRAM, and the app run well. what's more, I had test the DDR with the tools provided by the GEL file, read and wrote from DDR also was ok. I had view the reference page that you send me ,maybe it can help.

        I had try to boot our board  via uart, the results were the same. When "C" was printed, everything was ok( the SPL, uboot, boot, app, all of these can work well ). So, I am agree with you that the problem is laocated in the hardware.

        When  I told the hardware engineer of our company to check the basic hardware, and he replied me that the PMIC voltages is ok. Then, I require him to change the boot sequence to boot from MMC first, and to make it clear  what caused the result, the XIP or nand ? Now it boot successfully so far, but I don't konw why and wether the problem have been solved. 

        Thank you for helping me all the time. 

  • HI,

        I think your problem is caused by hardware stability. Maybe the clock circuit or power-up sequence or others works not stably enough. Maybe your hardware itself works not stably or your pcb design is not  rational so that your board is easy to be interference from other factors.

        If my answer meets your question , please click yes, Thank you.

  • Hi, Sichao Tang

        Maybe you are right, I will let the hardware engineer to check it carefully. 

        Thank you !