Do everything if needed

Only to note everything I meet.

08 2011 档案

关于GPS使用上的一个怪异问题
摘要:我的系统GPS最低层提供的端口是COM5,GPS Provider提供的端口是COM6。这几天发一个问题:当开着某一个程序反复待机,就会出现死机。最后定位到是该程序启动了GPS引起的,它打开的COM5,如果使用COM6则没有问题。虽然死机问题已经解决,然不大清楚到底是什么原因引起的。不知其它人有没有遇到过类似的情况? 阅读全文

posted @ 2011-08-28 20:58 microsun 阅读(305) 评论(1) 推荐(0)

CE不能开机的可能情况
摘要:一般来说CE的BOOT问题可以从如下方面入手:1,如果能调到调到调试串口的初始化函数,说明内存的配置是正确的(可以在该函数中写个死循环来验证),当然也能说明一个最基本的问题,kernel的入口 startup的实现是对的,nk.exe的加载地址也是对的。2,如果OEMInit函数能调到,基本的初始化也能调到,一般来说sp=fffffc(具体数记不到了)都能调到。3,初次做WINCE,ADS用的又比较熟的人需要注意一个问题:WINCE成功启动以后会不停的产生软中断,所以不时进入SWI是正确的,千万不要认为有问题。4,sp地址能正确打印但仍不能启动时,需要查一下RAM与NK是否有重合。5,gwes 阅读全文

posted @ 2011-08-10 07:20 microsun 阅读(608) 评论(1) 推荐(0)

直接编辑DLL文件,去掉某个链接函数
摘要:近日,在做一款产品时,因为对开机速度的要求很高,我们将系统剪裁到最小,只剩下kernel,filesys,device和需要的驱动等。但我们使用的一个DLL链接了PostMessage,这个函数应该在GWES存在时才会有。所以该DLL不能被加载。因为该DLL是第三方提供的,没有源码,我们无法去掉对PostMessage的调用。厂家也不愿意修改。所以尝试直接编辑DLL。 首先,用IDA分析,找到使用PostMessage(编号865)的内存位置。但这段内存在IDA中不可读取,更别说编辑了。所以用uledit打开该DLL文件。找到对应的地址后,发现DLL用一段内存在存放import,整个impo. 阅读全文

posted @ 2011-08-10 07:07 microsun 阅读(2802) 评论(0) 推荐(0)

CAB包的自动化编译及注意事项
摘要:因之前的自动编译脚本不能实现CAB包的编译,所以系统中使用的CAB包都是工程师自己编译好再上传的。最终系统中使用不是自动编译过程生成的CAB包,CAB包的质量及正确性无法保证,主要是源代码,因CAB包不参加编译,发生过不至一次源代码与CAB包不一致,甚至源代码根本无法编译的情况。所以才痛下决心要将CAB包加入到自动代码编译过程中。以下是遇到的一些问题及注意事项。 1, 生成CAB包的工具以WINCE Cab manger最好用,但它不支持命令行模式。我这里采用WINCE自带的工具cabwizz。在public目录下搜索即可找到。它包含一个EXE和一个DDF文件。cabwizz的使用方法比较简. 阅读全文

posted @ 2011-08-01 21:28 microsun 阅读(1599) 评论(0) 推荐(0)

导航