ARM-ili9325屏调试1--时序
2011-06-21 22:04:54
LCD连接好了,读id,不成功。说明配置引脚或读写时序不对。
原来是软件引脚配置出错。
应该用如下。
#define LCD_CS {3<<30,'E',PIO_OUTPUT_0,
PIO_PULLUP,1<<30,1<<15}
rGPACON&=~mask;
rGPACON|=PullUpmask;
mask是3<<30,PullUpmask是1<<30.
我一开始用的如下
#define LCD_CS {1<<30,'E',PIO_OUTPUT_0,
PIO_PULLUP,1<<30,1<<15}
rGPACON&=~mask;
rGPACON|=PullUpmask;
mask是1<<30,PullUpmask是1<<30.
现在想想一字之差,就差那么远。应该控制一个硬件是2个bit组合起来的。我只修改1bit那么是不对的。
但是又说明了一个问题,我半年前做的pio.c文件中的函数有问题,不正规。使用不方便。以后我要重新修改。
又过了45分钟,当我把读写时序改成别人的一样的,但是还是不行。没折了。这时候突然想到了reset脚我没用。是不是很重要呢,看了别人的程序,一开始的时候要reset1次哦。估计这个脚要用的。我定义下。
用了reset还是没起作用。我开始怀疑线是否太长。但是这个问题貌似暂时无法解决。另外,很早之前我方在面包板上也ok的,不过那时候我定的速度很慢的。再怀疑,我这个屏,之前买的,也没读过id,不知道是真屏还是假货。我最好在之前的avr上读一下id,确定是可以读的再来。
2010-6-19
我在while,让控制引脚高低这样变化。用示波器看每个引脚。其中cs的高电平很尖,但是也是保持到了高电平,这样配置引脚没问题了,连线也没问题了。
接着就要研究读写时序了。自己根据程序手动画了。在excel也画了。看上去没错啊。改了很多种,没用。用示波器看起来很累。我只有2通道。不过我终于找到了看的方法。比如先看cs和rs两根,再看rs和wr2根。结合ili9325的p108页看时序是否正确。变单步调试看时序。发现wr的低电平应该要保持在500ns之内,但是我怎么就1us呢,于是改主频时钟,改到405M,程序就跑飞,于是改到305M,并且把define电平的函数改简单了。终于在500ns之内了。但是还是不能正确初始化,刷屏。今天来不及了,明天再调试。
2010-6-20
1,cs的线更改,看效果。 0.5h 改了,但没用
2,看io口传的数据是否正确。1)DB15与NWR看效果。2)看DB15与DB14,看是否同步,是否正确。单步停止,一个个看
,用万用表看即可。 0.5h
1)效果证明数据正确。但是wr的低电平宽度还是大于500ns,所以我又改了时钟。
2)用万用表看其它的效果,结果正确。
但是屏仍然没反应。
3,avr与arm波形对比。修改。 1h
wr改完了。我的程序是循环的刷屏,当全速运行的时候,突然发现原来时序快了很多。于是又加了很多nop,又把主频时钟改为200MHZ,现在时序基本和avr的相同了。就是感觉有很多毛刺。于是看效果。还是不行。
突然想到wr与数据线还没与avr的wr与数据线比较。明天再比较。
4,可能是电流问题,焊接后再看效果。 0.5h 还是不行的话,只能暂时放弃。
2010-6-21
1,今天有预感,还是先焊接吧!结果焊接完后,上电,刷屏了,效果很好。为了时序总计调试了4小时。今天通过把杜
邦线改为焊接终于ok了。说明硬件连线对,写入时序对。初始化配置我是移植的,先不说。
2,我把时序改成我想象中的代码,结果也通过了。原来之前是硬件问题。
3,读id,还是没读出。今天没开示波器,明天在示波器中看看。待解决
4,把它的初始化程序改成我的,结果没初始化成功。待研究。
经过4个晚上的努力,终于关于屏第一个milestone完成了。证明LCD硬件是好的,并且在2440上能工作,并且完成了底层时序的编写。下一步就是LCD驱动代码的编写。
ARM-ili9325屏调试1--时序的更多相关文章
- ARM LCD屏调试3--屏的应用编程
2011-06-25 19:20:47 驱动自己写完了,应用函数自己就不写了,找了一点代码参考,移植并修改了一下,配合之前的定义的接口文档,我贴出部分代码.目录: 一,开发环境... 1 二,底层函数 ...
- MIPI接口LCD屏调试心得(转)
源: MIPI接口LCD屏调试心得
- ARMLCD屏调试2--ili9325驱动编写
2011-06-24 21:57:09 一,读id--完成 二,自己写了驱动--完成 三,调试LCD屏驱动--完成 一 读id,不过过程还有点曲折. 因为之前写命令写数据的时序是根据i ...
- ARM汇编指令调试方法
学习ARM汇编时,少不了对ARM汇编指令的调试.作为支持多语言的调试器,gdb自然是较好的选择.调试器工作时,一般通过修改代码段的内容构造trap软中断指令,实现程序的暂停和程序执行状态的监控.为了在 ...
- win7下自写驱动导致开机蓝屏调试过程
之前没有接触过驱动调试.这里上手就要解决一个因为某个自定义驱动导致的系统登陆后蓝屏问题,记录下来. 问题: 从客户那边弄来的一个虚拟机,已知是加了我们的驱动之后才会导致蓝屏. 解决过程: 使用 ...
- Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 上
做嵌入式Linux开发也不用再羡慕windows程序员VS集成开发环境的强大,我们同样能够搭建出给力的IDE. 今天在这里记录一下我使用Eclipse-cdt,gdb,gdbserver搭建远程arm ...
- Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 下
上一篇中,介绍了如何编译.运行arm-linux-gdb 和 gdbserver,这一篇中介绍怎样结合Eclipse-cdt进行图形化编译调试 首先当然是使用CDT创建项目并添加源文件. 在左侧 Pr ...
- windbg蓝屏调试
一般在写Windows内核程序的时候,经常会出现蓝屏的问题,这个时候一般是采用记录下dump文件然后用windbg查看得方式,具体的过程就不说了,网上一大堆的内容.现在我主要记录自己当初按照网上的方案 ...
- 对arm裸板调试的理解
由于arm芯片一般都包含的由jtag调试这项功能,cpu向外部发出信号时,一般都要同jtag发送出去,它就像一个路口的交警一样,能够控制车辆的运行,当然在arm中指的是cpu发出的数据和地址,我们在调 ...
随机推荐
- 目前我对ReactNative的了解
1.什么是React? 一个js组件库,不同于angular的是一个完整的framework,React需要像jQuery一样写事件监听逻辑,最大特点是Virtual DOM. 官网:https:// ...
- 关于pythoh面向过程开发人员三步转面向对象的补充,再加一步,四步走战略。转面向对象也可以有固定公式。
前言: oop非常非常非常重要.搞不懂oop,就玩不了python,就算能写也一定是写代码时候喜欢靠猜瞎猫碰死老鼠写得心很虚.为什么这么说呢,我也是从面向过程编程到死走过来的,一路def到死,一看到有 ...
- Windows10 + IntelliJ IDEA 2017.3.2 + wamp2e + Yii + PHPunit 搭建测试环境
一.环境 系统: windows10 WampServer: wampserver2.2e-php5.3.13-httpd2.2.22-mysql5.5.24-32b.exe IDE: Intel ...
- C#俄罗斯方块小游戏程序设计与简单实现
C#俄罗斯方块小游戏程序设计与简单实现 相信90后或者80后都玩过这款小游戏,一直想干一票,琢磨一下,但又不太懂,于是网上搜集修改就有了以下效果!bug较多,多多包涵! 1.效果展示 2.实现方法 参 ...
- ux.form.field.Month 只能选年、月的时间扩展
效果如图,亲测6.2.1版本可用,用法同时间选择控件 //月弹窗扩展 //只选月 Ext.define('ux.picker.Month', { extend: 'Ext.picker.Month', ...
- javascript--面试题
(1)javaScript怎么清空数组? 如 var arrayList = ['a','b','c','d','e','f']; 怎么清空 arrayList 方法1:直接改变arrayList所指 ...
- Water Buying
Water Buying time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- background-color:transparent
background-color没有none值 在工作中发现, 这样是没反应的, 要写这个样式才能去掉背景颜色() background-color属性详细链接: http://www.w3sch ...
- HBASE的Java与Javaweb(采用MVC模式)实现增删改查附带源码
项目文件截图 Java运行截图 package domain; import java.io.IOException; import java.util.ArrayList; import java. ...
- java JDK环境的配置
1. 在Administrator用户变量中新建: 变量名:JAVA_HOME 变量值:C:\Program Files (x86)\Java\jdk1.7.0_01 2. 在Administra ...