ARM-WinCE5.0-寄存器读写工具

   “谁动了我的GPIO”,我想很多做嵌入式开发的同行可能也碰到过类似的问题:硬件没有按照设计的程序工作,好像是相关的寄存器在别处被改了。遇到这种情况,一般有两种处理方法,一是通过JTAG仿真器进行调试,单步跟踪,确认相关的寄存器就是我们要设的值。而这在调试WinCE驱动或者应用程序时是不方便实现的,一般在WinCE中通过添加打印信息来确认。前面曾讲过基于KITL调试WinCE的方法,这种方法固然强大,但也只是一种手段。个人以为,在WinCE已经跑通的情况下,调试驱动或应用还是少用KITL的好,不到万不得已,不动用它!大BUG靠想,小BUG靠调,我一直这么认为。过于依赖某种调试手段而不去分析问题的本身,反而影响调试。
     “谁动了我的GPIO”是一个问题。这两天在调试VI程序时又碰到另外的问题。VI中采用了多片CPLD,扩展了一些板上寄存器。按理来说,这一部分应该是比较简单的,但在调试时却出现了很多状况,主要是软件设计和硬件设计版本的不一致,以致于需要经常修改软件来确认硬件逻辑正确与否,很费时间。
     为了解决这两个问题,写了个小软件,MEMMgr.exe。功能很明确,在WinCE中用来读写寄存器,包括CPU内部的控制寄存器和总线上外扩的寄存器。这样,我们就可以监视GPIO了,再也不怕谁来动我的GPIO。:-D控制板上寄存器也更方便。程序界面如下:

          
    其中,PhyAddr是寄存器的物理地址,如S3C2410的RTC寄存器0x57000070。Length是数据宽度,1对应的是一个BYTE,2对应的是一个WORD,4对应的是一个DWORD。Value对应的是寄存器的值。
    该程序在S3C2410和PXA270的WinCE5.0上运行都没问题。由于WinCE6.0的内存管理发生了很大变化,所以该程序不能在CE6.0上正常工作。等需要时再做支持吧,车到山前再开路。
    MEMMgr.exe的下载地址:http://files.cnblogs.com/we-hjb/MEMMgr.rar

时间: 2024-09-25 14:54:28

ARM-WinCE5.0-寄存器读写工具的相关文章

vs2008装了wince5.0,但设备工具里没有wince5.0,怎么回事?

问题描述 vs2008装了wince5.0,但设备工具里没有wince5.0,怎么回事? 解决方案 解决方案二:如果你的设备管理器中如下:...+Smartphone2003windowsCE+WindowMobile5.0PocketPCSDK....那么就没错.就是这样子的.如果你是装的是某种wince5.0的模拟器,那么请把模拟器贴上来.以及具体的现象贴出来.解决方案三:应该有个wince5.0什么吧,再者,我调试报错说连不到解决方案四:调试用mobile模拟器就行了.C#的代码可以直接在

Linux驱动开发常用调试工具---之内存读写工具devmem和devkmem

问题 这段时间实验室要完成一个内存故障注入工具和寄存器故障注入工具,在编写驱动的过程中,调试起来很麻烦(一般都是printk打印出来的,调试起来太不方便),于是想 "可不可以在调试设备驱动的时候,利用一个小工具来读写内存某块区域的值以及CPU中寄存器的值? 这点前辈的大神已经为我们找到了,参见<LDD3>的<第十五章 内存映射和DMA> 目前已经有这样的工具了devmem和devkmem,就是通过mmap映射/dev/mem的. 这个工具的源码简单,google一下到处都

wince5 0-关于mini2440开发板wince5.0系统是不是要自己定制

问题描述 关于mini2440开发板wince5.0系统是不是要自己定制 我毕业设计题目是<基于ARM的脉搏波显示系统设计>,然后我装的是wince5.0开发平台.我是想问问需不需要重新定制wince5.0系统烧写到板子上?还是直接用光盘里提供的wince5.0系统?PB是用来定制CE内核的吧,定制CE内核是在原有的wince系统上,还是就是重新做一个wince系统啊?

基于正则的INI读写工具类,支持加密解密

原文:基于正则的INI读写工具类,支持加密解密 看到这个标题,有人会问,现在都用xml做配置文件了,谁还用INI文件啊!下面来简单对比一下xml和ini: 1.XML功能强大表达能力强,同时扩展性好. 2.它的主要优势是异构平台的整合.通讯. 3.缺点主要是使用复杂,运行库占用的资源较多. 4.如果多个程序进行数据交换或是跨平台通讯则使用功能强大的XML: 5.INI虽表达能力不强,但是简单实用,接口方便.如果是用于应用程序的配置INI文件就够了. 至于哪个更好,应该用哪个,可以根据自己爱好和需

ARM处理器的寄存器组织

   一,ARM状态下的寄存器组织     ARM处理器有37个寄存器,包括31个通用寄存器(含PC)和6个状态寄存器.如图:          1,状态寄存器                   状态寄存器公有6个,其中除了公用的CPSR之外,还有分组的SPSR,程序状态寄存器的格式为:           其中,条件标志码为N,Z,C,V,Q; 分别为符号标志位,全0标志位,进借位标志,溢出标志,增强的DSP运算指令是否标志.      控制位为I,F,T,M4-M0; 其中I,F为控制中断

WinCE5.0中文模拟器SDK(VS2005)的配置

     WinCE5.0中文模拟器SDK的安装过程不细说了,一路默认即可,下面主要介绍如何配置,使其能在VS2005中正常使用.      安装完成后,打开VS2005,点击菜单"工具"--"选项"--"设备工具"--"设备",选择"Windows CE 5.0 ARMV4I Emulator",点击"属性"按钮,如下图所示.      在弹出的对话框中,点击"仿真器选项&q

WinCE5.0中应用程序如何直接写屏

以前曾利用GAPI实现应用程序直接操作显示驱动的FrameBuffer,以提高屏幕绘图和视频播放的效率.GAPI依赖于显示驱动,必须在显示驱动中添加相应的接口才能正常使用.如果平台是我们自己定制的,在WinCE5.0中,我们也可以通过另外一种方法来操作FrameBuffer. 以DeviceEmulator为例,我们已经知道FrameBuffer的物理地址是0x30100000,大小为0x100000.那么在应用程序中可以通过如下代码,直接获取操作FrameBuffer的机会. 代码 1    

QA Center Edition 5.0压力测试工具的功能与性能

QA Center Edition 5.0压力测试工具 工具的功能与性能: QACenter是完整的跨企业的自动测试产品,专为提高软件质量而设计. QACenter可以在整个开发生命周期.跨越多种平台.自动执行测试任务. 1)能够模拟成百的用户执行关键业务 2)能够直接向服务器发送请求 3)能够模仿用户的操作 4)能够测试系统的响应时间,包括: Script:测试执行时的脚本文件名字 PId:检测点号码 Checkpoint description:检测点描述 #Trans:检测点的总交易数 M

wince 崩溃 调试-wince5.0长时间老化程序崩溃,能否获取崩溃信息

问题描述 wince5.0长时间老化程序崩溃,能否获取崩溃信息 小弟主要是做android,最近接手wince5.0上面做的一个用于老化板子的程序,包含了产品的各个功能,比如指纹.rfid.串口.gprs等,遇到的问题是长时间跑,会不定期的崩溃,少则1个多小时,多则一两天.用codesnitch监测内存分配和释放的情况,已经排除了内存泄露的可能.由于是多线程,单步debug也很难重现问题,不知有没有其他调试这种崩溃的方法,先谢过各位了!