当前时区 GMT+8, 现在时间是 2008-9-7 20:45
游客:
注册
登录
仅登录论坛
|
搜索
帮助
中国Linux公社论坛
»
Skyeye项目专栏
» 关于ucosii4skyeye-v1.8.4中usart.c
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: 关于ucosii4skyeye-v1.8.4中usart.c
yeahnix
新手上路
UID 47315
精华 0
积分 28
帖子 11
阅读权限 10
注册 2003-6-29
来自 China.gif
状态 离线
#1
发表于 2004-7-10 17:47
资料
短消息
加为好友
关于ucosii4skyeye-v1.8.4中usart.c
在ucosii4skyeye-v1.8.4的at91_usart.c中,
void at91_uart_get_char( char *ch )
{
unsigned long status;
long tmp;
start_rx( usarts[0], ch, 1 );
do
{
// must read 0xfffff100, status register to clear all flags !!!
这两行好象可以不用吧,我在skyeye0.6.8中测试,去掉是可以的,因为这个似乎是轮询方式,而不是中断吧。而且在中断的do_irq中读IVR时候由于是边沿触发中断,因该是自动清理了的。不太明白。在serial.c中好象是按中断方式处理的
_io_read( (long*)0xfffff100, &tmp );
_io_read( (long*)0xfffff108, &tmp );
status = usarts[0]->rcr;
}
while (status > 0);
}
chyyuu
公社版主
UID 37477
精华
23
积分 1949
帖子 727
阅读权限 225
注册 2003-5-15
来自 China.gif
状态 离线
#2
发表于 2004-7-26 23:18
资料
短消息
加为好友
我让liming和yangye帮忙回答一下,已经给他们发信了!
yeahnix
新手上路
UID 47315
精华 0
积分 28
帖子 11
阅读权限 10
注册 2003-6-29
来自 China.gif
状态 离线
#3
发表于 2004-7-27 21:42
资料
短消息
加为好友
谢谢版主,
另,在LWIP地移植中,ne2kif.c-->
struct RTL8019if {
struct eth_addr *ethaddr;
/* Add whatever per-interface state that is needed here. */
};
struct eth_addr {
PACK_STRUCT_FIELD(u8_t addr[6]);
} PACK_STRUCT_STRUCT;
void
ne2k_init(struct netif *netif)
{
struct RTL8019if *rtl8019if;
rtl8019if = mem_malloc(sizeof(struct RTL8019if));
//此处好像只分配了RTL8019if结构的指针
。。。。。
low_level_init(netif);
}
low_level_init(struct netif * netif)
。。。
//此处访问addr,好像addr并未分配,所以其值为0,从而覆盖了复位向量中断??
rtl8019if->ethaddr->addr[0] = mac_addr[0];
rtl8019if->ethaddr->addr[1] = mac_addr[1];
rtl8019if->ethaddr->addr[2] = mac_addr[2];
rtl8019if->ethaddr->addr[3] = mac_addr[3];
rtl8019if->ethaddr->addr[4] = mac_addr[4];
rtl8019if->ethaddr->addr[5] = mac_addr[5];
chyyuu
公社版主
UID 37477
精华
23
积分 1949
帖子 727
阅读权限 225
注册 2003-5-15
来自 China.gif
状态 离线
#4
发表于 2004-7-27 23:12
资料
短消息
加为好友
答复
李明的答复:
at91_usart.c 里面的代码当时是从 linux 的源码中 copy 出来的,
应该都是用轮询的方式读取和发送串口数据。
serial.c 的代码时间太长记不清楚了,好像是杨晔后来改为中断方式实现
的,
具体就需要看 at91 的 manual 了。
杨晔的答复:
Hi,li ming,
嗯,是的,有个简单的isr来收字符的。我也记不太清楚了。他说的应该是对的,不用做轮询了。不过这不是skyeye的核心代码,而且也没什么影响的。
他下面那个关于lwip驱动ne2k.c确实是一个bug,应该改过来。
-----------------
我们好久都没有看ucosii4skyeye了,谢谢你的贡献!
如果你有时间,是否可以帮忙修改一下?
如果你在ucosii-1.8.4山改好后,可以发给我(通过我的email),并告诉我你的名字等联系信息。
谢谢!
yeahnix
新手上路
UID 47315
精华 0
积分 28
帖子 11
阅读权限 10
注册 2003-6-29
来自 China.gif
状态 离线
#5
发表于 2004-7-31 13:18
资料
短消息
加为好友
谢谢版主,我上网不太方便,如果改好一定发过来
chyyuu
公社版主
UID 37477
精华
23
积分 1949
帖子 727
阅读权限 225
注册 2003-5-15
来自 China.gif
状态 离线
#6
发表于 2004-8-12 18:39
资料
短消息
加为好友
改好了吗? 热切盼望!
yeahnix
新手上路
UID 47315
精华 0
积分 28
帖子 11
阅读权限 10
注册 2003-6-29
来自 China.gif
状态 离线
#7
发表于 2004-8-12 22:17
资料
短消息
加为好友
已经发过去了,不知道你收到没有,只改了一点点,只有几行代码,本来想用中断方式改改usart的接受驱动,比较麻烦,而且,serial.c中已经有了例子,就没有做了
投票
交易
悬赏
活动
论坛跳转 ...
> 公告区
> 系统安装
> 硬件配置
> Magic Linux技术支持区
> Magic Linux开发培训版
> 中文化与桌面美化
> 桌面使用小技巧
> 命令行使用小技巧与SHELL编程
> 网络工具
> 办公软件
> 多媒体应用
> 游戏乐园
> 服务器与网络安全
> Linux资源共享区
> Debian/LFS/Gentoo专题版
> Linux高质量字体研究
> easyright计算机研究所
> Linux认证考试专题版
> 应用编程技术与项目孵化
> 网站开发技术与项目孵化
> 参与国际开源项目
> 翻译汉化
> 中文GNOME用户交流区
> Skyeye项目专栏
> lumit项目专栏
> eva项目专栏
> fanx项目专栏
> 连连看for Linux项目专栏
> OurLinux杂志专区
> BitStorm项目专栏
> AVS项目专栏
> VirgoFTP项目专栏
> EGui开源项目
> RT-Thread实时操作系统
> 内核源代码阅读交流
> 内核安装和升级
> 嵌入式开发
> 校园行动联盟
> Linux与公社文化杂谈
> 求职与招聘
> 公社接待中心
Powered by
Discuz!
5.5.0
© 2001-2007
Comsenz Inc.
TOP
清除 Cookies
-
联系我们
-
中国Linux公社
-
WAP