lixuefeng 发表于 2015-4-5 15:35:49

求助OK6410裸机显示,调试正常,但是用sd烧录,会有2个图显示乱


最近本人在OK6410开发板上遇到一个问题,用RVDS2.2调试都ok,但是,用SD写入到falsh后(编译启动为0xc0008000,然后SD卡上有U-boot,zImage),启动后,大致正常,但是有2个菜单显示有乱码,(rvds调试时30多个菜单界面都正常!),后来,通过串口把这2个界面的显示数据传了出来,发现这样一个现象:本来图片界面数据是用数据const unsigned char gImage_set 定义的,然后显示时,从falsh中取出,送到显示缓冲,我发现在这个过程中,串口把falsh中取出的数与gImage_set数据不对,如图片gImage_set是0X86,0X31,而从flash读出,送到串口为0X84,0X33这样 。所以,我一直无法解决,不知道是编译出错,还是从PC机传zImage给SD卡错,还是SD启动后,传给NandFlash错?请大家指点,谢谢!

lixuefeng 发表于 2015-4-6 08:24:49


附上显示的效果,背景原来是 像 计算器一样的输入窗口, 目前只有后来叠加的显示框正确,背景乱码了!
请大家指点!

lixuefeng 发表于 2015-4-7 09:39:29

等大家指教啊

lixuefeng 发表于 2015-4-8 01:50:02

跪求指教!!!!!!!!

lixuefeng 发表于 2015-4-10 07:18:36


试了一个晚上,发现有规律的事,每次烧录好,复位运行,这2幅图也是正常的,但是 ,一旦断电了,就出问题了。且出问题的总是这2个图,比如tu1【261120】、tu2【261120】是有问题的,而tu3【261120】一直没有问题,我就把tu3【261120】的名字改为tu1【261120】,此时显示ok,而把tu2的名字改为tu3,则也显示乱码,按说,这样就只定位在tu1【261120】、tu2【261120】里面的数据有问题,但是,不能解释的是,为何JILNK调试正常,SD烧录后不断电的时候正常?

而且另外发现调用延时函数时,
void msdelay(int time)
{
            volatile unsigned int i,j;
            for(i = 0; i < 2000; i++)
                  for(j=0; j<time; j++);
}   
SD烧录后msdelay(50);    =15ms       ;而rvds调试, 才2ms! 但是 用定时器产生的时间却是一致的。

lixuefeng 发表于 2015-4-10 19:31:07

顶啊 .。。。。。。
页: [1]
查看完整版本: 求助OK6410裸机显示,调试正常,但是用sd烧录,会有2个图显示乱