
WINCE
博说医械研发
专注于新产品开发知识体系与体外诊断
展开
-
通过更改字库文件组件及相关设置实现对NK进行裁剪(尤其适用中文简体系统)
最近有朋友在论坛询问如果将WINCE的NK裁剪得小一些,回复他之后顺便在此写篇文章说明一下。通常我们在定制系统的时候会发现中文系统要比英文系统NK大10M左右,由此bootloader将内核copy到内存的时间相应变长一些,也导致占用额外的内存空间,其实可以通过选择不同的字库来对NK进行一定的裁剪。首先我们来看当加入中文简体语言后系统默认选择的字体文件simsun.ttc(10MB)(文件原创 2009-04-24 10:17:00 · 2317 阅读 · 8 评论 -
wince下的触摸屏校准程序源码
Wince自身已经有触摸屏校准程序,使用时只需要调用相应的函数就可以。函数名:BOOL WINAPI TouchCalibrate(void);所在头文件:pwinuser.h 如果Visual Studio等使用的SDK中不包含这个头文件,也可以采用以下方式调用函数:typedef BOOL (WINAPI *_TouchCalibrate)原创 2010-05-10 16:24:00 · 2646 阅读 · 1 评论 -
Locale ID (LCID) Chart
Locale descriptionShort stringHexadecimal valueDecimal valueAfrikaansaf0x0436 1078Albaniansq0x041C 1052Arabic - Un原创 2010-05-10 09:26:00 · 1880 阅读 · 0 评论 -
WINCE桌面背景字符Microsoft Windows CE v........
WINCE桌面背景文字Microsoft Windows CE v等字符的源文件为:/WINCE500/PUBLIC/SHELL/OAK/HPC/CESHELL/UI/desktopview.cpp 函数:void CDesktopView::PaintBackground(HDC hdc) const::wsprintf(wszVersion, L"Microsoft Windows原创 2010-05-17 14:17:00 · 1037 阅读 · 0 评论 -
Debug messages and debug zones in Windows CE (Windows CE Base Team Blog)
Posted by Travis Hobrla (thanks to Sue Loh who assisted with many portions of this article)IntroductionDebug messages are an excellent supplement to a debugger. They give information about the转载 2010-05-20 15:06:00 · 1346 阅读 · 0 评论 -
Eboot无法生成nb0文件
PB生成NB0文件时要读取bib文件中的一些配置,当bib的各段空间设置得不恰当就有可能导致无法生成nb0文件,虽然此时仍然能够生成eboot.bin,但是下载的时候会出错误信息ImgLength为0,而查看eboot.bin也的确是0。举例说明:当EBOOT代码中声明了较大的变量空间,而bib文件中分配RAM空间不够大就会导致无法生成nb0文件,如EBOOT中初始化LCD的显示BUFFE原创 2010-05-21 16:29:00 · 1502 阅读 · 1 评论 -
读取SD卡ID代码
#include #include #include unsigned char DiskID[MAX_PATH];unsigned char szSerialNum[MAX_PATH];unsigned char szManufactureID[MAX_PATH];void ReadSDID(void){ DWORD dwBytesRead原创 2010-05-25 16:07:00 · 4373 阅读 · 2 评论 -
通过OALLogSetZones()函数打开OAL全部调试信息
OAL层代码中诸如 OALMSG(OAL_FUNC, (L"+OEMInit/r/n"));类型的代码默认只有使用OAL_ERROR和OAL_WARN才能输出调试信息,实际上可以通过简单地通过OALLogSetZones()函数打开OAL全部调试信息。原创 2010-09-12 13:51:00 · 1132 阅读 · 0 评论 -
WinCE提高编译、build速度(一) CE6.0的SOC
CE6.0执行Rebuild Current BSP and Subprojects的时候速度很慢,研究了一下整个过程发现当build到platform/common的时候会将SRC/SOC下的所有文件夹全部build一次,但是实际上我们每次最多只需要用其中一个SOC文件,为什么会全部build呢?打开dirs文件发现使用的是通配符*,难怪会全部build一次原创 2010-09-14 17:58:00 · 1243 阅读 · 0 评论 -
WinCE提高编译、build速度(二) BUILD_MULTIPROCESSOR多处理器多线程
WinCE系统虽好,但是开发过程中的build速度实在是让我们有些等得不耐烦。现在的电脑性能越来越高,并且处理器也至少是双核的,如果对于build的速度仍然不满意的话可以使能BUILD_MULTIPROCESSOR功能,让Build.exe在多处理器上实现多线程。具体方法:CE5.0,在项目的环境变量中添加BUILD_MULTIPROCESSOR并设置为想要的值.原创 2010-09-15 18:09:00 · 1855 阅读 · 1 评论 -
VMProcessPageFault Error: Page fault occurred while in power handler! Address = 0x40314228解決方法
CE6.0在使用multi-bin的时候执行suspend如果出现VMProcessPageFault Error: Page fault occurred while in power handler! Address = 0x40314228且不能suspend成功,只需要在config.bib中将ROMFLAGS的最低位置1,这样Suspend的时候系统就不会去做Page Out,也就不会有原创 2010-05-07 13:56:00 · 1951 阅读 · 0 评论 -
在ADS平台下建立自己的Bootloader烧录工具
由于目前带并口的PC机越来越少,且三星提供的SJF工具所提供的NAND型号比较少,自己编写一个NAND烧录Bootloader的工具是很有用的,有些开发板会自带一ADS下的Bootloader使用它估计比较方便,但是我没有这样的代码,所以就在对Bootloader比较熟悉的情况下拿三星提供的BSP、WINCE的源文件编写了一个自己ADS下使用的烧录Bootloader程序。程序的编写基本上是一原创 2010-04-08 14:33:00 · 2032 阅读 · 1 评论 -
RETAILMSG
定义在文件 dbgapi.h 里面,[size=4]location[/size]: //PUBLIC//COMMON//SDK//INC//dbgapi.h。如果是 SHIP_BUILD 版本。 所有的都不会打印出来。因为#ifdef SHIP_BUILD#define ERRORMSG(cond,printf_exp) ((void)0)#define RETAILMSG(cond,print原创 2010-04-08 14:52:00 · 2799 阅读 · 0 评论 -
EBOOT通过bin文件形式读取、下载LOGO
一般的WINCE系统都是在EBOOT阶段初始化LCD,所以要想显示自己的LOGO就需要在EBOOT阶段将LOGO内容显示出来,读取LOGO的方式可以和从存储器中读取NK一样,具体位置自己来定义。 在EBOOT阶段下载LOGO保存到FLASH中可以采用下载bin文件的方式,bin文件中的内容可以参考eboot.bin和nk.bin。根据/WINCE500/PUBLIC/COMMON/OA原创 2009-05-07 14:31:00 · 4721 阅读 · 6 评论 -
定制带有模拟器且支持ActiveSync调试的WINCE5.0 SDK
目的:生成供Visual Studio和EVC开发WINCE5.0应用程序的SDK,且带有模拟器和直接连接设备的两种调试功能。软件环境:WINCE5.0 Platform Builder以下内容针对CPU为ARMV4I,其它CPU过程相似 一、除给自己设备build OS的BSP之后还需要另外一个BSP:“DeviceEmulatorBSP.msi”,这是微软提供的ARMV4I模拟原创 2009-09-04 16:55:00 · 5910 阅读 · 22 评论 -
更改触摸屏校准程序界面提示文字
BSP中提供的触摸屏校准程序在个别设备上用起来可能不太适合,比如说我们的设备屏幕宽度只有240pixels,会有部分字符超出屏幕外侧,原以为这是BSP的提供的程序,无源码没办法修改,这两天才知道原来是可以修改的。 之前在使用中发现触摸屏校准程序会识别系统的local,当系统是中文的时候它的界面是中文,当系统是英文的时候它的界面是英文,还以为是这个程序识别系统local之后自动调整,当时也奇原创 2009-09-25 16:05:00 · 1777 阅读 · 4 评论 -
快速编译修改过的PUBLIC代码
在WINCE的产品开发过程中可能会遇到修改PUBLIC下代码的情况,由于PUBLIC下的代码进行build之后生成的是相应的.lib文件,要在Sysgen阶段才能生成相应的DLL文件,修改完成后通过Build and Sysgen Current Project要用掉近十分钟的时间才能编译中相应的DLL(我的机器配置不怎么样),然后再进行make生成NK或者XIP,如果是边调试边修改实在是浪费太多原创 2009-10-12 14:01:00 · 2797 阅读 · 2 评论 -
WINCE开机自动运行指定程序
WINCE开始默认是运行explorer.exe,是在shell.reg中设置的[HKEY_LOCAL_MACHINE/init]"Launch50"="explorer.exe""Depend50"=hex:14,00, 1e,00因此只要在platform.reg或者project.reg中做类似的更改就可以实现开机自动运行指定AP的功能。 如:[HKEY_LOCAL_MA原创 2009-11-03 16:59:00 · 2535 阅读 · 3 评论 -
文字显示去掉锯齿
两种方法:1、[HKEY_LOCAL_MACHINE/System/GDI/ClearType]"ClearType"=dword:1 2、关闭ClearType效果(删除1中的注册表内容)。[HKEY_LOCAL_MACHINE/System/GDI/Fontsmoothing][HKEY_LOCAL_MACHINE/System/GDI]"ForceGRAY16"=dwor原创 2010-02-23 15:16:00 · 1652 阅读 · 0 评论 -
WinCE中命令行工具Viewbin简介(查看nk.bin中包含的文件)
作者:ARM-WinCE Viewbin是微软提供的一个命令行工具,在WinCE5.0和WinCE6.0中,可以在"/WINCE600/PUBLIC/COMMON/OAK/BIN/I386"找到他。Viewbin工具可以用来查看NK.bin文件。它可以从NK.bin中获得这个NK image的大小,运行的起始地址等。还能查看到里面所包含的模块,应用程序及相关的信息。Viewbin的使用转载 2009-12-29 14:50:00 · 1466 阅读 · 0 评论 -
wince 快速挂载SD卡及U盘
作者:风雨无阻1、起初我的wince bsp 在插入8G u盘时需要等待大概40秒左右才出现盘符,这个速度简直无法忍受。 2、经过分析,发现比较耗时的是位于文件 C:/WINCE500/PUBLIC/COMMON/OAK/DRIVERS/FSD/FATUTIL/MAIN/scandisk.cpp内的 ScanVolumeInternal 函数,这个函数是用来扫描文件系统的,如果能够转载 2010-01-08 14:02:00 · 1830 阅读 · 0 评论 -
Clone a MDD Lib,快速修改MDD层lib
之前的文章介绍过复制PUBLIC下的驱动等DLL到Platform下,方便进行修改及快速编译,而当驱动使用MDD与PDD结构的时候,Platform实现了PDD层,链接PUBLIC的MDD层共同实现功能,以下USB Function介绍将PUBLIC下的MDD层程序Clone到Platform下进行修改。 在USB Function的PDD层程序中可以通过sources文件链接了ufnmd原创 2010-03-23 15:54:00 · 1355 阅读 · 1 评论 -
Windows CE 6.0 post-build on WIN7 64 bits machine
之前做了WinCE几年,包括5.0和6.0,有一定经验,随着WinCE的没落,不再做相应产品,市面上WinCE的产品越来越少,也就不打算写太多WinCE的内容,上篇文章提到了post-build,也就顺便写一下64位机器上CE6的post-build吧。最初在32位XP系统上post-build上是很正常的,到了WIN7 64位系统时post-build无效,详细看了一下build log,发原创 2016-08-25 21:39:46 · 1001 阅读 · 0 评论