ARM-ili9325屏调试1--时序】的更多相关文章

2011-06-25 19:20:47 驱动自己写完了,应用函数自己就不写了,找了一点代码参考,移植并修改了一下,配合之前的定义的接口文档,我贴出部分代码.目录: 一,开发环境... 1 二,底层函数... 1 三,应用接口函数... 3 四,部分代码参考... 5 一,开发环境 硬件:开发板TQ2440,LCM为2.4寸QVGA TFT屏,IC=ili9325. 软件:IAR ARM 5.5. 二,底层函数 1,LCD_Init(LCD初始化) 函数原型: Void LCD_Init(void…
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. 我一开始用的如下 #…
源: MIPI接口LCD屏调试心得…
2011-06-24 21:57:09 一,读id--完成 二,自己写了驱动--完成 三,调试LCD屏驱动--完成 一         读id,不过过程还有点曲折. 因为之前写命令写数据的时序是根据ili9325规格书P108来的,那么读也应该是这个方法.但是就是没法读出正确结果.为什么呢?于是我突然想到iar我曾经仅快速运行几行与程序整体运行起来,在这2种情况下,用示波器测他们引脚的频率是不同的.所以我把单次读id改成了循环读id.没想到真的ok了.循环了几十次后读出了id=0x9325.于是…
学习ARM汇编时,少不了对ARM汇编指令的调试.作为支持多语言的调试器,gdb自然是较好的选择.调试器工作时,一般通过修改代码段的内容构造trap软中断指令,实现程序的暂停和程序执行状态的监控.为了在x86平台上执行ARM指令,可以使用qemu模拟器执行ARM汇编指令. 一.准备ARM汇编程序 首先,我们构造一段简单的ARM汇编程序作为测试代码main.s. .globl _start _start: mov R0,#0 swi 0x00900001 以上汇编指令完成了0号系统调用exit的调用…
之前没有接触过驱动调试.这里上手就要解决一个因为某个自定义驱动导致的系统登陆后蓝屏问题,记录下来.   问题: 从客户那边弄来的一个虚拟机,已知是加了我们的驱动之后才会导致蓝屏. 解决过程:   使用windbg直接双机调试 开机登陆后会直接蓝屏,错误码是0x00000050.想要进入安全模式去移除驱动也进不去,会卡在某个驱动加载过程中.首要的就是进入系统去排查是哪个驱动有问题.还好是虚拟机,有如下方式可更改操作系统中内容.,改完之后要在虚拟机射中的使用工具中断开相应映射. 注意:有些与具体设备…
做嵌入式Linux开发也不用再羡慕windows程序员VS集成开发环境的强大,我们同样能够搭建出给力的IDE. 今天在这里记录一下我使用Eclipse-cdt,gdb,gdbserver搭建远程arm调试的过程. 首先介绍下,嵌入式Linux的GDB调试环境由Host和Target两部分组成,Host端可以理解为本机,Target端为嵌入式设备.Host端使用arm-linux-gdb,Target 端使用gdbserver.调试时,应用程序在嵌入式目标系统上通过运行,而gdb调试在Host端.…
上一篇中,介绍了如何编译.运行arm-linux-gdb 和 gdbserver,这一篇中介绍怎样结合Eclipse-cdt进行图形化编译调试 首先当然是使用CDT创建项目并添加源文件. 在左侧 Project Explorer 的项目名上点右键->Properties 进入项目属性设置 选择 C/C++ Build->Settings 在Tool Settings中,将Toolchain修改为arm版本 GCC C Compiler :arm-linux-gcc GCC C Linker :…
一般在写Windows内核程序的时候,经常会出现蓝屏的问题,这个时候一般是采用记录下dump文件然后用windbg查看得方式,具体的过程就不说了,网上一大堆的内容.现在我主要记录自己当初按照网上的方案出现windbg的open crashdump项呈现灰色的情况.就像下面这样 这个问题曾今百思不得其解,曾今一度以为是自己的win10不能很好的兼容这个,后来发现自己想多了 ( ^_^ ),现在公布这个问题的解决方案.主要是确保下面的工作完成 1)首先需要在虚拟机上确保我们打开了抓取dump文件的功…
由于arm芯片一般都包含的由jtag调试这项功能,cpu向外部发出信号时,一般都要同jtag发送出去,它就像一个路口的交警一样,能够控制车辆的运行,当然在arm中指的是cpu发出的数据和地址,我们在调试的时候,拿到板子将板子的jtag接口接到jtag调试器,然后将jtag调试器与pc相连,那么调试系统就搭建完成,之后在电脑上一般的IDE软件,例如keil,ads这样的软件可以通过发送命令给jtag,然后jtag就可以中断cpu的数据发送和地址,那么此时就可以访问cpu中的各个寄存器,进行调试.j…
CPU:RK3288 系统:Android 5.1 1.修改kernel/arch/arm/configs/rockchip_defconfig,打开mipi屏开关 # CONFIG_LCD_GENERAL is not set CONFIG_LCD_MIPI=y CONFIG_RK_TRSM=y # CONFIG_RK32_LVDS is not set # CONFIG_RK32_DP is not set # CONFIG_RK_VGA is not set CONFIG_MIPI_DSI…
1.对全局变量的初始化. 2.还没发现的事例. /*************************************************/ 先上连接文件sct LR_ROM1 0x30000000 0x00010000 { ; load region size_region ER_ROM1 0x30000000 0x00010000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections)…
1. 点灯 2. 串口打印 3. JTAG调试器3.1 命令行调试 3.2 源码级别的调试前提a. 程序必须已经重定位好,位于它的链接地址a.1 如果程序的链接地址是SDRAM, 使用openocd初始化SDRAMa.2 使用arm-linux-gdb/arm-elf-gdb下载程序 b. 链接脚本必须把text,rodata,data,bss等分开存放c. 被调试的程序为ELF格式,内含调试信息(即编译时有-g选项)…
这里分析一个ARM板子JTAG调试器经常连接失败,只能偶尔连上目标板问题. 背景 这是原先另一个部门的板子,在部门合并之后,最近要对这个板子的代码体系进行转移,在过问开发进度时,工程师反映这个板子调试很难连接,所以错误不好定位.这个问题前段时间反映过,但是当时比较忙,没有过问.现在看起来这个问题影响问题定位了,所以看起来这个问题需要彻底看一下了.听原先负责这个板子的工程师,这些年也都是这样,这个芯片很难连接,以前如果不行就换板子.这个芯片是LPC2136,我们部门原先并不使用,但是LPC2132…
在实际屏调试过程中,工程师经常需要对屏的寄存器频繁进行参数修改和读取测试,LcdTools针对这个做了很好的支持,可以在线进行指令调试,大大提高调试效率. 打开点屏工程,连接PX01并使模组上电点亮.切到"在线调试"栏,在线调试分两种模式:代码指令和表格指令. 1)  代码指令 在代码指令编辑栏写入需要调试指令,如一些读写指令等:如果是MIPI屏调试,请选择是否在LP模式发送,默认是HS模式,其他接口屏则不用关心.勾选"代码指令",点击"编译"按…
一  实验内容简要描写叙述 1.实验目的 学会驱动程序的编写方法,配置S3C2410的LCD驱动,以及在LCD屏上显示包含bmp和jpeg两种格式的图片 2.实验内容  (1)分析S3c2410实验箱LCD以及LCD控制器的硬件原理,据此找出对应的硬件设置參数,參考xcale实验箱关于lcd的设置,完毕s3c2410实验箱LCD的设置 (2)在LCD上显示一张BMP图片或JPEG图片 3.实验条件(软硬件环境) PC机.S3C2410开发板.PXA255开发板 二  实验原理 1.  S3C24…
linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环境的建立 gdb基础 基本命令 gdb之gui gdb技巧 gdb宏 汇编基础--X86篇 用户手册 AT&…
ARM Cortex-M3相比于ARM其他系列微控制器,具有以下优势或特点: 1. 三级流水线+分支预测 ARM Cortex-M3与ARM7内核一样,采用适合于微控制器应用的三级流水线,但增加了分支预测功能. 现代处理器大多采用指令预取和流水线技术,以提高处理器的指令执行速度.流水线处理器在正常执行指令时,如果碰到分支(跳转)指令,由于指令执行的顺序可能会发生变化,指令预取队列和流水线中的部分指令就可能作废,而需要从新的地址重新取指.执行,这样就会使流水线“断流”,处理器性能因此而受到影响.特…
所谓调lcd timing就是去调lcd时序,一般是6个部分:HFPD(在一行扫描以前需要多少个像素时钟),HBPD(一行扫描结束到下一行扫描开始需要多少个像素时钟),VFPD(一帧开始之前需要多少个行时钟),VBFD(一帧结束到下一帧开始需要多少个行时钟).VSPW(指的是VSYNC处于高电平时的线的数目),HSPW(指的是HSYNC处于高电平时的VCLK的数目),这个可以根据mcu的lcd controller 节时序图上可以得到.如果这个时序不对会导致lcd controller去读写的时…
十五.串口发送图片数据到SRAM在TFT屏上显示 之前分享过rom存储图片数据在TFT屏上显示,该方法只能显示小点的图片,如果想显示TFT屏幕大小的图片上述方法rom内存大小不够.小梅哥给了个方案,利用串口将图片数据传给SRAM,传完后在从SRAM中读取图片数据进行显示.有了梅哥的提示后就开始动工了,首先是设计SRAM的控制程序. SRAM(静态随机访问存储器)是一种半导体存储器.“静态”一词表明只要有电源供电,数据就会保存,而不会“动态”改变. 本实验平台是基于小梅哥出品的芯航线FPGA开发平…
http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环…
LCD12864引脚如下: FPGA开发板得提供,3.3v电压,5v电压,普通io都是3.3v电压 DB:数据脚,得用双向io,因为程序里面需要读取液晶的应答(普通io3.3v可以) E:?输出引脚即可,普通io3.3v可以 RW:?输出引脚即可,普通io3.3v可以 RS:?输出引脚即可,普通io3.3v可以 PSB:串行还是并行,接+5v为并行,0v为串行,这个不能悬空,而且一定要接+5v(接3.3v行不行,没有测试,不敢乱说) V0:这个是控制屏幕显示对比度的,接5v为最高对比度,0v为最…
RealView MDK可以对各种嵌入式处理器的软件开发工具.这么高端,着实很吸引我,ADS12还不知道怎么搞,居然还有这么高端的,但是还是得了解一下唉.洗这个自动配 置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20% .   代码密度:比ADS 1.2编译的代码尺寸小10%; 代码性能:比ADS 1.2编译的代码性能高20%. 这样说来的话,随着realview mdk…
我们在 Linux 主机中搭建我们的开发环境,使用 Ubuntu 10.04 LTS 为例. 搭建应用开发环境   安装 JRE Eclipse 依赖于Java 环境,所以必须先安装 JRE 或 JDK. 安装 Eclipse 和 CDT 去Eclipse官网下载最新的Eclipse IDE. 我们一般选择 C/C++ 版本(Eclipse IDE for C/C++ Developers),这个版本自带了CDT,不用另行安装CDT插件.下载时选择 Linux 的版本,如:eclipse-cpp…
ARM linux解析之压缩内核zImage的启动过程 semilog@163.com 首先,我们要知道在zImage的生成过程中,是把arch/arm/boot/compressed/head.s 和解压代码misc.c,decompress.c加在压缩内核的最前面最终生成zImage的,那么它的启动过程就是从这个head.s开始的,并且如果代码从RAM运行的话,是与位置无关的,可以加载到内存的任何地方. 下面以arch/arm/boot/compressed/head.s为主线进行启动过程解…
GDB是在linux下的调试功能 命令: 启动文件: 普通调试 gdb 可执行文件 分屏调试 gdb -tui 可执行文件 ->调试: 运行 r 设置断点 b 删除断点 delete 断点编号 删除所有断点 delete 清除行x上的所有断点 clear x 显示断点信息 i b 显示代码 l 逐步运行 s 逐条运行 n x条运行 n x 执行完当前函数 finish 退出当前循环体 until 跳到程序第x行 jump x 继续运行程序至下个断点 continue 显示当前堆栈 backtra…
1.下载gdb源代码 http://ftp.gnu.org/gnu/gdb/ 2.编译 解压#tar zxvf gdb-7.9.1.tar.gz,cd到解压的目录中. 2.1编译arm-linux-gdb arm-linux-gdb运行在PC(服务器)上的程序,用于调试的部分 配置参数,--target:目标平台,--prefix:gdb安装的路径:编译,安装 #./configure --target=arm-linux --prefix=/usr/local/arm-gdb #make -j…
主流的调试工具1.  J-LinkJ-Link是最著名的ARM开发调试工具,J-Link由SEGGER公司生产.提供对市面上几乎所有ARM内核芯片的支持.目前最新版本的J-Link产品为V8,支持JTAG和SWD模式.并且对主要的IDE环境如KEIL.IAR都有良好的支持.优点很多,因此也是首选的调试工具.2.  ULINK,通用的ARM JTAG工具ULINKULINK是ARM官方的调试工具,KEIL出品.ULINK也可以支持大多数的ARM芯片,对KEIL的支持非常好,是KEIL的默认调试工具…
ARM的ARMulator: ARMulator 是一个在 ARM 公司推出的集成开发环境 ADS (ARM Developer Suite)中提供的指令集模拟器.它与运行在通用计算机(通常是x86体系结构)上的调试器相连接,模拟 ARM 微处理器体系结构和指令集,提供了开发和调试 ARM 程序的软件仿真环境.ARMulator 不仅可以仿真 ARM 处理器的体系结构和指令集,还可以仿真存储器和处理器外围设备,例如中断控制器和定时器等,这样就模拟了一个进行嵌入式开发的最小子系统,另外使用者还可以…
# VS2015配置Linux开发远程调试 ### 简介-----------------------------vs2015支持跨平台开发 ### 软件环境------------------------------ VS2015 update3- Visual C++ for Linux Development(VC_Linux.exe) ### 安装步骤------------------------------ 安装VS2015 update3版本(直接按照后就是VS2015,不是补丁)…