Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 将websocket移植到DevKit8000

开发平台:Ubuntu 12.04.1 LTS(32bit)开发板: DevKit8000使用库:libwebsockets (libwebsockets-1.0-chrome25-firefox17.tar.gz) (http://git.warmcat.com/cgi-bin/cgit/libwebsockets/)辅助库:zlib(source code ,version 1.2.7)( http://www.zlib.net/  )交叉编译器:arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2step1:开发环境搭建按照说明书上写的(DevKit8000 用户手册 P35)1)  交叉编译器的安装# tar xvjfarm-2007q3-51-arm-none-linux-gnueabi-i686.tar.bz2 -C /usr/local/2)  添加环境变量#export PATH=/usr/local/arm-2007q3/bin:$PATH 注: 用户可把它写入用户目录的.barsrc 文件中,那么系统启动的时候自动完成环境变量的添加,查看路径可以使用 echo $PATH 命令。 step2: 交叉编译zlib1)  #tar jvxf zlib-1.2.7.tar.bz22)  # cdzlib-1.2.7/3)  #./configure–shared  --prefix=/zlib的安装路径4)  #make LDSHARED="arm-none-linux-gnueabi-gcc -shared-Wl,-soname,libz.so.1" CC_FOR_BUILD="arm-none-linux-gnueabi-gcc"CC="arm-none-linux-gnueabi-gcc" LD="arm-none-linux-gnueabi-ld"CPP="arm-none-linux-gnueabi-g++ -E"AR="arm-none-linux-gnueabi-ar"CFLAGS="-fPIC"libz.so.1.2.7 libz.a5)  拷贝zconf.h zlib.h到/usr/local/arm-2007q3/arm-none-linux-gnueabi/include/6)  拷贝 libz.so*到/usr/local/arm-2007q3/arm-none-linux-gnueabi/lib/    注:/usr/local/arm-2007q3是交叉编译安装的路径 step3:交叉编译websocket1)  #tarjvxf libwebsockets.tar.bz22)  #cdlibwebsockets3)  修改程序 ./test-server/test-server.cL78 INSTALL_DATADIR"/favicon.ico"改成"favicon.ico"L86  INSTALL_DATADIR"/test.html"改成"test.html"4)  #./autogen.sh5)  #CC=arm-none-linux-gnueabi-gcc./configure--build=i686-pc-linux –host=arm-none-linux-gnueabi6)  #make7)  #cd  test-server/.libs8)  #filelibwebsockets-test-server,验证该文件是否为ARM的可执行文件如是的话,会提示: ELF 32-bit LSBexecutable, ARM, version 1 (SYSV), dynamicallylinked (uses shared libs), for GNU/Linux 2.6.14, not stripped。 step4:配置开发板1)  使用交叉网线将主机和开发板连接起来,并配置主机和开发板的ip地址,它们只需要同一网段即可。主机PC:#ifconfig eth0 192.168.1.100开发板:#ifconfig eth0 192.168.1.12)  将PC上的./lib/.libs/libwebsockets.so.1拷贝到开发板/lib中3)  将./test-server/.libs/libwebsockets-test-server和./test-server/test.html拷贝到开发板上,放在同一目录下,在开发板上运行#./libwebsockets-test-server4)  在PC上,打开支持HTML5的浏览器,http://192.168.1.1:7681