一、环境介绍
1.1 宿主机
Ubuntu 1404 32 位
1.2 嵌入式平台
ATMEL AT91SAM9X25
1.3 交叉工具链
arm-none-linux-gnueabi
TCL 与 Expect 源码下载地址
二、交叉编译
2.1 编译 TCL
tar xvf tcl8.6.4-src.tar.gz
cd tcl8.6.4/
cd unix/
export tcl_cv_type_64bit="long long"
export ac_cv_c_bigendian=no
export tcl_cv_strtod_buggy=1
export ac_cv_func_strstr=yes
export ac_cv_func_opendir=yes
./configure --prefix=$PWD/tmp --host=arm-none-linux-gnueabi --build=i686-linux
make V=s
make install
2.1 编译 Expect
tar xvf expect5.45.3.tar.gz
cd expect5.45.3/
./configure --prefix=$PWD/tmp --with-tcl=/home/gino/work/jiaxian/9X25/transplant/expect/tcl8.6.4/unix/tmp/lib --with-tclinclude=/home/gino/work/jiaxian/9X25/transplant/expect/tcl8.6.4/unix/tmp/include
make CC=arm-none-linux-gnueabi-gcc
执行完上述的步骤后,需要将 TCL 安装目录下的 lib 的所有文件拷贝到目标板的 /lib 目录下 ,Expect 编译出来的 可执行文件 expect和库文件libexpect5.45.3.so 分别拷贝到目录板的 /bin 和 /lib
三、使用测试
3.1 测试源码
test.exp
expect "hin"
send "hello there!n"
将上述代码在目标板子执行即可。效果是输入 hi 敲回车,标准输出会打印 hello there
四、补充说明
4.1 在目标板执行发现少了一个 libz.so.1 的库,该库需要交叉编译 zlib-1.2.11 而来。
百检网秉承“客户至上,服务为先,精诚合作,以人为本”的经营理念,始终站在用户的角度解决问题,为客户提供“一站购物式”的新奇检测体验,打开网站,像挑选商品一样简单,方便。打破行业信息壁垒,建构消费和检测机构之间高效的沟通平台