skyeye是国内一个比较有名的嵌入式平台的模拟软件,此次使用skyeye的缘由是学习Linux的须要,想在skyeye平台上将linux-2.6.28跑起来,整个过程比较繁琐,成功来之不易,因此一步一步地记录下来(PC环境为ubuntu10.04)。linux
1.从skyeye官方网站下载稳定版本的skyeye,本次使用的是skyeye-1-3-1_rc1极其附属包skyeye-testsuite-1-3-1shell
2.在进行配置前,确保已经安装好了PC版的g++编译器、xpm-dev支持库和ncurses5支持库,可运行如下命令安装:ubuntu
#sudo apt-get install g++ #sudo apt-get install libxpm-dev #sudo apt-get install libncurses5-dev
3.输入如下命令配置和编译:bash
#./configure #make lib (此处时间较长) #make
若在编译过程当中出现:ide
utils/uart_console/uart_console.c:57: 错误:expected identifier or ‘(’ before numeric constan 只需注释掉uart_console.c的58到63行便可。工具
//const uint32_t POLLRDNORM = 0x040; //const uint32_t POLLRDBAND = 0x080; //const uint32_t POLLPRI = 0x002; //const uint32_t POLLOUT = 0x004; //const uint32_t POLLWRNORM = 0x100; //const uint32_t POLLWRBAND = 0x200
#sudo make install (须要root权限,由于skyeye默认被安装在录目录/opt下)学习
#sudo make install_lib测试
此时查看/opt/skyeye/bin目录下,有如下几个程序:网站
mknandflashdump : 用来制做nandflash镜像文件的工具ui
uart_instance : 被skyeye调用的应用程序,功能为经过一个xterm终端来显示串口的输出,后面还会提到这个工具
skyeye : skyeye基于命令程序
4.在/opt/skyeye/testsuite目录下的arm_hello子目录中,输入如下命令:
#skyeye -e arm_hello
若是遇到找不到libbfd-2.18.50.20070907.so的问题,须要将skyeye-1-3-1_rc1/.libs/libbfd-2.18.50.20070907.so拷贝到/opt/skyeye/lib/skyeye,有时实际上是没有执行sudo make install_lib而形成的。
而后输入start开启硬件平台,此时能够看到uart_instance串口已经弹出,继续在命令行下输入run,此次uart_instance窗口反复出现helloworld字样,表明skyeye安装成功。
为了方便,将/opt/skyeye/bin路径导入到PATH环境变量中(修改~/.bashrc文件).
5.获得kyeye-testsuite-1-3-1压缩包解压后,进入kyeye-testsuite-1-3-1/linux/s3c2410/s3c2410x-2.6.14/目录,
执行如下命令:#skyeye -e vmlinux
进行测试(进入skyeye后,须要使用start,run命令)
这是可能会发现没有uart_instance窗口而没法进入linux的控制台,为了解决这个问题须要修改s3c2410x-2.6.14目录下
的skyeye.conf文件,将:
uart:mod=stdio 修改成:
uart:mod=term
便可。