TE6410+WINCE技巧贴(去进度条驱动LED开机画面等),欢迎跟帖!
本帖最后由 feiyangqingyun 于 2012-5-23 10:32 编辑在学习TE6410+WINCE过程中,总是难免会遇到很多的问题,需要不断的解决,下面是几个常见的问题,发现版主们非常忙,
很多人问过之后都没有及时回答,呵呵!希望大家有类似的技巧跟帖发布!
1:去除开机启动进度条
有位大哥费劲了吃奶的劲,从main函数入手,一步步分析启动过程,终于找到进度条的代码,居然把进度条放在了电源管理的代码中,确实有点坑爹!
原帖地址:http://bbs.witech.com.cn/viewthread.php?tid=11240&highlight=%BF%AA%BB%FA%C6%F4%B6%AF
解决办法:
找到BSP目录,在WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\POWERCONTROL\power_control.c里面的PWC_Init(DWORD dwContext)里面,注释掉barStart();即可,下次需要的时候去除注释即可,然后rebuild,然后make run-time image,将NK.bin文件重新烧写进去(和原来的几个文件一起)
2:开机启动程序(多文件)
单个EXE开机启动:
第一步:准备好需要自动运行的程序: HelloWorld.exe
第二步:将应用程序 “ HelloWorld.exe ” 拷贝到该路径下:\WINCE600\OSDesigns\S3C6410_DEMO\S3C6410_DEMO\RelDir\Samsung_SMDK6410_Release
第三步:新建一个名为 HelloWorld.txt 的文件,里面填入以下内容:10#\Windows\HelloWorld.exe
之后将该文件重命名为: HelloWorld.lnk
第四步:修改 project.bib 文件,在 FILE 下添加
HelloWorld .exe $(_FLATRELEASEDIR)\ HelloWorld .exe NK H
HelloWorld .lnk $(_FLATRELEASEDIR)\ HelloWorld .lnk NK H
修改 project.dat 文件里添加
Directory("\Windows\Startup"):-File("HelloWorld.lnk","\Windows\HelloWorld.
lnk")
第五步:修改 project.dat 文件里添加
Directory("\Windows\Startup"):-File("HelloWorld.lnk","\Windows\HelloWorld.
lnk")
第六步:修改 shell.reg 在
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
后面添加
"Launch80"="HelloWorld.exe"
"Depend80"=hex:1e,00(这里1e前面没有空格)
其他:以上操作,即可在系统启动后 ,不启动 wince 桌面而直接
运行应用程序的话。需要修改
she
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
修改为:
"Launch80"="HelloWorld.exe"
"Depend50"=hex:14,00, 1e,00
在开发板用户手册中,已经有详细的解决办法,但是例子只是说了一个EXE的情况,当有其他附带文件例如DLL或者多个EXE呢
怎么办?可以依葫芦画瓢,在project.bib中依次再添加其他文件,然后将其他文件一块拷贝至EXE主程序所在目录,例如我
这里主程序myRanisServer.exe,需要myRanis.dll和两个XML文件才能运行,则修改如下:
myRanisServer.exe $(_FLATRELEASEDIR)\myRanisServer.exe NK H
myRanisServer.lnk $(_FLATRELEASEDIR)\myRanisServer.lnk NK H
myRanis.dll $(_FLATRELEASEDIR)\myRanis.dll NK H
Gateway.xml $(_FLATRELEASEDIR)\Gateway.xml NK H
TermDevice.xml $(_FLATRELEASEDIR)\TermDevice.xml NK H
再make run-time image,将NK.bin文件重新烧写进去(和原来的几个文件一起) 3:编译BSP包出错,错误kitl.c
出错,提示:
错误 19 error C2099: initializer is not a constant C:\WINCE600\PLATFORM\SMDK6410
\SRC\KITL\.\kitl.c 34
错误 18 error C2065: 'OAL_ETHDRV_DM9000A' : undeclared identifier C:\WINCE600
\PLATFORM\SMDK6410\SRC\KITL\.\kitl.c 34
错误 20 BLDDEMO: There were errors building S3C6410_DEMO
解决办法:
在纯净版XP下面编译,不要在Ghost XP下面编译,很多修改过的操作系统不能正常编译!建议换个纯净版的操作系统即可! 4:LED灯控制
帖子地址http://bbs.witech.com.cn/thread-13732-1-1.html,很详细,附带文件下载,C#编写 :handshake 5:wince6 com0改成普通串口方法参考:
原帖地址:http://bbs.witech.com.cn/thread-3159-1-1.html
1.smdk6410.bat里
set BSP_NOUART0=1将这句的值去掉
set BSP_DEBUGPORT=SERIAL_UART0将这句屏蔽掉
2.OAL下debug.c
把判断debug_port的分支和条件都注掉,只留一个想改为调试口的分支的实现部分。
3.smdk6410_serial.cpp
SetDTR()实现注掉。 回复 6# 天津兰力科
兄弟,呵呵!
页:
[1]