嵌入式爱好者

查看: 9790|回复: 7

TE6410+WINCE技巧贴(去进度条驱动LED开机画面等),欢迎跟帖!

[复制链接]

69

主题

184

帖子

338

积分

RK3568通行证

扫一扫,手机访问本帖
发表于 2012-5-23 10:19:26 | 显示全部楼层 |阅读模式
本帖最后由 feiyangqingyun 于 2012-5-23 10:32 编辑

在学习TE6410+WINCE过程中,总是难免会遇到很多的问题,需要不断的解决,下面是几个常见的问题,发现版主们非常忙,

很多人问过之后都没有及时回答,呵呵!希望大家有类似的技巧跟帖发布!

1:去除开机启动进度条
有位大哥费劲了吃奶的劲,从main函数入手,一步步分析启动过程,终于找到进度条的代码,居然把进度条放在了电源管理的代码中,确实有点坑爹!
原帖地址:http://bbs.witech.com.cn/viewthr ... A%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 在
[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
后面添加
"Launch80"="HelloWorld.exe"
"Depend80"=hex:1e,00(这里1e前面没有空格)

其他:以上操作,即可在系统启动后 ,不启动 wince 桌面而直接
运行应用程序的话。需要修改
she[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
修改为:
[HKEY_LOCAL_MACHINE\init]
"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文件重新烧写进去(和原来的几个文件一起)
回复

使用道具 举报

69

主题

184

帖子

338

积分

RK3568通行证

 楼主| 发表于 2012-5-23 10:39:02 | 显示全部楼层
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下面编译,很多修改过的操作系统不能正常编译!建议换个纯净版的操作系统即可!
回复 支持 反对

使用道具 举报

69

主题

184

帖子

338

积分

RK3568通行证

 楼主| 发表于 2012-5-23 10:40:39 | 显示全部楼层
4:LED灯控制

帖子地址http://bbs.witech.com.cn/thread-13732-1-1.html,很详细,附带文件下载,C#编写
回复 支持 反对

使用道具 举报

0

主题

7131

帖子

0

积分

发表于 2012-5-25 09:03:05 | 显示全部楼层
:handshake
回复 支持 反对

使用道具 举报

69

主题

184

帖子

338

积分

RK3568通行证

 楼主| 发表于 2012-5-25 17:26:27 | 显示全部楼层
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()实现注掉。
回复 支持 反对

使用道具 举报

天津兰力科 该用户已被删除
发表于 2012-5-28 16:44:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

69

主题

184

帖子

338

积分

RK3568通行证

 楼主| 发表于 2012-6-8 10:24:01 | 显示全部楼层
回复 6# 天津兰力科


    兄弟,呵呵!
回复 支持 反对

使用道具 举报

bxl131 该用户已被删除
发表于 2012-6-29 08:31:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-24 19:38

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表