5098|22

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

郁闷,遇到串口打印信息的奇怪问题,请大家帮忙解答一下。谢谢! [复制链接]

这几天真是霉运当头。
打篮球伤到手指,发个串口帖子也是无人回答。自己解决加入串口打印信息也碰到了郁闷的事情。
刚开始,我只想把C:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SERIAL\COM_MDD2编译成debug版本,来打印信息的。
我采用了如下方法:
第一种:
将下面这句代码加入到驱动所在目录中的sources文件中即可:
CDEFINES=$(CDEFINES) -DDEBUG
第二种


#undef DEBUGMSG
#define DEBUGMSG(x,s) NKDbgPrintfW s

这样这个驱动文件里的所有调试信息都会打印出来,并且不理会DebugZone的设置。


没有想到照样没有输出信息,真是神了,而且串口编译出来确实可用的。并且以前第二种方法我在BSP的驱动下确实可行的。

后来我干脆重新建立工程,把整个NK都编译成debug,很多启动信息,但是就是没有C:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SERIAL\COM_MDD2的信息,真是气人啊。
后来发现这个DEBUGMSG和RETAILMSG都是使用NKDbgPrintfW 实现的,我直接使用NKDbgPrintfW 放在DLL入口也不行。
怎么回事啊,很是郁闷,大家来说说咋回事呢?


最新回复

学习了,顶一个.................  详情 回复 发表于 2010-3-3 13:28
点赞 关注

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
Public下的修改后要Sysgen吧。
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 gsymichael 的回复:
Public下的修改后要Sysgen吧。


我已经sysgen了。按照道理,我整个都build and sysgen了,就是不见好。真是太神奇了。我怀疑是哪里放了
#ifdef SHIP_BUILD
                This is a ship build
                Define DEBUGMSG and RETAILMSG so that they don’t do anything
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

4
 
那你可以把SHIP_BUILD关掉的。在Platform-〉Setting里面
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 gsymichael 的回复:
那你可以把SHIP_BUILD关掉的。在Platform-〉Setting里面


设置SHIP_BUILD这个环境变量为0就可以了?
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 2 楼 gooogleman 的回复:
引用 1 楼 gsymichael 的回复:
Public下的修改后要Sysgen吧。


我已经sysgen了。按照道理,我整个都build and sysgen了,就是不见好。真是太神奇了。我怀疑是哪里放了
#ifdef SHIP_BUILD
                This is a ship build
                Define DEBUGMSG and RETAILMSG so that they don’t do anything

把原文件夹debug中的obj全部删了再重新sysgen试试
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
我重新建立工程都不行,真是让我郁闷的不行。怎么会这么样的
我编译之前都有clean的
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

8
 
C:\WINCE500\build.log(1) : error SYSGEN0000: error(s) in sysgen phase

现在在sysgen阶段还出现这个错误。哎,看来我注定郁闷的。
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 7 楼 gooogleman 的回复:
C:\WINCE500\build.log(1) : error SYSGEN0000: error(s) in sysgen phase

现在在sysgen阶段还出现这个错误。哎,看来我注定郁闷的。

这个厉害了。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

10
 
没有人这样编译过吗?

那只能拿到BSP下试试了。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 4 楼 gooogleman 的回复:
引用 3 楼 gsymichael 的回复:
那你可以把SHIP_BUILD关掉的。在Platform-〉Setting里面


设置SHIP_BUILD这个环境变量为0就可以了?


我刚才把原来的工程删除了,留下个工程模板
并且在串口的MDD.c中加上
//------------add 2009-02-11-------
#define DEBUG 1

#include

#undef  DEBUGMSG
#define DEBUGMSG(x,s) NKDbgPrintfW s //还是这个牛B,编译的工程非常小。以后就这么干了。

然后以build and sysgen方式编译整个工程,没有想到这次居然出来了。
难道是这个设置SHIP_BUILD这个环境变量为0起了作用?
现在慢慢看着先了。

如果修改一点点public下的代码就要整个build and sysgen方式编译那太不厚道了吧。
等下试试,用驱动调试助手来调试,一定很有意思。

 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

12
 
第一个串口这个Active下的04是由什么决定的?
Try to open Drivers\Active\04

红外串口Active下的05是由什么决定的?
Try to open Drivers\Active\05

下面是他们的注册表

;=============== UART0 (physical COM1 connector P1) (Serial) ===============
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial]
   "DeviceArrayIndex"=dword:0
   "Irq"=dword:1c
   "MemBase"=dword:50000000
   "MemLen"=dword:2C
   "InterruptBitsShift"=dword:0 ; UART 0 Interrupt Sub Register shift bit.
   "ISTTimeouts"=dword:200        ; every 512 ticks checking Modem status.
   "Prefix"="COM"
   "Index"=dword:1
   "Dll"="serial_smdk2440.dll"
   "Order"=dword:0
   "Priority"=dword:0
   "Port"="COM1:"
   "DeviceType"=dword:0
   "FriendlyName"=LOC_DISPLAYNAME_COM1
   "Tsp"="unimodem.dll"
   "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
   "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00
ENDIF
ENDIF

IF BSP_NOIRDA !
; S2440 IrDA(UART2)
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\IRDA2440]
   "DeviceArrayIndex"=dword:1
   "Irq"=dword:f
   "MemBase"=dword:50008000
   "MemLen"=dword:2C
   "InterruptBitsShift"=dword:6 ; UART 2 Interrupt Sub Register shift bit.
   ;"ISTTimeouts"=dword:200        ; every 512 ticks checking Modem status.
   "Prefix"="COM"
   "Index"=dword:4
   "Dll"="serial_smdk2440.Dll"
   "Order"=dword:0
   "Priority"=dword:0
   "Port"="COM4:"
   "DeviceType"=dword:0  ; IRDA modem, 0 -> null modem
   "FriendlyName"=LOC_DISPLAYNAME_RAWIR
   "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
   "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00
ENDIF
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

13
 
04.05是不是设备序号
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 12 楼 wdw1600 的回复:
04.05是不是设备序号


明显不是,这个应该有个地方可以改动的。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

15
 
这个问题不难吧,我先Google一下先。
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

16
 
网上说由order决定
但是很多都是"Order"=dword:0的一样的,怎么决定,难道是注册表中前后位置就是这么决定了?
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

17
 
下面两个的order都一样,怎么办?

IF BSP_NOPWRBTN !
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PowerButton]
    "Dll"="PowerButton.dll"
    "Prefix"="PWR"
    "Order"=dword:0
    "FriendlyName"="Power Controller Driver"
    "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"   ; Power-manageable generic
ENDIF BSP_NOPWRBTN !


IF BSP_NOAUDIO !
; @CESYSGEN IF CE_MODULES_WAVEAPI
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Audio]
   "Prefix"="WAV"
   "Dll"="s3c2440a_wavedev.dll"
   "Index"=dword:1
   "Order"=dword:0
; @CESYSGEN ENDIF CE_MODULES_WAVEAPI
ENDIF BSP_NOAUDIO !
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

18
 
我们是安 溪 铁 观音产地种植户 自己的茶园,自产自卖的,在网上做产地的铁 观 音 茶 叶的终端销售,向您推荐我们源产地的高山无公害生 态 茶 叶,减去流通环节,减少店铺投资租金人员等开支降低价格,最大限度的保证铁 观 音 茶叶的原味性/正统性。

              我们:以品质求发展;
                    以信誉求生存;
                    以价格为优势;
                    以客户满意为标准;
                    共创互惠双赢;
                    斤斤是批发价【先品尝满意再付款】

有意订购请--联系     廖晓云

电  话;0595--23488500  
手  机;1395 9805 122   
Q   Q ;1030757015

产地直销,诚信为本,全国送货,货到先品尝再付款!

特别提示:顾客购买250克以上就可以邮寄到家!

   我们以传统工艺制作的铁观 音 茶叶,使用百年独特的烘焙方法,温火慢烘,湿风快速冷却,产品“醇、厚、甘、润”,条型肥壮紧结、色泽乌润、香气纯正、带兰花香味、清香或微酸浓香,汤色深金黄色、橙黄色或翠绿色,滋味特别醇厚甘滑,音韵显现,叶底带有余香,可经多次冲泡。茶性温和止渴生津,温胃健脾,是养生待友的好礼品!

冲泡方法:每次5-8克放进工夫茶杯(盖瓯),用沸水冲泡,30秒即可倒出茶水,不可久浸,可连续冲泡6-7次

温馨提示:泡茶时宜用山泉水,矿泉水或纯净水冲泡!茶具宜用陶瓷制品。因其它如塑料杯,玻璃杯等在生产过程中产生的气味会残留很长的时间,故陶瓷茶杯泡饮效果最佳。

交易方式:您只要告诉我们您所喜欢的口味、汤色、档次价位和包装要求等!!还有您的联系方式及邮寄接收地址和收货,我们将按您的要求寄出茶叶,您收到茶后品尝,满意后付款。

我们祝您:香茶结知音 新年快乐 万事如意!!!!
 
 
 

回复

99

帖子

0

TA的资源

一粒金砂(初级)

19
 
order一样的话取决于他在系统注册表中出现的顺序。换句话说就是RegEnumKeyEx拿到的顺序。public目录下的东西不要乱改。要改的话应该copy一份到你自己的BSP目录再改。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

20
 
引用 18 楼 singlerace 的回复:
order一样的话取决于他在系统注册表中出现的顺序。换句话说就是RegEnumKeyEx拿到的顺序。public目录下的东西不要乱改。要改的话应该copy一份到你自己的BSP目录再改。


噢噢,是啊,的确是,现在不能在下面改动了。

今天下班迟了点,篮球场被人占了。无精打采的走在路上,突然想起这个MDD中断的事情,无意间意识到这个MDD线程启动是靠PDD线程来带动的,其实这样已经获得了成功了。

只是我一直相信网上大家的文章介绍,陷入了 泥塘。其实这个PDD的线程已经完成调用MDD的功能。

哈哈,一切尽在掌握之中。明天写个博客吧。哈哈,今天尝试了驱动调试助手,真是爽呆了,以后不再下载内核了。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表