[技术求助] L138板子在初始化DMA后,调用usb start屏幕全白了 这是怎么回事?

[复制链接]
 楼主| liqiu7927 发表于 2013-11-29 15:30 | 显示全部楼层 |阅读模式
#define LCDDMA_FB0_BASE  0xc7a00fe0

static void DrawReg_init()

{   

*((volatile uint *)  0x01E13028) = 0x010000C0; ///TURN_OFF RASTER_CTRL  

    *((volatile uint *)  LCDDMA_FB0_BASE) = 0x00004000;   

*((volatile uint *)  0x01E13004) = 0x00000601; ///LCD_CTRL, 1.4 modified   

*((volatile uint *)  0x01E1302C) = (0x19 << 24)        | (0x89 << 16)         | (0x31 << 10)         | (0x27 << 4);

*((volatile uint *)  0x01E13030) = (0x1F << 24)         | (0x20 <<16)         | (0x02 <<10)         | (0x1DF);

    *((volatile uint *)  0x01E13034) = 0x02700000 ; ///RASTER_TIMING_2   

*((volatile uint *)  0x01E13038) = 0x00000000; ///RASTER_SUBPANEL   

*((volatile uint *)  0x01E13040) = 0x00000640; ///LCDDMA_CTRL   

*((volatile uint *)  0x01E13044) = LCDDMA_FB0_BASE; ///LCDDMA_FB0_BASE   

*((volatile uint *)  0x01E13048) = LCDDMA_FB0_BASE + SCREEN_WIDTH_PIC*SCREEN_HEIGHT_PIC*2 + 30; ///LCDDMA_FB0_CEILING

}

然后在串口拦截后运行usb start屏幕就全白了,请问这是怎么回事,是冲突了吗? 谢谢
airwill 发表于 2013-12-1 16:15 | 显示全部楼层
为什么不是借助你的开发工具检查呢?
zeluo 发表于 2013-12-1 19:24 | 显示全部楼层
通过编译工具   查一查   看看到底有什么问题   应该是可以发现问题的  楼主   
 楼主| liqiu7927 发表于 2013-12-2 08:12 | 显示全部楼层
我初次接触这块,不知道该怎么检查
airwill 发表于 2013-12-2 08:59 | 显示全部楼层
无外乎检查执行现场, 寄存器, 外设寄存器, 内存等. 寻找异常情况, 再分析验证异常的原因.
 楼主| liqiu7927 发表于 2013-12-2 09:11 | 显示全部楼层
我感觉是usb start的操作和我的DMA地址冲突了   但我改了很多DMA地址还是有这个现象    将LCDDMA_FB0_BASE改成一个数组的首地址后就没有进入我想写的字符界面了
hkcj 发表于 2013-12-2 17:34 | 显示全部楼层
这一块   不是很懂   楼主   帮你顶一个   看看别人的一间   没有玩过这一块
 楼主| liqiu7927 发表于 2013-12-4 12:47 | 显示全部楼层
跟踪代码  跟到了usb_init函数里面的memset(&usb_dev[i], 0, sizeof(struct usb_device));
如果注释掉这句话就可以正常显示frame buffer的字符串   否则显示错误
airwill 发表于 2013-12-4 18:29 | 显示全部楼层
既然找到这里了, 可以说问题的门口已经找到了
 楼主| liqiu7927 发表于 2013-12-19 09:39 | 显示全部楼层
找到门口了,但不知道如何解决呀  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

19

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

3

主题

19

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部