vmware上跑ecos (wanglibo_2004@yahoo.com.cn)
突然发现网上有人再转我的文章。
高兴之余也发觉转载者的搜索排名在我之前。:(
加点废话 版权所有,转载请注明出处 http://blog.csdn.net/wanglibo1981/archive/2008/11/04/3219108.aspx
设置好工具链,x86的编译工具链带有 i386-elf- 前缀
我是写了一个脚本ecos.env内容如下
export PATH=$PATH:/home/share/iros-tools/ecos/gnutools/i386-elf/bin/:/home/wang_libo/opensource/ecos-2.0/tools/bin/
/home/wang_libo/opensource/ecos-2.0/tools/bin/ 是 ecosconfig的路径
在build目录下运行 ecosconfig new pc redboot ;生成了 ecos.ecc
U CYGSEM_HAL_USE_ROM_MONITOR, new inferred value 0
...
# line 2781 modified form
# "# user_value RAM"
# to
user_value FLOPPY
...
};
...
# line 2914 modified form
# "# user_value 0"
# to
user_value 2
...
};
运行 ecosconfig check
Target: pc
Template: redboot
No conflicts
这里ecosconfig check的作用是因为ecos的各个组件互相有依赖关系,我们step1修改了两个独立变量,依赖于这两个变量的其他变量值需要重
ecosconfig tree
生成hal infra install io isoinfra language makefile net redboot services这一堆build tree
make
生成目标文件./install/bin/redboot.bin
step1 运行 ecosconfig new pc
同上修改 cdl_component CYG_HAL_STARTUP {user_value FlOPPY}
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {user_value 2}
这里生成生成hal infra install io isoinfra language makefile net redboot services等相关文件加
这里生成的目标文件是 ./install/lib/libextras.a 和 ./install/lib/libtarget.a(主要是这个)
i386-elf-gcc -g -D_ECOS -I./install/include hello.c -L./install/lib -Ttarget.ld -nostdlib
i386-elf-objcopy -O binary a.out hello.bin
生成了目标文件hello.bin
同样把hello.bin作为vmware的虚拟软驱启动,可以看到hello .ecos world! 如附件中的右图

2606




被折叠的 条评论
为什么被折叠?



