主题 : 虚拟实验室RTEMS开发环境的配置(mini2440+qemu+Windows) 复制链接 | 浏览器收藏 | 打印
星星之火,可以燎原
级别: 骑士
UID: 42844
精华: 2
发帖: 140
金钱: 805 两
威望: 161 点
贡献值: 2 点
综合积分: 320 分
注册时间: 2011-04-11
最后登录: 2016-05-23
楼主  发表于: 2012-03-29 20:33

 虚拟实验室RTEMS开发环境的配置(mini2440+qemu+Windows)

转载至 http://blog.csdn.net/rickleaf/article/details/6443524

1、开发工具下载
请安装msysgit http://code.google.com/p/msysgit/

请下载点击下载 emboslab RTEMS 开发工具包

解压以后有如下一些文件



2、安装MinGW系列工具
依次安装如下几个文件:

MinGW-5.1.4.exe

为了能够顺利编译SDL给QEMU用,需要选择g++组件

MSYS-1.0.10.exe

有个提示,敲入MinGW的安装目录,回车



msysDTK-1.0.1.exe



修改c:/msys/1.0/etc/fstab为如下内容




    c:/MinGW  /mingw  
    c:/opt  /opt  
    c:/opt/rtems-4.9  /opt/rtems-4.9



在c:/msys/1.0/etc/profile添加如下内容


export PATH=/opt/rtems-4.9/bin:$PATH  

3、安装RTEMS编译器
运行cmd命令行窗口(如果是windows 7请用管理员方式运行)

执行

C:/msys/1.0/msys.bat



start rtems4.9-tools-5.exe  (注意rtems4.9字符串开头的几个可执行文件要放在同一个目录中)

选择 autoconf 和 arm





因为要编译autoconf,所以可能需要比较长的时间,请耐心等待

4、下载eMBosLab的RTEMS和QEMU源码
下载emboslab的RTEMS

git clone git://emboslab.git.sourceforge.net/gitroot/emboslab/rtems-4.9.5-emboslab



下载emboslab的QEMU

git clone git://emboslab.git.sourceforge.net/gitroot/emboslab/qemu-mini2440



在qemu-mini2440做分支切换

git checkout -b ecos-emboslab remotes/origin/ecos-emboslab

4、编译emboslab版本的mini2440 QEMU模拟器
解压directx包到MinGW中

在MinGW中执行

tar -C /mingw -xzvf directx-devel.tar.gz



解压并且编译安装SDL

cd

tar -xzvf SDL-1.2.8.tar.gz (this will extract SDL package)
cd SDL-1.2.8
./configure --prefix=/mingw
make
make install



解压并安装zlib

cd
tar -xzvf zlib-1.2.2.tar.gz
cd zlib-1.2.2
./configure --prefix=/mingw
make test
make install



进到刚才下载好的qemu-mini2440的目录



./configure --target-list=arm-softmmu --static

make

就可以在arm-softmmu中看到qemu-system-arm.exe这个可执行文件了,由于是static方式,这个exe不依赖于任何库文件。

5、配置mini2440 BSP包括测试程序


运行cmd命令行窗口(如果是windows 7请用管理员方式运行)

执行

C:/msys/1.0/msys.bat



进入rtems-4.9.5-emboslab

执行

./bootstrap

生成rtems的配置脚本



建立和rtems-4.9.5-emboslab同级的rtems-build目录

进入rtems-build目录

cd rtems-build

执行

../rtems-4.9.5-emboslab/configure --target=arm-rtems4.9 --enable-rtemsbsp=mini2440 --enable-cxx --enable-tests=samples



然后编译

make



再安装

make install

6、应用mini2440 QEMU测试RTEMS测试程序
QEMU加载测试程序



以ticker.exe为例



start qemu-system-arm.exe -S -s -M mini2440 -kernel ticker.exe -show-cursor  -serial file:CON



ticker.exe          为要测试的应用程序,包括路径

-serial file:CON 表示输出串口信息到命令行(Linux的这个选项是 -serial stdio)



GDB下载并运行


arm-rtems4.9-gdb ticker.exe

target remote:1234

load

c







这个windows版本的qemu-system-arm同样适用于ecos
[ 此帖被cyx8648在2012-03-29 21:18重新编辑 ]
星星之火,可以燎原!
星星之火,可以燎原
级别: 骑士
UID: 42844
精华: 2
发帖: 140
金钱: 805 两
威望: 161 点
贡献值: 2 点
综合积分: 320 分
注册时间: 2011-04-11
最后登录: 2016-05-23
1楼  发表于: 2012-03-29 20:42
我在 ubuntu 上面按照上述文章的内容移植 RTEMS , 编译 rtems-build 时,发生了以下错误:


arm-linux-gcc --pipe -DHAVE_CONFIG_H   -I../../.. -I../../../../cpukit/../../../mini2440/lib/include  -Wall -fasm -mcpu=arm920t -mstructure-size-boundary=32 -O0 -g -MT libscorecpu_a-cpu.o -MD -MP -MF .deps/libscorecpu_a-cpu.Tpo -c -o libscorecpu_a-cpu.o `test -f 'cpu.c' || echo '../../../../../../../../rtems-4.9.5-emboslab/c/src/../../cpukit/score/cpu/arm/'`cpu.c
In file included from /opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root/usr/include/sys/types.h:220,
                 from ../../../../cpukit/../../../mini2440/lib/include/rtems/rtems/cache.h:38,
                 from ../../../../cpukit/../../../mini2440/lib/include/rtems.h:57,
                 from ../../../../../../../../rtems-4.9.5-emboslab/c/src/../../cpukit/score/cpu/arm/cpu.c:21:
../../../../cpukit/../../../mini2440/lib/include/sys/select.h:59: error: expected declaration specifiers or '...' before 'fd_set'
../../../../cpukit/../../../mini2440/lib/include/sys/select.h:60: error: expected declaration specifiers or '...' before 'fd_set'
../../../../cpukit/../../../mini2440/lib/include/sys/select.h:61: error: expected declaration specifiers or '...' before 'fd_set'
make[7]: *** [libscorecpu_a-cpu.o] 错误 1
make[7]:正在离开目录 `/home/cyx/Application/rtems-build/arm-linux/c/mini2440/cpukit/score/cpu/arm'
make[6]: *** [all-recursive] 错误 1


有时间、兴趣和能力的童鞋们,就帮忙看一下上面的错误怎么解决吧,谢谢了!
星星之火,可以燎原!
级别: 新手上路
UID: 92218
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
贡献值: 0 点
综合积分: 2 分
注册时间: 2013-05-25
最后登录: 2014-01-06
2楼  发表于: 2014-01-05 14:09

 to promote the inno

本部分内容设定了隐藏,需要回复后才能看到