TinyOS安装完成后使用TIOSSIM仿真的注意事项
一. 找不到Python.h
以Blink为例,进入app/Blink文件夹,输入
make micaz sim
编译后得到如图错误
有两种情况,一种是真的没有Python.h这个文件,一种是Python的版本不对,可以进入/usr/include/目录下的Python2.x文件夹里查找是否有Python.h这个文件。
对于第一种情况,输入
sudo apt-get install python-dev
第二种情况,打开tonyos文件夹下/support/make/的sim.extra文件,编辑PYTHON_VERSION一行为
PYTHON_VERSION ?= $(shell python2 --version 2>&1 | sed 's/Python 2\.\([0-9]\)\.[0-9]*/2.\1/')
之后,再进入Blink文件及编译就OK了。
提示:若通过终端命令安装的tinyos可把Blink移出在Home或其他文件夹编译。
二. Import Error
编译成功后,会出来TOSSIM.py等相关文件,但倒入TIOSSIM库时出现下面错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "TOSSIM.py", line 7, in <module>
import _TOSSIM
ImportError: ./_TOSSIMmodule.so: undefined symbol: __nesc_atomic_end
这是因为所在Ubuntu的gcc和g++编译器版本过高,可下载低版本的替换现有版本。
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
cd /usr/bin
sudo rm -r gcc
sudo ln -sf gcc-4.8 gcc
sudo rm -r g++
sudo ln -sf g++-4.8 g++
打开tinyos下的/support/make/extras/sim.extra
把
export GCC=gcc
GPP=g++
改为
export GCC=gcc-4.8
GPP=g++-4.8
OOOOOOOOOOOOOOPS,终于完成了