红联Linux门户
Linux帮助

skyeye1.2.6在ubuntu12.04编译安装

发布时间:2016-02-29 15:48:26来源:linux网站作者:程序猿_广鸿

之前无意中在动手写嵌入式操作系统中发现了skyeye这样一个指令模拟器,那时候就有耍了一下。对它的原理挺感兴趣的,最近又在找工作,闲着的时候就又把它编译了一下,发现它在网卡配置上有点小bug,搞了我挺久的,最后还是解决了,不过这东西mips上面支持不多,看能不能在搞懂这个东西之后对mips加点支持,比如说支持ar9331,MT7688这类soc,哈哈,其实纯粹扯淡,还是要技术过硬,最近面试基础题好多都忘了,惭愧惭愧,找点东西练练手才行。


回归主题,skyeye1.2.6在ubuntu12.04编译安装,首先就要安装一系列的依赖包。

sudo apt-get install libgtk2.0-dev pkg-config libatk1.0-dev libpango1.0-dev  

sudo apt-get install libfreetype6-dev libglib2.0-dev libx11-dev binutils-dev 


之后就是修改源码了,首先是网上比较普遍的open函数参数个数的问题,文件在device\nandflash目录下面的nandflash_smallblock.c文件出现问题的代码在519行,给open的调用加上0777的参数如下所示

if ((nf->fdump= open(dev->dump, FILE_FLAG, 0777)) < 0) 


然后就是我说的网卡问题,在运行有网卡配置的测试用例时,一直出现内存出错的问题,dbg了一下,发现是在utils\config目录下的skyeye_options.c文件的do_net_option函数在返回时出现错误,找了挺久的原因,发现是因为sscanf函数在把数据格式化到相应的变量时出现的问题。

skyeye1.2.6在ubuntu12.04编译安装

把代码改成如图所示那样即可解决这个问题。


修改完代码就是编译安装阶段

./configure 
make 
sudo make install 


之后就可以愉快的耍测试用例了

开个linux试一下

sudo skyeye -e vmlinux 

skyeye1.2.6在ubuntu12.04编译安装

哈哈,就这些了。


本文永久更新地址:http://www.linuxdiyf.com/linux/18500.html