TI中文支持网
TI专业的中文技术问题搜集分享网站

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

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

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

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

kooking:

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

feifei ji:

回复 kooking:

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

feifei ji:

回复 feifei ji:

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

Chris Meng:

feifei ji

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

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

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

feifei ji:

回复 Chris Meng:

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

feifei ji:

回复 feifei ji:

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

赞(0)
未经允许不得转载:TI中文支持网 » dm368 的video_loopback例程烧写进板子后显示不正常
分享到: 更多 (0)