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.

TMS320C6747 boot问题

我的板子SDRAM挂在EMIFB上,使用SPI0上的FLASH,使用按照上面的配置将out文件转换成bin文件以后再把程序烧写到Flash,无法实现引导启动,不知道是什么原因,请帮忙指导下,谢谢。

ps:以前我们的板子把SDRAM挂在EMIFA上的,其他的都一样,就可以正常引导。不知道为什么把SDRAM挂到EMIFB上就不可以了呢?

  • 程序本身是跑在EMIFA上还是EMIFB上的?

  • 程序是运行在EMIFB上的SDRAM中的。DSP自身的RAM不够,就在CMD文件中映射到SDRAM中的。

  •  感觉上面配置里的PSC是随便填的。

    根据下面网页说明,用load symbol的方式跟踪一下吧:

    http://processors.wiki.ti.com/index.php/Debugging_Boot_Issues?keyMatch=boot%20debug&tisearch=Search-EN

  • 前面PSC是全开的,不行,后面我又只开了我使用的几个,但是还是无法正常引导。

    应该不是PSC的问题吧?

    我想问一下,我这样操作有没有什么问题?正常情况下,我这么使用AISGEN,然后烧到FLASH中去,应该就可以正常工作了吧?

    如果我的操作是正常的,那会不会有可能是其他硬件问题导致的?

  • PSC的配置确认配置的值没有问题,如Pinmux,SDRAM时序等,其它没有什么需要注意的问题.

    起不来,不加gel文件,连上仿真器,找开工程,下载symbol,看程序跑到哪去了。

  • 说明一下:

    1.加载GEL文件以后,程序可以正常运行,EMIFB上的SDRAM、FLASH都工作正常,说明我代码和AISGEN中关于EMIFB、PSC、PINMUX的配置应该没有问题;

    2.不加gel文件,连上仿真器,找开工程,下载symbol,然后打断点,程序依然不知道跑在什么地方,断点处还是汇编语言,没有和程序对应上,我分析应该是boot没有成功,没有将falsh中的程序搬到SDRAM中运行;

    3.我使用示波器看FLASH的时钟运行情况,在有读写flash时,时钟信号很明显。测量我们以前的正常的板子,在加电时有较长一段时间的时钟信号,说明boot从flash中读取程序了,但是在我们现在的这个板子,在加电启动的时候,flash的时钟持续的时间很短,我分析是boot时,没有将程序从flash中读取出来。

    不知道我这样分析的是否正确。还请给点指导。

    还有一个问题,我们以前的板子,程序是烧写是从flash的0地址开始写的,我们还是按照这个去操作的,不知道这个板子烧写程序的地址是不是也和以前一样,从0地址开始?

  • 两种可能

    1,程序没有从FLASH读取成功,你可以把RAM中的程序DUMP出来,和通过CCS加载程序对比一下。

    2,另一种是程序在某个地方跑飞了,你可以把PC强制指到程序开始,然后单步走走看看

  • 能否给个详细说明,谢谢。

  • 问题已经解决,是硬件设计问题,boot7 引脚因该接地,我们硬件设计错误拉高了,飞线以后解决。

    谢谢 Denny Yang 的支持,谢谢。