嵌入式wince开发
文章平均质量分 61
记录本人学习嵌入式wince开发的全过程,从基本的eboot开始学起,一直到驱动开发、系统移植、系统配置,再到应用开发等等。
JXES智能生态系统
And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.
还有最重要的是, 你要有勇气去听从你直觉和心灵的指示——它们在某种程度上知道你想要成为什么样子,所有其他的事情都是次要的。
Stay Hungry. Stay Foolish.
求知若饥,虚心若愚。
展开
-
WinCE6+Qt4.86+VS2005的移植
最近有一些比较久远的机器,需要做升级处理,由于原来很多功能都没有,现在新产品基本都是基于QT开发的,所以就想把现有的QT程序移植到WINCE6上,于是在网络上搜了一下,发现在“远古”时期(现在使用WINCE平台的人不多了)还真有很多人这样做过。下面就将移植过程做一个记录。准备下载QT4.8.6 windows版本的安装包qt-opensource-windows-x86-vs2008-4.8.6.exehttps://download.qt.io/archive/qt/4.8/4.8.6/原创 2021-09-15 16:16:29 · 366 阅读 · 0 评论 -
NMAKE.EXE使用
<br />NMAKE.EXE是Microsoft 程序维护实用工具,它是一个基于说明文件中包含的命令生成项目的工具。<br /><br />命令语法如下:<br />NMAKE [option...] [macros...] [targets...] [@commandfile...]<br />说明:其中,options是NMAKE的选项,macros是在命令行中的宏定义,targets是NMAKE的目标文件列表,commandfile是包含命令行输入的文本文件(或响应文件)原创 2011-03-23 14:32:00 · 1327 阅读 · 0 评论 -
cached地址和uncached地址的区别
cached地址和uncached地址的区别是,对cached地址的访问是委托给CPU进行的,也就是说你的操作到底是提交给真正的外设或内存,还是转到CPU缓存,是由CPU决定的。CPU有一套缓存策略来决定什么时候从缓存中读取数据,什么时候同步缓存。对unchached地址的访问是告诉CPU忽略缓存,访问操作直接反映到外设或内存上。 对于IO设备一定要用uncached地址访问,是因为你的IO输出操原创 2012-06-06 15:10:08 · 7817 阅读 · 0 评论 -
WinCE下,快速编译驱动及BSP
在WinCE下面,创建工程,然后编译是需要花很长时间的。当我们第一编译完工程以后,如果需要改我们的驱动或者BSP,我们是不需要重新编译整个工程的:1. 如果更改了driver,以WinCE6.0为例,我们可以在菜单里面选择“build”->“Open ReleaseDirectory in Build Window”,然后在弹出的命令行窗口中,通过dos命令切换到你要编译的drive...原创 2015-01-06 12:19:25 · 1733 阅读 · 0 评论 -
WINCE下调试驱动的一般方法
<br />WINCE下调试驱动的一般方法<br /><br />1。向串口打印消息----------//只能打印一般的消息,实时性要求高的地方建议不要去打印消息,因为串口打印很慢,即使要打印也尽量少打印或者有选择地打印--比如100次才打印一次<br /> //串口打印也可以大致分析各个线程间有没存在对同一个资源访问的互锁什么的<br /> <br /> <br /> <br />2。写LOGO文件-------写文件应该比串口打印来的快,写LOGO也适合于分析数据量很大的场原创 2011-03-22 10:34:00 · 1236 阅读 · 1 评论 -
Printed Exception strings - what do all those flags mean?
http://realchecko.blogspot.com/2007/06/printed-exception-string.htmlhttp://blogs.msdn.com/hopperx/archive/2005/06/29/433842.aspxPrinted Exception strings - what do all those flags mean?Data Abort: Thread=9352cc9c Proc=90876ea0 'shell32.exe'AKY=00000005 PC=原创 2011-03-22 11:28:00 · 813 阅读 · 0 评论 -
LTK(Logo Test kit)测试
【摘要】本文围绕Windows Mobile 系统下的logo认证测试做了下简单介绍,让读者对有关测试有个感性认识,详细情况,以后有机会另行撰文详细介绍。 【关键词】Windows Mobile、logo测试、LTK、CETK 一、Windows Mobile简介 Windows Mobile是微软主要针对手机市场而推出的一种操作系统,改系统和Nokia Sybia原创 2012-02-14 21:07:43 · 3409 阅读 · 0 评论 -
Application Verifier的使用
<br />1.打开Application Verifier,方法一:在PB菜单Tools->Application Verifier;方法二:打开CETK,连接设备,左键设备,菜单Tools->Application Verifier;<br />2.在Application Verifier窗口,点击"Add"按钮<br />3.选择要测试的程序<br />4.点击"Run"按钮或者直接运行要测试的程序<br />5.尽量使用要测试的程序<br />6.点击"Get Logs"按钮,从目标机子复制l原创 2011-04-08 17:14:00 · 6874 阅读 · 0 评论 -
使用 Windows CE .NET 测试工具包
<br />; ; ; 在平台开发或发布设备的过程中,随时都可以使用测试工具包。CETK 可用于测试系统整体的稳定性,也可用于测试开发中的驱动程序的稳定性。将 CETK 组件添加到平台<br />; ; ; 使用 CETK 之前,需要向平台添加对 CETK 的支持。可以使用以下两种方法:通过从 Platform Builder 目录添加 CETK 组件来向平台添加 CETK 支持,或者在运行 CETK 测试之前将文件复制到平台中。<br />; ; ; CETK 要求目标设备与开发工作站所在的网络之间通过以原创 2011-04-15 13:30:00 · 1134 阅读 · 0 评论 -
Windows API ---打印API
最近在给以个客户做一个POS机上的打印程序,其实现的简单思路大致如下:void ComPrint(){ static int nIndex = 1; HDC dc; // USES_CONVERSION; DEVMODEW lpdevmodew;原创 2011-08-29 12:19:36 · 2376 阅读 · 0 评论 -
Window API 关于控件的消息处理(SendMessage)
Window API 关于控件的消息处理(SendMessage)SendMessage(hwndComboBox, CB_RESETCONTENT, 0, 0 );SendMessage(hwndComboBox, CB_ADDSTRING, 0, (LPARAM)TE原创 2011-09-14 15:15:49 · 2133 阅读 · 0 评论 -
文件相对路径与绝对路径 .
// Topic:文件相对路径与绝对路径// 作者:GARY// 版权:GARY (garylijs@gmail.com)// 平台:// 发布日期:2011年05月18日// 最后修改://技术论坛:blog.csdn.net/WinCE9// 注意事项:商业网站未经作者同意不能转载,并且不能删除文章的任何部分,否则追究责任!//-----------------原创 2011-11-14 15:29:53 · 1235 阅读 · 0 评论 -
线程Thread Sleep(0)的意义重大
我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(原创 2011-12-16 16:54:34 · 3591 阅读 · 1 评论 -
全局函数访问类成员方法
全局函数(或者回调函数)访问类成员函数全局或回调函数访问类成员,这个问题有些老生长弹,但有很多方法都可以用,这里进行小小的总结一下。第一种方法:使用API函数: SendMessage(AfxGetMainWnd()->m_hWnd,DRAWPIC_OWNER,NULL,NULL); SendMessage(AfxGetApp()->GetMainWnd()->m_hWnd,DRA原创 2011-12-27 14:57:39 · 3181 阅读 · 0 评论 -
UTF8, ASCII, UNICODE相互转换
主要用到两个Api:MultiByteToWideCharhttp://msdn.microsoft.com/en-us/library/ms776413.aspxWideCharToMultiBytehttp://msdn.microsoft.com/en-us/library/ms776420.aspxANSI Unicode UTF8/*代码如下*原创 2012-05-02 10:32:53 · 3272 阅读 · 0 评论 -
串口通讯常用代码
在做通讯程序的设计开发时,常常需要通过串口(COM口)来读写数据,具体的代码实现大致如下:1. 打开串口HANDLE h = CreateFile(_T("COM1:"), // File name原创 2011-08-29 12:13:52 · 2214 阅读 · 0 评论 -
ARM开发工具介绍
[原文:http://blog.21ic.com/user1/5406/archives/2008/54045.html]一、编辑编译工具:1、ADS1.2 ADS是ARM公司的集成开发环境软件,它的功能非常强大。他的前身是SDT,SDT是ARM公司几年前的开发环境软件,目前SDT早已经不再升级。ADS包括了四个模块分别是:SIMULATOR;C 编译器;实时调试器;应用函数库。原创 2011-12-01 16:28:05 · 1697 阅读 · 0 评论 -
一段重启WinCE下explorer.exe的代码
C/C++ code// 请在前边加上 tlhelp32.h和toolhelp.libvoid CResAdjustDlg::RestartExplorer(){ // 获取进程快照 HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (INVALID_HAN原创 2011-12-26 11:03:50 · 2618 阅读 · 0 评论 -
添加新驱动模块到BSP里,并且在Catalog Item View里显示的方法整理
为了方便,想把自己写的一个小driver添加到BSP里,需要时直接选择这个item,昨天捣鼓了好一阵在,遇到下面几个问题:1. 在\src\Drivers下新建了我的驱动mydrivers,在VS2005的workspace\solution explorer里显示为灰色(excluded from build)2. 在Catalog Item View里没有Item显示出来 首先原创 2012-02-07 11:33:15 · 1698 阅读 · 0 评论 -
WINCE5.0 6.0下的nand flash驱动整理
这里介绍nandflash驱动,在WinCE中,有专门针对flash存储设备驱动的支持,一般传统采用FAL+FMD的架构。在WinCE最新的版本中,也就是Windows CE6.0 R2中,还支持MDD+PDD的架构。在FAL+FMD架构中,FAL层由微软来实现,我们需要实现FMD层的相关接口函数。在MDD+PDD的架构中,MDD替换了原来架构中的FAL,而PDD相当于原来的FMD,只要实现PDD原创 2012-08-22 16:13:00 · 2207 阅读 · 0 评论 -
WINCE 矩阵键盘 介绍
嵌入式移动设备的应用越来越广,以其体积小、重量轻、便于携带等特点而备受青睐。键盘是一种最为普遍使用的输入工具,但嵌入式移动设备因其体积小的特点决定了它的键盘不大可能采用普通PC机上的标准键盘,因而大多数采用键数相对较少的矩阵键盘。 利用矩阵键盘用户可以很方便的实现对嵌入式移动设备进行相应的操作,是极方便的人机交互设备。随着微软的嵌入式操作系统Windows CE的普及,Windows CE的原创 2013-02-23 17:35:53 · 2162 阅读 · 0 评论 -
WINCE BSB中dirs, sources,sources.cmn文件
1. Dirs文件 关于Dirs文件,就是指定要编译的路径,这个地球人都知道。还是简单介绍一下。按照文档上面介绍有三种定义:DIRS,DIRS_CE和OPTIONAL_DIRS。 DIRS:就是指定要编译的目录。 DIRS_CE:只有目录下的源代码用于WinCE的映像文件时,才编译该目录。 OPTIONAL_DIRS:指定可以选择编译的目录。比如:OPTIONAL_D原创 2011-01-07 22:31:00 · 1577 阅读 · 0 评论 -
关于wince配置文件描述
Platform Builder 提供的配置文件 配置文件包括4种文件类型: 二进制映像生成文件.BIB、 注册表文件.REG、 目录和文件分配表文件.DAT、 数据库文件.DB。通过修改这些配置文件可以裁剪优化Windows CE。用户根据需要可以创建自己的配置文件,PB提供的主要配置文件如表2所列。 表2 配置文件列表原创 2011-11-17 14:26:12 · 1558 阅读 · 1 评论 -
wince系统控制面板功能或设置怎么调用
1.控制面板的结构 控制面板其实也是个动态链接库,区别只在于后缀名为.cpl,以及对外接口为CPlApplet(). 接口的原型为: LONG CALLBACK CPlApplet(HWND hwndCPL,UINT message, LPARAM lParam1, LPARAM lParam2) 在接口函数中我们需要实现特定几个消息的响应,控制面板才能正常运作.为方便观察原创 2012-02-06 12:50:36 · 1611 阅读 · 0 评论 -
在VS2005 /VS2008下调试应用程序的两种途径
刚接触WINCE 平台相关的东西,先从简单的开始了解吧,同时,我了解了的都记录下来给后学者,让你们少些困惑。(如有讲的不对的地方,挥泪欢迎指正)VS调试APP可以通过Activesync和TCP/IP两种方法调试1. TCP/IP调试 1)首先,把网络搭建好,保证终端机PC与宿主机DEVICE在同一个域下,我这里以192.168.10.100,46为例。 2)Tool-->Options-->Device Tool-->Devices在右侧选好platform,点properties按钮进入下一原创 2011-03-25 12:09:00 · 3963 阅读 · 0 评论 -
VS2008 编译时跳过错误 Skipped Build
<br />今天拿别人的一个代码直接BUILD,出现类似下面的这个错误:<br />1>------ Skipped Build: Project: DrawCli ------<br />1> <br />========== Build: 0 succeeded or up-to-date, 0 failed, 1 skipped ==========<br /> <br />看了半天没发现在程序方面有什么问题,后来在网上看了别人的帖子,试着做了下<br />Build -> Configuration原创 2011-04-26 11:40:00 · 3495 阅读 · 0 评论 -
C/C++处理错误
处理错误: 一些在使用C++编程时可能遇到的基本错误类型1、编译错误。这些发生错误发生在代码编译期间。其结果是无法生成目标文件。这些错误通常是语法错误,意味着编译器不能理解某些内容。他们经常是由键入错误这样简单问题引起。编译器发出警告。虽然通常不必在意警告,但是应该将其作原创 2011-09-16 10:43:00 · 2117 阅读 · 0 评论 -
Sizeof 计算指针的问题
关于这个运算符网上讲解很多,不过今天又遇到个问题,一直以为是我程序设计上有问题,看了半天,原来是这个在搞鬼。byte * pbuf = new byte[1024];sizeof(pbuf) = 4// not 1024........delete[] pbuf;原创 2011-09-16 13:51:35 · 2251 阅读 · 0 评论 -
“The Microsoft ActiveSync reported the following error: Unable to load device side components” .
// Topic:文件相对路径与绝对路径// 作者:GARY// 版权:GARY (garylijs@gmail.com)// 平台:// 发布日期:2011年06月09日// 最后修改://技术论坛:blog.csdn.net/WinCE9// 注意事项:商业网站未经作者同意不能转载,并且不能删除文章的任何部分,否则追究责任!//-----------------原创 2011-11-14 15:26:51 · 1491 阅读 · 0 评论 -
fatal error C1189: #error : ERROR: Use of C runtime library internal header
今天遇到这个错误,是我把SDK选择不一致导致 1处选的是R13的SDK,2处原来也是R13的,不知道怎么变成R10的了,当时也没细看,之际编译了,于是就出现这个错误,开始还真以为是C与C++公用的问题呢,白白浪费了好久。原创 2011-12-30 16:50:50 · 5317 阅读 · 0 评论 -
WINCE data abort 内核调试错误分析
1、 出错信息:PC=c01cf8ec(gwes.dll+0x0004f8ec) RA=c01cf8e4(gwes.dll+0x0004f8e4) SP=d1e9fde0, BVA=00001002Gwes.map文件:…………………………………………………………………………………………………………………………………………………………………………………………………………0001:原创 2013-03-21 13:59:35 · 3167 阅读 · 0 评论 -
解决CE6和CE5在Platform Builder的Connectivity Options上的冲突
<br />安装完CE6后,会发现Platform Builder for CE5的Connectivity Options不好用了,即使修改设置后点Apply也无法把新设置保存住<br />在完全卸载CE6和VS2005后,点PB5的Connectivity Options会弹出这个错误<br /><br /><br />即使把CE5和PB5完全卸载,然后再重装,改错误仍然存在。<br /><br />我在网上搜到了该问题的解决方法<br />http://www.eggheadcafe.com/soft原创 2011-04-15 10:43:00 · 921 阅读 · 0 评论 -
Wince读写INI文件
<br />下面的内容还未证实:<br /><br /><br />多次在实际操作中碰到读写ini文件,但 WINCE中没有实际能操作INI文件的函数,所以只有自己亲自完成读写INI文件了。<br />#ifndef __RDWRTINI_H__<br />#define __RDWRTINI_H__<br />#define DIM(a) sizeof(a)/sizeof(a[0])<br />///////////////////////////////////////////////////////原创 2011-04-20 21:58:00 · 1543 阅读 · 0 评论 -
VS2005+CE6+VS2008的安装步骤以及出错分析
安装VS2005+CE6,也安装过很多回了,网上也经常看到有人在问怎么安装,或安装过程中失败等等问题,特别是在WIN7下安装,遇到问题的朋友很多。今天,换了台BB,又按部就班过了下,在安装CE6时,还是发生了点意外,所以,把这安装步骤再写写,也给有类似需求的朋友参考下。O原创 2011-08-03 14:19:06 · 1993 阅读 · 0 评论 -
Win7下安装配置Activesync的方法
1. 首先要有Win7版的Activesync才行啊,也就是Ms-Win-Mobile-Device-Center-6.exe安装文件(移动设备中心),大家可以到下面下载:http://download.csdn.net/source/34916112.原创 2011-08-05 10:25:37 · 3649 阅读 · 0 评论 -
WinCE中得Catalog Items前的标记图标的意义总结
先看下来自微软对Platform Builder里的图标解释,在以后的CE里,也类似。The Catalog window and the OSDesignView tab contain a number of icons used to represent object原创 2011-09-08 11:29:33 · 3335 阅读 · 0 评论 -
Wince RemoteAdmin,Telnet,WebAdmin用户和密码操作
Wince RemoteAdmin,Telnet,WebAdmin用户和密码操作参考文挡:1.Pentadyne\trunk\Advantech-UNO\DCMSYSTEM\DCM拨号上网配置方法.doc2.Pentadyne\trunk\Advantech-UNO\原创 2011-10-11 15:42:36 · 2742 阅读 · 0 评论 -
WinCE编译过程的四个阶段
WinCE系统在完成开发工作后会对程序进行编译,本文向您介绍WinCE编译过程的四个阶段,包括编译阶段、系统产生阶段、文件拷贝阶段和生产映像阶段。 在WinCE系统中,当我们完成了相关的开发和系统定制工作以后,会编译WinCE系统,最后生成NK.bin和NK.nb0。我现在用WinCE6.0在自己的PC上面编译一次用时19分16秒(有一天无聊,就测了一下)。下面介绍一下WinCE系统的编译原创 2011-10-26 09:18:47 · 1197 阅读 · 0 评论 -
VS2005/2008 connect with Device的方法 .
这个问题很简单,但对初学者,可能还不是很熟悉,具体方法如下。A. 打开VS的Project菜单,选项目properties…B. 在弹出的窗口里,选择configuration properties-àDevelopment-àRemote Directoryà/Test Root; configuration properties-àDebugging-àRemote executabl原创 2011-11-14 15:31:24 · 925 阅读 · 0 评论 -
the breakpoint will not currently be hit. No executale code is currently loaded at this location
今天把去年的一个APP重新编译了下,没有修改任何代码,只是想trace下debug message,于是就断点调试了。一般断点调试是在debug的模式下,不过我只是看下几个中间变量的值了,就直接在release下设了几个断点。不正常的是:有几个断点我明明设了,但没法在断点处停下,而断点也不是红点了,变成一个透明的点,上面还有个小问号(好像是问号,太小看不清)。鼠标停留在这个透明点上,就原创 2011-12-30 15:18:40 · 3318 阅读 · 2 评论