转到linux平台的原因:
在windows下开发的时候虽然使用了msys2,虚拟了类linux环境,安装rtems等都没有问题,但是因为要使用网络栈,libbsd的网络栈是由waf进行编译的,waf是一个python脚本。在msys2中配置waf的时候遇到问题,可能是因为msys2中路径带有windows特色,导致waf配置的时候无法识别rtems的路径。
step1:下载ubuntu 16.04..4,用于创建虚拟机,选择AMD64版本 desktop版本
http://releases.ubuntu.com/16.04.4/
下载版本在使用vmware workstation12.0安装的时候一开始提示install有错误,试了几次才进入正常安装的界面上。很奇怪,但是不纠结这些。后面看install的提示发现不正常。安装进度条也不动。后面换成vmware14.1 ,安装16.06.4成功
step2:在创建的虚拟机中安装vivado2017.4.这一步很顺利
step3:安装rtems环境。
一开始没有安装git,导致环境check时候不对。后面安装时有东西没有装,那么就用apt-get install安装就好了。最好删除之前的build的目录,然后重新建立一个,重新configure。安装waf,配置waf,安装libbsd。可以参考github上rtems libbsd的部分说明。
step4:移植windows下工程到linux下,因为使用了ceil等函数,所以要增加m这个lib,还有rtems的对应路径需要修改.因为之前在windows中所有includes下有很多原来的目录无法删除,后来通过删除工程下的.metadata.然后重新设置下路径就没有这些无用的路径了