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发出的数据和地址,我们在调 ...
随机推荐
- RTX任务管理
默认情况下用户创建的任务栈大小是由参数Task stack size决定的. 如果觉得每个任务都分配同样大小的栈空间不方便的话,可以采用自定义任务栈的方式创建任务.采用自定义方式更灵活 ...
- 谢大神给的C++和C# DES加解密代码
// CPPdesTest.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h"//#include <windows.h>//#inc ...
- 将Windows 8.1 系统窗口背景设置成淡绿色?
1.右键点击开始→运行. 2.在运行中输入: regedit 按回车键之后,打开注册表编辑器. 3.依次定位到:HKEY_CURRENT_USER\Control Panel\Colors. 4.然后 ...
- spring-boot 集成 log4j 记录日志
1.pom文件中移除和添加依赖 <!-- 移除boot—starter 的log4j --> <dependency> <groupId>org.springfra ...
- GitLab使用公钥SSH key登录
SSH key提供了一种与GitLab通信的方式,能够不输密码就进行版本控制 第一步,检查SSH key是否存在 如果存在则把SSH Key放到GitLab上,如果不存在则生成新的SSH Key,再放 ...
- 如何在Ubuntu上安装腾讯QQ
首先QQ国际版下载连接:http://pan.baidu.com/s/1sj7i6BF 安装步骤: 一:安装依赖库 在终端输入:sudo apt-get install libgtk2.0-0:i3 ...
- 图->连通性->关节点和重连通分量
文字描述 相关定义:假若在删去顶点v以及和v相关联的各边之后,将图的一个连通分量分割成两个或两个以上的连通分量,则称顶点v为该图的一个关节点.一个没有关节点的连通图称为重连通图. 在重连通图上,任意一 ...
- pip升级包错误问题解决
命令框内输入 sudo pip install six --upgrade --ignore-installed six --红色字体表示想要忽略的包名称--
- 数据格式XML、JSON详解
一. XML数据格式 1.1 XML的定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类 ...
- CF280D k-Maximum Subsequence Sum
题目链接:洛谷 题目大意:[题意翻译已经够直白了] 首先,相信大家一开始都是想去直接dp,但是发现复杂度不对. 于是我们考虑一个黑科技:模拟费用流(相信大部分人看见数据范围就绝对不会想到费用流) 我们 ...