一、环境介绍
1.1 宿主机
Ubuntu 1404 32 位
1.2 嵌入式平台
ATMEL AT91SAM9X25
1.3 交叉工具链
arm-none-linux-gnueabi
二、交叉编译
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 "hi\n"
send "hello there!\n"
将上述代码在目标板子执行即可。效果是输入 hi 敲回车,标准输出会打印 hello there