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.

AISGen booting issues related to EMIFB SDRAM confgiuration

Other Parts Discussed in Thread: TMS320C6747

We are using the TMS320C6747 DSP.  We have been booting from SPI1 flash memory successfully.  We have SDRAM present and configured on our board, but do not use it presently and it turns out that we had it configured incorrectly.  The SDRAM clock was set for 150 MHz which became a problem because of the "aging" issue with this chip.  Some of our oldest boards stopped booting.  When we looked into our AISgensettings, here is what we found:

ROM ID: D800K003

Boot mode:  SPI0 Flash  (Even though our SPI flash is connected to SPI1, it appeared to boot correctly if SPI0 or UART1 is selected)

Clock Source:  Crystal, 24 MHz

PLL and EMIFB SDRAM are Configured and CRC is Enabled.

 

We are trying to disable SDRAM so that we can boot and run our application when the SDRAM clk has "aged" as this is what is "hanging" at boot time and making our older boards fail.  If we do not put a check in "Configure EMIFB SDRAM", we are not able to boot from SPI1.  We have an intermittent problem booting from SPI1 with "aged" SDRAM, but seem to have no problem booting from UART1, as long as EMIFB SDRAM is Configured.

 

We would like to disable SDRAM completely, so that it will not interfere with our boot or our application.

  • Hi Conrad,

    We recommend that you work with your local TI contact to mitigate this issue. With respect to the issues you have pointed out with generating the boot image, we would appreciate if you can share the INI file or .cfg file that you are using to generate the boot image for us to analyze. If the EMIFB configurations are not checked or commented in the configuration provided the boot ROM should be leaving the settings to default state, have you tried this?You need to ensure that the memory map of the application being loaded is not utilizing the SDRAM region.

    Regards,

    Rahul

  • Hi Rahul,

    Thanks for your quick response.  We are still using Code Composer Studio 3.3, so I am not sure the INI or .cfg file applies.  We have tried not checking the box for "Configure EMIFB SDRAM", but then our system will not boot.  I have disconnected the SDRAM CLK signal between the DSP and the SDRAM and we boot just fine, so this tends to eliminate the need for the SDRAM.  It appears as if  the boot routine checks for the presence of the SDRAM, and if it finds it but the interface is unstable, then it hangs.  It appears that we do not even get out of the boot routing if we uncheck the box for "Configure EMIFB SDRAM", even if I disconnect to SDRAM CLK.

    Sincerely,

    -Conrad

  • Hi Conrad,

    The boot image is generated using AISGen GUI tool or the HexAISGen command line utility that is not part of the Code composer studio setup. Here is a snapshot of the setting that you may want to try :

    The EMIFB clock will be configured but if there is no code being loaded in the SDRAM there is no reason for a boot failure. If you are still observing boot failures, you may want to send us the dump of the debug GEL file to see if the boot fails in trying to do something with the SDRAM configurations.

    Could you also provide the contact details of your local TI contact .

    Regards,

    Rahul

  • Rahul,

    Thanks for your reply.  I am not sure if our security settings are blocking the picture, but I am not able to view it (our server limits quite a few actions).  I also emailed TI support and a technical sales person is going to get me in contact with a TI AE... We will also try the GEL file this morning.

    -Conrad

  • Hi Conrad,

    I am closing this post since the issue has been resolved offline. Please let us know if there is any further clarification required on this issue.

    In the interest of other community members coming across this post, CRC enabled on the boot media through the AISGen file is independent of the EMIFB configuration done by the tool. In order to prevent boot fails in applications that need to run completely from device internal memory or shared memory, ensure that the compiler doesn`t generate any global debug symbols  that get placed into the external memory due to unspecified section in the linker command file.

    Regards,

    Rahul