当前位置:首页 > 单片机 > 单片机
[导读]CS8900+s3c2410上网掉线的问题及其解决办法自我理解是,系统在运行网络的时候,经常会去使能网络中断,而造成网络复位了找到 E:\\WINCE420\\WINCE420\\PLATFORM\\SMDK2410\\KERNEL\\HAL\\cfw.c找到 BOOL OEMInterruptEnable()

CS8900+s3c2410上网掉线的问题及其解决办法

自我理解是,系统在运行网络的时候,经常会去使能网络中断,而造成网络复位了

找到 E:WINCE420WINCE420PLATFORMSMDK2410KERNELHALcfw.c
找到 BOOL OEMInterruptEnable() 函数 里 case SYSINTR_ETHER:

使网卡的初始化只出现一次,因为每次初始化以后,连接就会断掉

加一个全局变量 Inited == FALSE


case SYSINTR_ETHER: // Ethernet on EINT9.

if(Inited == FALSE) // edit by andy

{
s2410IOP->rEINTPEND = 0x200;
s2410INT->rSRCPND = BIT_EINT8_23; // by shim
if (s2410INT->rINTPND & BIT_EINT8_23)
s2410INT->rINTPND = BIT_EINT8_23;
Inited = TRUE;
}
s2410IOP->rEINTMASK &= ~0x200;
s2410INT->rINTMSK &= ~BIT_EINT8_23;
break;


http://hi.baidu.com/fei_chen/blog/item/c961e933ff04d342ac4b5f3c.html


WINCE下s3c2410+cs8900 板子的网络问题解决

WINCE下网络PING通一会就断,解决方法
根本原因 在于 中断处理服务中,把已经产生的 中断 标志 给 清除掉了!
这样就丢失一次中断。因为原驱动里配置中断为上升沿触发!一次中断丢失,就导致不会再产生中断信号跳变,因为,只有在中断服务中读取了cs8900的 Interrupt status queue寄存器后,才会产生下一次中断!(见cs8900 datasheet 的 14页 中关于 INTRQ的解释!
关于为什么 , 原驱动 会 把已经产生的 中断 标志 给 清除掉了! 你可以跟踪一下 cs8900驱动 中断服务中 开中断 关中断的过程! 解决cs8900+s3c2410+wince平台网络断线的问题! <解决办法: 找到 E:WINCE420WINCE420PLATFORMSMDK2410KERNELHALcfw.c
找到 BOOL OEMInterruptEnable() 函数 里 case SYSINTR_ETHER:
if(Inited == FALSE) s2410IOP->rEINTPEND = 0x200; s2410INT->rSRCPND = BIT_EINT8_23; // by shim
if (s2410INT->rINTPND & BIT_EINT8_23) s2410INT->rINTPND = BIT_EINT8_23; Inited = TRUE; s2410IOP->rEINTMASK &= ~0x200; s2410INT->rINTMSK &= ~BIT_EINT8_23; break;在 全局 定义: BOOL Inited = FALSE;这样改过后! 可能需要 全部重新编译, clean 后 再重新 build !! 再测试网络!就没有问题了!


转贴,测试正确

解决办法:
找到 E:WINCE420WINCE420PLATFORMSMDK2410KERNELHALcfw.c
找到 BOOL OEMInterruptEnable() 函数 里 case SYSINTR_ETHER:
if(Inited == FALSE)
{
s2410IOP->rEINTPEND = 0x200;
s2410INT->rSRCPND = BIT_EINT8_23; // by shim
if (s2410INT->rINTPND & BIT_EINT8_23)
s2410INT->rINTPND = BIT_EINT8_23;
Inited = TRUE;
}
s2410IOP->rEINTMASK &= ~0x200;
s2410INT->rINTMSK &= ~BIT_EINT8_23;
break;

在 全局 定义: BOOL Inited = FALSE;


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘 要:启动装载程序是嵌入式系统的重要组成部分。文章结合在ARM平台上广泛使用的U-Boot,详细讨论了Boot Loader开发中用到的主要技术,分析引导程序的执行流程,提出了WinCE和Linux在ARM平台下...

关键字: 启动装载程序 U-Boot 嵌入式系统 WinCE Linux

摘 要:火车货运在高速发展的同时,也带来了越来越多的不安全因素,货运物资被盗是铁路货运事故的主要原因之一。 基于此,设计和实现了基于ZigBee和WinCE技术的火车货运防盗预警系统,用于解决站停、待编、待卸和运行途中...

关键字: 火车货运 智能防盗 Zigbee WinCE PDA软件

电源大家都知道,为我们的社会的发展,贡献了很大的能量,现有的所有的电子产品都离不开电源,那么你知道电源管理吗?伴随着移动嵌入式产品的普及,电源管理已经成为重要技术指标和产品的有机组成。典型移动嵌入式设备对能耗越来越敏感,...

关键字: 电源管理 WinCE 有机组成

  引言   汽车的普及为人们的生活带来了方便,同时也给人们提出了一大难题——汽车防盗。本设计是为了解决以往汽车防盗产品的缺点和不足而开发的集成传感、报警和远程图

关键字: 数据采集 操作系统 s3c2410 汽车防盗系统

  引言   巡航控制系统(CCS)是20世纪60年代发展起来的,又称为恒速行驶系统。巡航控制系统工作时,ECU根据各种传感器输送来的信号判断汽车的运行状况,通过执行元件自动调节节气门的

关键字: ARM 三星 Linux ecu s3c2410 电子控制系统

  在过去一百年里(l906-2005),全球地表平均温度升高了0.74摄氏度,未来20年,每十年全球温度将会升高0.2摄氏度。气候变暖已成为不容忽视的、直接影响全球生产和生活问题。  

关键字: can总线 s3c2410

  在此设计的基于 GPRS 的远程安防监控系统,是采用的是摄像机传送视频信号经压缩编码后,通过内部总线传送到内置的 Web 服务器。用户在监控端可以直接通过浏览器观看 Web服务器上的摄像机视

关键字: GPRS s3c2410 安防监控

  车载操作系统(AutomoTIve OperaTIng System,简称AOS)是管理和控制车载硬件与车载软件资源的程序系统,是直接运行在AB上的最基本的系统软件,任何上层软件,HMI,数

关键字: iOS Linux WinCE
关闭
关闭