.Net Micro framework在开发过程中的bugs/problems及解决方案。
2009-06-17 18:22
381 查看
1.在开启了主板的DHCP功能之后,由于主板每次重启之后,都会需要一定的时间获取一个IP地址,这个需要一定的时间。而在Visual Studio中debug的时候attach到电路板上面的时候,会reset一下来连接上tinyCLR的debug engine。连接和重试的时间,会小于主板获取IP地址的时间,这个时候,就会出现attach不上主板的现象。解决
这个问题的方法可以是:
打开注册表,在USER/SOFTWARE/MICOSOFT下面,添加.NETMICROFRAMEWORK/NONVERSIONSPECIFIC/TIMMING/ANYDEVICE,在下面添加三个Type为REG_DWORD类型的键:
[align=left]OVERRIDE—0[/align]
[align=left]RETRIES—21[/align]
[align=left]TIMEOUR—0X00030000[/align]
[align=left]SDFD[/align]
2.System.Ext.Uri uri = new System.Ext.Uri(remoteEndpoint); 在上面的这句代码中,用reflector打开,看到在parseUriString方法中,如果传入的remote Endpoint开头的http不是全部小写的话,就会解析错误:
这个相当的搓,当初被折磨毁了。。 3.GUID的问题
对于GUID的newGuid方法,在主板上面维护一个next的static变量,算法我没仔细看,这样就造成了每次重启板子的第N个GUID和重启之前的第N个GUID是一样的。。
解决这个问题,可以自己写个随机算法来生成GUID。
4.在使用GPRS的时候,不能使用MF library中的DNS解析来得到hostname对应的IP地址,解决这个问题的方法,可以得到了DNS的ip地址之后,建立一个Socket连接,直接查询hostname对应的ip地址。
5.有的时候很诡异,会在Main方法执行之前,调用另外别的模块的static类型的单态构造函数。Clean一下sloution就好了。
6.还有一个非常恶劣的问题,在方法调用的时候,如果使用了Float类型的参数,改参数在使用了float的tostring()方法之后,譬如2.3,就会变成2.2999999998或者是2.300000004类似这样的,解决的方法,是自己手写一个方法来把float转换成为string。加一些判断。
7.另外,ms使用GHI的主板,在加载了GHI的sdk之后,decimal是用不了的。在碰到定义decimal的地方直接crash。(我没碰到过..)
8.在使用GHI的EM的时候,Ethernet每次reset之后没有网线却还是保留着上次分配的一个IP地址。这个在使用的时候可以手工判断下,然后选取要使用的网卡,或者是从设计上面避免这个问题。
另外的一些,下次想到了之后加上来。这些都是我碰到的,解决过的问题,仅供参考。:)
这个问题的方法可以是:
打开注册表,在USER/SOFTWARE/MICOSOFT下面,添加.NETMICROFRAMEWORK/NONVERSIONSPECIFIC/TIMMING/ANYDEVICE,在下面添加三个Type为REG_DWORD类型的键:
[align=left]OVERRIDE—0[/align]
[align=left]RETRIES—21[/align]
[align=left]TIMEOUR—0X00030000[/align]
[align=left]SDFD[/align]
2.System.Ext.Uri uri = new System.Ext.Uri(remoteEndpoint); 在上面的这句代码中,用reflector打开,看到在parseUriString方法中,如果传入的remote Endpoint开头的http不是全部小写的话,就会解析错误:
这个相当的搓,当初被折磨毁了。。 3.GUID的问题
对于GUID的newGuid方法,在主板上面维护一个next的static变量,算法我没仔细看,这样就造成了每次重启板子的第N个GUID和重启之前的第N个GUID是一样的。。
解决这个问题,可以自己写个随机算法来生成GUID。
4.在使用GPRS的时候,不能使用MF library中的DNS解析来得到hostname对应的IP地址,解决这个问题的方法,可以得到了DNS的ip地址之后,建立一个Socket连接,直接查询hostname对应的ip地址。
5.有的时候很诡异,会在Main方法执行之前,调用另外别的模块的static类型的单态构造函数。Clean一下sloution就好了。
6.还有一个非常恶劣的问题,在方法调用的时候,如果使用了Float类型的参数,改参数在使用了float的tostring()方法之后,譬如2.3,就会变成2.2999999998或者是2.300000004类似这样的,解决的方法,是自己手写一个方法来把float转换成为string。加一些判断。
7.另外,ms使用GHI的主板,在加载了GHI的sdk之后,decimal是用不了的。在碰到定义decimal的地方直接crash。(我没碰到过..)
8.在使用GHI的EM的时候,Ethernet每次reset之后没有网线却还是保留着上次分配的一个IP地址。这个在使用的时候可以手工判断下,然后选取要使用的网卡,或者是从设计上面避免这个问题。
另外的一些,下次想到了之后加上来。这些都是我碰到的,解决过的问题,仅供参考。:)
相关文章推荐
- .Net Micro framework在开发过程中的bugs/problems及解决方案。
- 我的嵌入式开发之路(.Net Micro Framework)
- 开源System.Windows.Forms库,让.Net Micro Framework界面开发和上位机一样简单
- 【.Net Micro Framework PortingKit(补) – 1】USB驱动开发 推荐
- 用VB.net开发.NET Micro Framework
- 【.Net Micro Framework PortingKit – 13】LCD驱动开发
- 使用Net Micro Framework加速无线传感器网络开发
- .Net Micro Framework 嵌入式开发
- 【.Net Micro Framework PortingKit – 12】SysTick驱动开发
- 【.Net Micro Framework PortingKit – 13】LCD驱动开发
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->新增记录SQL执行过程
- [待解决问题] 支持 net micro framework开发的开发板?
- 【.Net Micro Framework PortingKit – 11】NandFlash驱动开发
- Microsoft .NET Micro Framework移植开发笔记1
- 开源System.Windows.Forms库,让.Net Micro Framework界面开发和上位机一样简单
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->新增记录SQL执行过程
- 【.Net Micro Framework PortingKit – 11】NandFlash驱动开发
- 微软 .Net Micro Framework 相关开发资源链接汇总
- .Net Micro Framework 开发实用宝典自序
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->新增记录SQL执行过程