这次的调试过程花的时间相对来说比较久,3-4天。
总结一下导致的主要原因就是mtk的资料不齐全,当然另外一个原因也是自己的知识体系不完善。
为什么说是mtk的资料不齐全导致?做mtk的人都知道,mtk做得比较傻瓜化,这样就有利有弊,一方面熟悉的人开开宏就好了,这部分人觉得很简单,也就是我理解中的配置工程师,而非驱动工程师。另外一方面,不熟悉的人,没有完整的资料,有很多语句无法从代码中看出是什么意思,如果想利用mtk傻瓜化的东西,例如:固定死的gpio功能脚。那就必须熟悉他的玩法,我就是在这里被卡住了。对这一部分人来说,有的时候抛弃掉mtk的部分,可能更快 。
具体说到spi lcd的问题,其实mtk对spi lcd都是固定功能脚,然后打开固定的相关宏就ok,这里有配套的资料就很快;其实不熟悉的人,随便找几个通用的gpio口,然后模拟spi信号,也是一样了,这里的技术含量就稍微要高点。
我这次调试遇到的问题:
1、配置有误。这里首先最好找到文档,然后仔细的看代码,静下心里,也还是能看明白的。
2、能刷颜色,但是不能显示。
我整个流程都是用的LCD_CMD_DMA_MODE的模式,但是的blockwrite这里,不是用的这种模式,就刷不出东西来。
介绍一下cmd dma模式下的几条语句:
ENABLE_LCD_TRANSFER_COMPLETE_INT; /*数据传输完成,产生中断*/
ENABLE_LCD_ROI_CTRL_CMD_FIRST;
SET_LCD_ROI_CTRL_NUMBER_OF_CMD(11);/*发送的控制命令总数,这里很关键*/
START_LCD_TRANSFER;/*开始传输*/
3、另外还有个问题,因为我们的项目是240X204的不规则屏,一直担心项目没有建好。