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.

dm368 的video_loopback例程烧写进板子后显示不正常

Other Parts Discussed in Thread: TVP5146

        你好!我用ccs连接仿真器在debug模式下跑ccs自带的video_loopback例程,把section段全部分配到ddr,执行正常。可是把程序烧进板子后,显示的结果是彩色横条,采集的视频根本看不到。

      开始以为是gel文件里面初始化了某些设置,在ubl文件里没有做到。可是把ubl文件的初始化部分写的和gel文件完全一致,结果还是不对。后来我让gel文件什么都不做,debug下还是正常,这我就不知道为什么了。

     求TI的专家们指导一下,谢谢!

  • 楼主的开发板应该有nand falsh吧,会不会上电后,直接从nand启动了ubl -> u-boot

  • 不会,因为我就没有烧写uboot,烧写过ubl后紧接着烧写了应用程序。其它例程可以跑,这个例程我不知道哪里出问题了。问个比较基础的问题,我看vpfe里数据送到ddr里面,ddr的地址是32位,设置的是0x04000000,而vpbe里窗口0对应的地址只有23位,设置的是0x00000000,这看着不对应呀,为什么debug里数据传输是对的?谢谢!

  • 地址问题我知道了。可还是不知道烧进板子后结果为什么不正确。

  • feifei ji 说:

    后来我让gel文件什么都不做,debug下还是正常,这我就不知道为什么了。

    代码是放在DDR上的,如果不调用gel,谁来初始化DDR?你是否用CCS运行的时候,调用gel后就没有给板子断过点?

    建议你可以把VPFE/VPBE的寄存器在两种情况下都打印出来对比一下。

  • 那是因为我板子里烧写的ubl已经完成了ddr的初始化,ubl里面的初始化几乎完成了gel文件的功能。我现在已经找到是iic在配置tvp5146时失败,不知道调试状态下同样代码为什么能配置成功。

  • 最终找到问题是iic的库文件里定义的一个全局变量赋了初值,可在使用的时候却变成了0,。我把这个全局变量改成符号常量是可以的。那为什么在debug模式下这个全局变量是好用的?并且这样做要改lib里的文件,比较麻烦,有没有简单的办法?我感觉改cmd文件可以,可是.const段已有定义,不知道还可以怎么改?