一、 前言:
C语言是一种面向过程的编程语言,他对比汇编语言具有结构清晰,移植方便,对比其他高级语言如C++,BASIC更适合用在针对硬件的编程。在嵌入编程开发过程中,一个很重要的方法就是采用宿主机向目标板移植程序的方法。以下介绍该方法在实现UPNP协议的一个应用例子。
二、 例子分析:
UPNP是国际上的一个关于网络家电的协议,是全球采用最广泛的网络家电协议。在美洲、日本都大量应用在普通家电上,但在国内,暂时还没用厂家采用。要实现UPNP协议应用在空调上,我们面临以下问题:
1. 我们自己也是第一次应用UPNP协议,对UPNP的了解也不是很深。
2. 对UPNP协议编程实现的例子,国内是没有现成的例子,可以说找不到任何可以借鉴的。
3. 在8位单片机上实现UPNP协议在国内包括国外都是前所未用的事情。
根据以上面临的问题,我们采用了在宿主机上编程实现后向目标板(美的网络模块)移植的方法来解决。
1.由于WINDOWS XP系统自带有UPNP协议,因此我们就采用装有WINDOWS XP操作系统的电脑作为UPNP协议中的设备和控制点。
2.用专门的TCP/IP抓包软件将WINDOWS XP运行UPNP协议时发出的数据包抓下来分析。
3.将分析后得到的数据包的格式,实现方法用C语言在计算机的开发软件C++Builder 上先实现,这样比起在8位单片机上可以大大减少调试,开发时间。
4.将在C++Builder上实现的C语言源程序移植到目标板(美的网络模块,8位机系统),由于都是采用C语言编程,移植过程也比较顺利。
采用以上方法,我们在半个月时间内就基本完成了样机的开发。开发过8位机系统的人都知道,用8位机调试是一件很麻烦的事,如果用于调试像TCP/IP这种复杂的协议,更是一个痛苦的事情。用了以上方法,大大缩短了编程开发时间,提高了效率。