摘要:
我们在项目中更换了DRAM,所以需要重新配置S3C6410的DRAM控制器,结果发现S3C6410中的DRAM控制器还是挺复杂的。S3C6410支持两个DRAM片选,可以分别接最大256MB的内存,该处理器用的DRAM控制器是来自ARM的PrimeCell Dynamic Memory Controller(PL340)。只看S3C6410的Datasheet中的DRAM部分介绍是不够的,你还需要看PL340的技术参考文档,这个文档网上搜索一下就有了。想完全了解6410的DRAM控制器,必须两篇文档都看。我都看了,虽然没完全了解,但是比看6410的datasheet要强多了。我用的是mobil 阅读全文
摘要:
在WinCE的环境下大家都使用过STL,单不知道大家有没有发现,这里有个致命的问题。如果容器的数据量比较大,会导致无法释放内存资源。不信?我们来看一下下面这个测试代码:[cpp] view plaincopy{std::map<DWORD,DWORD>mpTmp;//..........................(1)for(inti=0;i<1024*100;i++){mpTmp.insert(std::make_pair(i,i));}mpTmp.clear();//............................(2)}//................ 阅读全文
摘要:
自从在blog上公布了CMedia的完全源代码后,就陆续接到不少邮件和提问,无非是询问CMedia能播放什么样的格式;或是破口大骂,将CMedia损得一无是处,因为该类什么视频文件都无法播放;当然也有好的,对CMedia赞不绝口,称其为万能的播放类。 为什么同样的源代码,却能得到如此截然不同的评论呢?有感于此,我觉得应该写一写这其中的奥秘了。 如果你是DirectShow的高手,那么你可以不必再往下看了,因为之后的内容没有足以让你深究的价值,仅仅是给初学者的扫盲而已--并且还是尽可能地简洁。 我们首先要知道,我blog上的CMedia其实只是对DirectShow在文件播放方面的一个封装而已. 阅读全文
摘要:
用过IPhone的人应该都记得,IPhone界面切换时有个很有意思的效果:当前窗口从左边移出,显示窗口从右边进入。这个比WinCE原生的一闪然后方框出现的形态更富有想象力。 那么,我们能不能在WinCE上模拟出IPhone的这种效果呢?答案当然可以--否则也不会有此篇文章了。:) 效果的原理不是很复杂,但涉及到一些基础的知识,如果你是WinCE新手,可能理解起来有点吃力。不过没关系,让我们一点点来吧! 在WinCE里面,任何我们需要绘制的图像,最终还是要归结于HDC。HDC是WinCE的设备句柄,我们简单点认为,它就是一个显示的区域,你往里面写 了什么,那么它在屏幕上就会显示相应的内容。它的. 阅读全文
摘要:
WinCE的设备,估计会和SD卡打交道的应该不在少数。特别是一些软件,比如导航地图之类,加密数据用的就是SD卡的序列号。不过,严格来说,在 WinCE下面并没有专门针对于SD卡序列号的获取函数,而是针对Storage的。只不过SD卡也是Storage的一种,所以自然也能够被获取。 SD卡序列号的获取,是需要通过驱动的的。这么一说的话,熟悉的朋友可能就明白流程了:首先调用CreateFile打开驱动,接着使用DeviceIoControl来获取序列号,最后则是调用CloseHandle进行关闭。 一步一步来,先看看CreateFile的调用,如:[cpp] view plaincopyHANDL 阅读全文
摘要:
Wzctool是WinCE一个比较小巧实用的无线Wifi配置小工具,借助命令行调用该程序能够非常简单地设置wifi的相应参数,能够在一定程度上避免书写代码的繁琐之举。 这个工具是在编译系统的时候,添加Wifi组件后自动生成的。如果用户直接进到Platform Builder的..\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\NETSAMP\WZCTOOL文件夹中直接输入 “build –C”得到的只是一个lib库而已。按理说,WinCE底下还应该做了某些东西令其生成exe文件的,但这里并不详细讨论了。 还是来看看wzctool的如何使用吧。将编译好的wzctool.. 阅读全文