4880|10

92

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WINCE 5.0 on s3c2440: 谁在改动串口设置?我想用串口0作为调试口,在OEMInitDebugSerial对串口0的设置被谁修改了? [复制链接]

我在J:\WINCE500\PLATFORM\SMDK2440A\Src\Kernel\Oal\debug.c里修改OEMInitDebugSerial以使用串口0为调试口;
启动WINCE时输出下面信息(有些乱码),然后就看不到任何信息了。
我再用JTAG工具停住系统,查看串口0的寄存器,发现被改变了。
请问:
1. 要想使用串口0作为调试口,应该作何修改?
2. WINCE里,还有哪些代码要去初始化串口?




  Wi钿秣s CE Kernel for A彝 (Thumb Enabled) Bu殪?on Feb  8 2007 at 23:36:51
ProcessorT??0920  Revision=0
箴_abt=ffff5000 sp_轵?ffff2800 sp_undef=骀ffc800 OEMAddressT徕靍 = 8002d444
DCac桢: 8 sets, 64 ways, 32 line size, 16384 箝?
ICache: 8 sets, 64 ways, 32 line siz? 16384 size
羽=鎓ffc7cc
OEMIo蔑顃rol: Unsupported 蔑鋏 0x10100b4 - dev殂?0x0101 func 45
OEMIoCont蝻? Unsupported Code 0?01008c - device 0?101 func 35
吓MIoControl: Unsupp矧鬳d Code 0x10100d0 - 鋏vice 0x0101 func 52
OEMIoControl: Un篚痧orted Code 0x10100? - device 0x0101 f躅?62
INFO: CReg2440Uart::CReg2440Uar?鮯ing processor fr羼蹂ncy reported by t桢 螦L (50000000).

最新回复

我看这个函数OEMInitDebugSerial里面,是通过DEBUG_PORT来判断哪个是调试串口的。那么这个DEBUG_PORT在哪里呢? 我找了半天也没找到啊。。 我把其他的地方进行了交换啊之类的处理,debug.c 、init.c 和 注册表都修改了。但是还是不行。 我用的是idea6410.哪位能指导下啊? 感激不尽!!  详情 回复 发表于 2010-4-16 21:49
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
串口驱动就是流驱动,和文件操作类似。如果你是乱码出来看看超级终端的设置对不对。不像是串口的问题
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
在OAL下的debug.c里面修改成uart0即可。很简单。

你的打印有点奇怪,波特率设置要注意。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
應是你的 UART0 的 Device Driver 起來後修改的, 請將 Platform.reg 中有關 UART0 的設定先移除後重新 sysgen-buildrel-makeimg 即可.

Paul, Chao @ Techware
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

5
 
最前面的语句是bootloader打印的,bootloader里面的也要修改。至于串口寄存器被修改,那就搜索一下BSP了。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
要改两个地方,
一个是debug.c, 初始分,配置串口0为调试口
一个是platform.reg 去除串口0
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

7
 
顶楼上。
Oal中debug.c会对串口0初始化,串口驱动被加载后也会对串口0初始化,而且波特率之类的设置可能是不一样的。
所以你要把串口0当成调试串口,就应该在注册表里面除去对串口0的流驱动加载!
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

8
 
学习!
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

9
 
被串口驱动改了,在platform.reg里屏蔽掉UART0的相关信息,重做内核
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

10
 
如果不屏蔽串口驱动,好像也可以改一下波特率的初始值也可以
在WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SERIAL\COM_MDD2\mdd.c的COM_OPEN函数中,默认的应该是9600
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

11
 
我看这个函数OEMInitDebugSerial里面,是通过DEBUG_PORT来判断哪个是调试串口的。那么这个DEBUG_PORT在哪里呢? 我找了半天也没找到啊。。

我把其他的地方进行了交换啊之类的处理,debug.c 、init.c 和 注册表都修改了。但是还是不行。
我用的是idea6410.哪位能指导下啊?
感激不尽!!
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表