<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>起点博客 &#187; wince</title>
	<atom:link href="http://xinzero.com/tag/wince/feed" rel="self" type="application/rss+xml" />
	<link>http://xinzero.com</link>
	<description>起于学习，点与应用，一切只为更高效</description>
	<lastBuildDate>Mon, 06 Feb 2012 14:29:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>如何制作U盘DOS启动盘</title>
		<link>http://xinzero.com/create-dos-startup-u-disk.html</link>
		<comments>http://xinzero.com/create-dos-startup-u-disk.html#comments</comments>
		<pubDate>Mon, 04 Jul 2011 13:24:00 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[软件应用]]></category>
		<category><![CDATA[DOS]]></category>
		<category><![CDATA[wince]]></category>

		<guid isPermaLink="false">http://xinzero.com/?p=480</guid>
		<description><![CDATA[


制作U盘DOS启动盘的主要用途：
1、 主板开发，在最小系统下运行程序，load主板的固件。
2、 嵌入式开发，如PC104板卡的WinCE加载，需先加载DOS系统，再加载WinCE系统。
3、 PC机底层控制。
本人所知道就这么多了。
制作U盘的DOS启动盘还是比较简单的，下面介绍的这个工具可以支持大容量（如8G）的U盘，CF卡（需要使用USB的读卡器，注：本人曾经遇到某些读卡器可以识别CF卡，但是写入DOS镜像失败，换个读卡器就ok了，本人用过飚王，品胜都没有问题）。
制作方法：
1、解压DOS.image.rar文件
2、运行HPUSBFW汉化.EXE软件，选择U盘
3、选择制作启动盘的DOS文件镜像，推荐使用DOS.image，因为可以增加一些自己需要的功能，如引导WinCE系统。
HPUSBFW汉化.EXE制作U盘DOS启动盘的设置如图所示。猛击下载制作工具包。

相关文章EVC通过网口调试WinCE设备方法扩大WinCE可用物理内存ADOCE打包到WinCE NK.bin镜像中WinCE下SQLCE开发初探]]></description>
			<content:encoded><![CDATA[<p>制作U盘DOS启动盘的主要用途：</p>
<p>1、 主板开发，在最小系统下运行程序，load主板的固件。</p>
<p>2、 嵌入式开发，如PC104板卡的WinCE加载，需先加载DOS系统，再<a href="http://xinzero.com/add-adoce-files-to-nkbin.html" target="_blank">加载WinCE系统</a>。</p>
<p>3、 PC机底层控制。</p>
<p>本人所知道就这么多了。</p>
<p>制作U盘的DOS启动盘还是比较简单的，下面介绍的这个工具可以支持大容量（如8G）的U盘，CF卡（需要使用USB的读卡器，注：本人曾经遇到某些读卡器可以识别CF卡，但是写入DOS镜像失败，换个读卡器就ok了，本人用过飚王，品胜都没有问题）。</p>
<p>制作方法：</p>
<p>1、解压DOS.image.rar文件</p>
<p>2、运行HPUSBFW汉化.EXE软件，选择U盘</p>
<p>3、选择制作启动盘的DOS文件镜像，推荐使用DOS.image，因为可以增加一些自己需要的功能，如引导WinCE系统。</p>
<p>HPUSBFW汉化.EXE制作U盘DOS启动盘的设置如图所示。<a href="http://dl.dbank.com/c0qdv17du4" target="_blank">猛击下载制作工具包</a>。</p>
<p><a href="http://xinzero.com/wordpress/wp-content/uploads/2011/07/clip_image002.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="clip_image002" src="http://xinzero.com/wordpress/wp-content/uploads/2011/07/clip_image002_thumb.jpg" border="0" alt="clip_image002" width="339" height="451" /></a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://xinzero.com/evc-debug-by-ethenet-port.html" title="EVC通过网口调试WinCE设备方法">EVC通过网口调试WinCE设备方法</a></li><li><a href="http://xinzero.com/enlarge-wince-physical-memory-size.html" title="扩大WinCE可用物理内存">扩大WinCE可用物理内存</a></li><li><a href="http://xinzero.com/add-adoce-files-to-nkbin.html" title="ADOCE打包到WinCE NK.bin镜像中">ADOCE打包到WinCE NK.bin镜像中</a></li><li><a href="http://xinzero.com/wince-sqlce-dev-start.html" title="WinCE下SQLCE开发初探">WinCE下SQLCE开发初探</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://xinzero.com/create-dos-startup-u-disk.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>EVC通过网口调试WinCE设备方法</title>
		<link>http://xinzero.com/evc-debug-by-ethenet-port.html</link>
		<comments>http://xinzero.com/evc-debug-by-ethenet-port.html#comments</comments>
		<pubDate>Wed, 25 Feb 2009 15:31:37 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[EVC]]></category>
		<category><![CDATA[wince]]></category>

		<guid isPermaLink="false">http://xinzero.com/evc-debug-by-ethenet-port.html</guid>
		<description><![CDATA[EVC通过网口调试WinCE应用程序，主要是将调试需要的三个文件（cemgrc.exe、cetlstub.dll、tcpipc.dll）打包到NK.bin文件中，然后安装对应的SDK，在EVC的tools菜单中设置SDK的属性，将Tranport为TCP/IP Transport for Windows CE方式，然后点击后面的Configure在弹出的对话框中，将Fixed Port选中，方便连接。将Startup设置成Manual Server方式。
打包方式可以参考ADOCE打包到WinCE NK.bin镜像中中提到的方法，不过这个方法比较笨，包含这些调试所需文件，只需在PB定制的时候将Platform Manger添加到系统设计中。
通过交叉网线连接WinCE设备与Windows开发主机，为了使WinCE系统和Windows开发主机能够通过网络通信，需要设置WinCE的IP地址和Windows开发主机的IP地址在同一网段，如：192.168.29.X网段。
为了使WinCE系统每次启动都保持相同的IP地址，需要对WinCE的注册表进行修改，一般是修改platform.reg文件。当为WinCE系统分配静态IP的时候，需要关闭DHCP功能，需要将EnableDHCP的注册表值设置为0。
例如本系统的配置如下：
[HKEY_LOCAL_MACHINE\COMM\PCI\RTL81391\Parms\TcpIp]
&#8220;EnableDHCP&#8221;=dword:0
; This should be MULTI_SZ
&#8220;DefaultGateway&#8221;=&#8221;192.168.29.1&#8243;
; Use zero for broadcast address? (or 255.255.255.255)
&#8220;UseZeroBroadcast&#8221;=dword:0
; This should be MULTI_SZ, the IP address list
&#8220;IpAddress&#8221;=&#8221;192.168.29.2&#8243;
; This should be MULTI_SZ, the subnet masks for the above IP addresses
&#8220;Subnetmask&#8221;=&#8221;255.255.255.0&#8243;
相关文章如何制作U盘DOS启动盘扩大WinCE可用物理内存ADOCE打包到WinCE NK.bin镜像中WinCE下SQLCE开发初探]]></description>
			<content:encoded><![CDATA[<p>EVC通过网口调试WinCE应用程序，主要是将调试需要的三个文件（cemgrc.exe、cetlstub.dll、tcpipc.dll）打包到NK.bin文件中，然后安装对应的SDK，在EVC的tools菜单中设置SDK的属性，将Tranport为TCP/IP Transport for Windows CE方式，然后点击后面的Configure在弹出的对话框中，将Fixed Port选中，方便连接。将Startup设置成Manual Server方式。</p>
<p>打包方式可以参考<a href="http://xinzero.com/add-adoce-files-to-nkbin.html">ADOCE打包到WinCE NK.bin镜像中</a>中提到的方法，不过这个方法比较笨，包含这些调试所需文件，只需在PB定制的时候将Platform Manger添加到系统设计中。</p>
<p>通过<font color="#ff0000"><strong>交叉网线</strong></font>连接WinCE设备与Windows开发主机，为了使WinCE系统和Windows开发主机能够通过网络通信，需要设置WinCE的IP地址和Windows开发主机的IP地址在同一网段，如：192.168.29.X网段。</p>
<p>为了使WinCE系统每次启动都保持相同的IP地址，需要对WinCE的注册表进行修改，一般是修改platform.reg文件。当为WinCE系统分配静态IP的时候，需要关闭DHCP功能，需要将EnableDHCP的注册表值设置为0。</p>
<p>例如本系统的配置如下：<br />
[HKEY_LOCAL_MACHINE\COMM\PCI\RTL81391\Parms\TcpIp]<br />
&#8220;EnableDHCP&#8221;=dword:0<br />
; This should be MULTI_SZ<br />
&#8220;DefaultGateway&#8221;=&#8221;192.168.29.1&#8243;<br />
; Use zero for broadcast address? (or 255.255.255.255)<br />
&#8220;UseZeroBroadcast&#8221;=dword:0<br />
; This should be MULTI_SZ, the IP address list<br />
&#8220;IpAddress&#8221;=&#8221;192.168.29.2&#8243;<br />
; This should be MULTI_SZ, the subnet masks for the above IP addresses<br />
&#8220;Subnetmask&#8221;=&#8221;255.255.255.0&#8243;</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://xinzero.com/create-dos-startup-u-disk.html" title="如何制作U盘DOS启动盘">如何制作U盘DOS启动盘</a></li><li><a href="http://xinzero.com/enlarge-wince-physical-memory-size.html" title="扩大WinCE可用物理内存">扩大WinCE可用物理内存</a></li><li><a href="http://xinzero.com/add-adoce-files-to-nkbin.html" title="ADOCE打包到WinCE NK.bin镜像中">ADOCE打包到WinCE NK.bin镜像中</a></li><li><a href="http://xinzero.com/wince-sqlce-dev-start.html" title="WinCE下SQLCE开发初探">WinCE下SQLCE开发初探</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://xinzero.com/evc-debug-by-ethenet-port.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>扩大WinCE可用物理内存</title>
		<link>http://xinzero.com/enlarge-wince-physical-memory-size.html</link>
		<comments>http://xinzero.com/enlarge-wince-physical-memory-size.html#comments</comments>
		<pubDate>Sat, 27 Dec 2008 17:28:44 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[Geode]]></category>
		<category><![CDATA[wince]]></category>
		<category><![CDATA[x86]]></category>

		<guid isPermaLink="false">http://xinzero.com/enlarge-wince-physical-memory-size.html</guid>
		<description><![CDATA[WinCE系统内核的源代码中默认使用28M的内存。如果在Build Option中选中Run-Time Image Can be Larger than 32 MB (IMGRAM64=1)项，那么定制WinCE的时候Platform Builder会使用64M的内存来编译。对于大于64M内存系统的定制需要做些修改。
对于x86架构的GEODE处理器（注意此处是对于Geode处理，如果是CEPC则不需要改源代码，CEPC的内存修改方法），要支持大于64M的内存必须修改源码。
首先在WinCE安装目录找到%_WINCEROOT%\Public\Common\Oak\Csp\x86\Inc\Pc.h文件，修改Pc.h中的CEPC_EXTRA_RAM_SIZE宏，CEPC_EXTRA_RAM_SIZE为总内存数减去Config.bib中详细列出的内存数。128M内存是在原来的0&#215;02400000基础上加上0&#215;04000000。
然后找到%_WINCEROOT%\Public\Common\Oak\Csp\x86\Oal\OEMInit.asm文件，打开oeminit.asm文件，修改“_OEMAddressTable:”的值。 _OEMAddressTable是一个非常关键的内存映射描述表，主要描述物理内存和虚拟内存之间的映射，表的每一条目有3个DWORD,依次是（VA，PA，cbSize），其中VA是虚拟内存的开始地址，一般为80000000h,PA是物理内存的开始地址，一般为0，cbSize就是CE内核支持物理内存的大小，这个DWORD是我们最最关心的,其单位是BYTE。需要注意的是，cbSize,一定要是4M Byte的倍数，因为Windows CE.NET内核中检测内存大小，是以4M Byte为单位来检测的。cbSize系统默认为04000000h,其大小为64M,我们可以将其修改为8000000h,就可以支持128M内存了。
最后重新编译生成Buildi486oal.lib。选择Platform的Build OS菜单下的Open Release Directory打开CMD命令行（直接在windows下运行cmd命令行不行，一定要从Platform的build OS菜单进入）,进入 %_WINCEROOT%\Public\Common\OAK\CSP\i486\Oal目录下。然后执行：build –c和sysgen i486oal命令。然后在PB工作空间，选择FileView选项卡，找到%_WINCEROOT%\Public\Common\OAK\CSP\x86\Oal，右键后选上Run Makeimage Tool After Build，最后Build and sysgen编译生成映像NK.bin。
对于x86架构的非GEODE处理器，可以直接通过设置环境变量IMGRAM128=1，使系统可以支持128M的内存。注意config.bib文件中的代码RAM 80C00000 07000000 RAM，其中07000000代表分配的内存空间的大小，这部分空间是真实内存空间大小减去内核所占空间的结果。所以如果分配给RAM内存的空间过大，定制的系统加载之后会黑屏。
对于x86EMULATOR修改代码似乎也不能使其内存超过64M，测试了一次，失败了。
相关文章如何制作U盘DOS启动盘EVC通过网口调试WinCE设备方法ADOCE打包到WinCE NK.bin镜像中WinCE下SQLCE开发初探]]></description>
			<content:encoded><![CDATA[<p>WinCE系统内核的源代码中默认使用28M的内存。如果在Build Option中选中Run-Time Image Can be Larger than 32 MB (IMGRAM64=1)项，那么定制WinCE的时候Platform Builder会使用64M的内存来编译。对于大于64M内存系统的定制需要做些修改。</p>
<p>对于<font color="#ff0000"><strong>x86</strong><strong>架构的</strong><strong>GEODE</strong></font>处理器（注意此处是对于Geode处理，如果是CEPC则不需要改源代码，<a href="#cepc_memory">CEPC的内存修改方法</a>），要支持大于64M的内存必须修改源码。</p>
<p>首先在WinCE安装目录找到%_WINCEROOT%\Public\Common\Oak\Csp\x86\Inc\Pc.h文件，修改Pc.h中的CEPC_EXTRA_RAM_SIZE宏，CEPC_EXTRA_RAM_SIZE为总内存数减去Config.bib中详细列出的内存数。128M内存是在原来的0&#215;02400000基础上加上0&#215;04000000。</p>
<p>然后找到%_WINCEROOT%\Public\Common\Oak\Csp\x86\Oal\OEMInit.asm文件，打开oeminit.asm文件，修改“_OEMAddressTable:”的值。 _OEMAddressTable是一个非常关键的内存映射描述表，主要描述物理内存和虚拟内存之间的映射，表的每一条目有3个DWORD,依次是（VA，PA，cbSize），其中VA是虚拟内存的开始地址，一般为80000000h,PA是物理内存的开始地址，一般为0，cbSize就是CE内核支持物理内存的大小，这个DWORD是我们最最关心的,其单位是BYTE。需要注意的是，cbSize,一定要是4M Byte的倍数，因为Windows CE.NET内核中检测内存大小，是以4M Byte为单位来检测的。cbSize系统默认为04000000h,其大小为64M,我们可以将其修改为8000000h,就可以支持128M内存了。</p>
<p>最后重新编译生成Buildi486oal.lib。选择Platform的Build OS菜单下的Open Release Directory打开CMD命令行（直接在windows下运行cmd命令行不行，一定要从Platform的build OS菜单进入）,进入 %_WINCEROOT%\Public\Common\OAK\CSP\i486\Oal目录下。然后执行：build –c和sysgen i486oal命令。然后在PB工作空间，选择FileView选项卡，找到%_WINCEROOT%\Public\Common\OAK\CSP\x86\Oal，右键后选上Run Makeimage Tool After Build，最后Build and sysgen编译生成映像NK.bin。</p>
<p><a name="cepc_memory" title="cepc_memory"></a>对于x86架构的非GEODE处理器，可以直接通过设置环境变量IMGRAM128=1，使系统可以支持128M的内存。注意config.bib文件中的代码RAM 80C00000 07000000 RAM，其中07000000代表分配的内存空间的大小，这部分空间是真实内存空间大小减去内核所占空间的结果。所以如果分配给RAM内存的空间过大，定制的系统加载之后会黑屏。</p>
<p>对于x86EMULATOR修改代码似乎也不能使其内存超过64M，测试了一次，失败了。</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://xinzero.com/create-dos-startup-u-disk.html" title="如何制作U盘DOS启动盘">如何制作U盘DOS启动盘</a></li><li><a href="http://xinzero.com/evc-debug-by-ethenet-port.html" title="EVC通过网口调试WinCE设备方法">EVC通过网口调试WinCE设备方法</a></li><li><a href="http://xinzero.com/add-adoce-files-to-nkbin.html" title="ADOCE打包到WinCE NK.bin镜像中">ADOCE打包到WinCE NK.bin镜像中</a></li><li><a href="http://xinzero.com/wince-sqlce-dev-start.html" title="WinCE下SQLCE开发初探">WinCE下SQLCE开发初探</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://xinzero.com/enlarge-wince-physical-memory-size.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ADOCE打包到WinCE NK.bin镜像中</title>
		<link>http://xinzero.com/add-adoce-files-to-nkbin.html</link>
		<comments>http://xinzero.com/add-adoce-files-to-nkbin.html#comments</comments>
		<pubDate>Sun, 21 Dec 2008 16:26:00 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[adoce]]></category>
		<category><![CDATA[nk.bin]]></category>
		<category><![CDATA[sqlce]]></category>
		<category><![CDATA[wince]]></category>

		<guid isPermaLink="false">http://xinzero.com/add-adoce-files-to-nkbin.html</guid>
		<description><![CDATA[在WinCE下SQLCE开发初探中说明的方式只能作为调试程序之用，其实每次调试都需要配置一次也够麻烦的，下面就讲一下如何将ADOCE的dll文件打包到内核NK中，并将数据库文件存在硬盘（CF卡）上，实现数据永久保存地方法。
一、需要将ADOCE的dll库文件打包到WinCE的windows目录下
1、 在菜单的Platform下选择Setting，再选择Custom Build Actions选项卡，在Build step：下选择Pre-Make Image选择New，然后在弹出对话框中输入

copy &#60;Path&#62;\&#60;File name&#62; %_FLATRELEASEDIR%\&#60;File name&#62;
&#60;File name&#62;换成需要添加的文件    %_FLATRELEASEDIR%环境变量表示当前工程的release目录
确认后保存
2、在菜单的View下选择Parameter View，双击打开Project.bib文件进行编辑，在Files session下添加
FILES     ; Name Path Memory Type     ; &#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212; &#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;     &#60;File name&#62; $(_FLATRELEASEDIR)\&#60;File name&#62; NK&#160; S
$(_FLATRELEASEDIR)对应的目录和%_FLATRELEASEDIR%相同   例如：将D盘根目录下的adoce31.dll打包，    copy D:\ adoce31.dll [...]]]></description>
			<content:encoded><![CDATA[<p>在<a href="http://xinzero.com/wince-sqlce-dev-start.html">WinCE下SQLCE开发初探</a>中说明的方式只能作为调试程序之用，其实每次调试都需要配置一次也够麻烦的，下面就讲一下如何将ADOCE的dll文件打包到内核NK中，并将数据库文件存在硬盘（CF卡）上，实现数据永久保存地方法。</p>
<p>一、需要将ADOCE的dll库文件打包到WinCE的windows目录下</p>
<p>1、 在菜单的<strong>Platform</strong>下选择<strong>Setting</strong>，再选择<strong>Custom Build Actions</strong>选项卡，在Build step：下选择Pre-Make Image选择<strong>New</strong>，然后在弹出对话框中输入</p>
<p><a href="http://xinzero.com/wordpress/wp-content/uploads/2008/12/clip-image002.jpg"><img title="Add Files to NK.bin" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="530" alt="Add Files to NK.bin" src="http://xinzero.com/wordpress/wp-content/uploads/2008/12/clip-image002-thumb.jpg" width="545" border="0" /></a></p>
<p><strong>copy </strong>&lt;<em>Path</em>&gt;<strong>\</strong>&lt;<em>File name</em>&gt;<strong> %_FLATRELEASEDIR%\</strong>&lt;<em>File name</em>&gt;</p>
<p>&lt;<em>File name</em>&gt;换成需要添加的文件    <br /><strong>%_FLATRELEASEDIR%</strong>环境变量表示当前工程的release目录</p>
<p>确认后保存</p>
<p>2、在菜单的<strong>View</strong>下选择<strong>Parameter View</strong>，双击打开<strong>Project.bib</strong>文件进行编辑，在<strong>Files session</strong>下添加</p>
<p><strong>FILES     <br /></strong><strong>; Name Path Memory Type     <br /></strong><strong>; &#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212; &#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;     <br /></strong><strong>&lt;File name&gt; $(_FLATRELEASEDIR)\&lt;File name&gt; NK&#160; S</strong></p>
<p>$(_FLATRELEASEDIR)对应的目录和%_FLATRELEASEDIR%相同   <br />例如：将D盘根目录下的adoce31.dll打包，    <br /><strong>copy </strong>D:\ adoce31.dll<strong> %_FLATRELEASEDIR%\</strong> adoce31.dll    <br />adoce31.dll $(_FLATRELEASEDIR)\adoce31.dll&#160;&#160;&#160;&#160;&#160;&#160;&#160; NK&#160;&#160;&#160;&#160; S</p>
<p>保持对应关系一致就可以了。</p>
<p>然后Build and Sysgen(此时不必做，等后面修改完了一并Build and Sysgen)   <br />这样包含的文件默认在NK.bin的windows目录下</p>
<p>如果追加了新的文件需要重新Build and Sysgen   <br />我已经改过的project.bib和project.reg文件可以到<a href="http://www.namipan.com/d/b6c963836860ba5facce0c361cabdf71eee471d534060000" target="_blank">这里下载</a></p>
<p>二、替换掉dllregister.exe</p>
<p>每次运行dllregister.exe都会弹出一个“注册成功”的确认对话框，相当不爽。不知道如何让它静默运行，直接修改注册表完成它的功能算了。将dllregister注册之前和之后的注册表用UltraEdit比较，找出不同的写入project.reg中。</p>
<p>三、将数据库文件放入硬盘</p>
<p>NK的内核是个ROM，每次操作完之后的数据都是写入内存中，重启之后就没有了。所以必须将数据库文件放入CF上（NK.bin文件之外）。</p>
<p>在wince 的os定制中打开Catalog 中的Device Drivers\Storage Devices, 然后选择ATAPI PCI/IDE Storage Block Driver，右键选择Add to OS Design。</p>
<p>在Core OS\Windows CE devices\File Systems and Data Store\Storage Manager, 然后选择 FAT File System.右键选择Add toOS Design。然后重新Build and Sysgen。</p>
<p>CF卡的容量不要超过2G，fat16最大只能支持2G空间</p>
<p>Build and Sysgen等待完成后，将mydata.sdf（数据库文件）拷贝到CF上。在中文WinCE系统下，程序中访问数据库文件的路径为 /硬盘/mydata.sdf。</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://xinzero.com/wince-sqlce-dev-start.html" title="WinCE下SQLCE开发初探">WinCE下SQLCE开发初探</a></li><li><a href="http://xinzero.com/create-dos-startup-u-disk.html" title="如何制作U盘DOS启动盘">如何制作U盘DOS启动盘</a></li><li><a href="http://xinzero.com/evc-debug-by-ethenet-port.html" title="EVC通过网口调试WinCE设备方法">EVC通过网口调试WinCE设备方法</a></li><li><a href="http://xinzero.com/enlarge-wince-physical-memory-size.html" title="扩大WinCE可用物理内存">扩大WinCE可用物理内存</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://xinzero.com/add-adoce-files-to-nkbin.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinCE下SQLCE开发初探</title>
		<link>http://xinzero.com/wince-sqlce-dev-start.html</link>
		<comments>http://xinzero.com/wince-sqlce-dev-start.html#comments</comments>
		<pubDate>Sun, 07 Dec 2008 04:47:23 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[adoce]]></category>
		<category><![CDATA[sqlce]]></category>
		<category><![CDATA[wince]]></category>

		<guid isPermaLink="false">http://xinzero.com/wince-sqlce-dev-start.html</guid>
		<description><![CDATA[WinCE下数据库开发可以选择两个自带的数据库，一个是EDB，另一个为SQLCE。EDB不支持SQL语句，操作几乎是靠调用API，感觉极不方便，所以没有选用。SQLCE支持简单的SQL语句，比较灵活。
SQLCE的链接MS推荐使用OLEDB，但是以前没有用过，所以没有采用这中方法，而使用了ADO方式。网上关于WinCE ADOCE的资料也比较多。主要是使用VOADO，而实际使用的时候发现并非那么好用。后来有找到了一个voado的示例程序，仿照示例搞定了。论坛需要注册才能下载，我将程序上传到了纳米盘，点击直接SqlCeExaple.rar下载。作者将voado做了修改，程序是在arm平台下的，实际x86下也可以使用。在硬件仿真条件下通过remote file viewer将文件上传到对应的目录就可以使用数据库了。如何将adoce集成到内核中，请看ADOCE打包到WinCE NK.bin镜像中。
SQLCE本身不支持top关键字，所以分页显示比较麻烦，我的解决办法是将数据全部读出来(数据记录不多)，然后通过程序控制该显示哪几条记录。上述的voado当记录为空的时候,ISEOF()函数并不能返回真，这样当没有记录的时候可能会进入死循环，为避免这种情况，读取记录之前可以先获取记录的条数，如果有记录则继续读取，没有则直接返回。
相关文章ADOCE打包到WinCE NK.bin镜像中如何制作U盘DOS启动盘EVC通过网口调试WinCE设备方法扩大WinCE可用物理内存]]></description>
			<content:encoded><![CDATA[<p>WinCE下数据库开发可以选择两个自带的数据库，一个是EDB，另一个为SQLCE。EDB不支持SQL语句，操作几乎是靠调用API，感觉极不方便，所以没有选用。SQLCE支持简单的SQL语句，比较灵活。</p>
<p>SQLCE的链接MS推荐使用OLEDB，但是以前没有用过，所以没有采用这中方法，而使用了ADO方式。网上关于WinCE ADOCE的资料也比较多。主要是使用<a title="voado" href="http://www.voscorp.com/products/developer/winmobile/voado/index.htm" target="_blank">VOADO</a>，而实际使用的时候发现并非那么好用。后来有找到了一个<a href="http://www.arm9bbs.com/thread-782-1-1.html" target="_blank">voado的示例程序</a>，仿照示例搞定了。论坛需要注册才能下载，我将程序上传到了纳米盘，点击直接<a href="http://www.namipan.com/d/30c30709b60f16c2e07ceac0fbe1ffd3e58b19d9888a0c00" target="_blank">SqlCeExaple.rar</a>下载。作者将voado做了修改，程序是在arm平台下的，实际x86下也可以使用。在硬件仿真条件下通过remote file viewer将文件上传到对应的目录就可以使用数据库了。如何将adoce集成到内核中，请看<a href="http://xinzero.com/add-adoce-files-to-nkbin.html">ADOCE打包到WinCE NK.bin镜像中</a>。</p>
<p>SQLCE本身不支持top关键字，所以分页显示比较麻烦，我的解决办法是将数据全部读出来(数据记录不多)，然后通过程序控制该显示哪几条记录。上述的voado当记录为空的时候,ISEOF()函数并不能返回真，这样当没有记录的时候可能会进入死循环，为避免这种情况，读取记录之前可以先获取记录的条数，如果有记录则继续读取，没有则直接返回。</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://xinzero.com/add-adoce-files-to-nkbin.html" title="ADOCE打包到WinCE NK.bin镜像中">ADOCE打包到WinCE NK.bin镜像中</a></li><li><a href="http://xinzero.com/create-dos-startup-u-disk.html" title="如何制作U盘DOS启动盘">如何制作U盘DOS启动盘</a></li><li><a href="http://xinzero.com/evc-debug-by-ethenet-port.html" title="EVC通过网口调试WinCE设备方法">EVC通过网口调试WinCE设备方法</a></li><li><a href="http://xinzero.com/enlarge-wince-physical-memory-size.html" title="扩大WinCE可用物理内存">扩大WinCE可用物理内存</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://xinzero.com/wince-sqlce-dev-start.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

