最近接触到了一款vscode插件叫做Embedded IDE,就想着能不能把原来S32DS的项目移植过来。
1.安装EIDE
在vscode的插件中搜索Embedded IDE,并安装插件
![](https://img.haomeiwen.com/i14417681/611f954323ea4565.png)
2.导入项目
众所周知,S32DS本质上是NXP对Eclipse二次开发过后的产品,不管是界面还是功能都有很多Eclipse的影子,而EIDE是可以直接导入Eclipse项目的,只是有些地方可能兼容性不太好
拿我手头的一个叫Coolbench0702的项目作为例子
在EIDE界面选择导入项目
![](https://img.haomeiwen.com/i14417681/261ed08a0458bce7.png)
选择Eclipse
![](https://img.haomeiwen.com/i14417681/2d939b207568ead5.png)
选中目标目录下的.cproject文件
![](https://img.haomeiwen.com/i14417681/c1fc5e7ae0111e99.png)
导入之后未警告我们一些不匹配的参数,需要我们自己去设置,暂且不用去关心。切换到其工作区
3.配置EIDE
1.配置工具链
![](https://img.haomeiwen.com/i14417681/df3530caefe3211c.png)
在弹出的窗口中拉到最下面,选择ANY GCC Toolchain
![](https://img.haomeiwen.com/i14417681/00672ca3a980c8f3.png)
路径就选择S32DS所使用的的工具链即可,注意不要进入到bin目录下,因为EIDE会帮我们补上一个bin,如果进入到bin目录下,最后生成的目录就会变成 bin\bin
![](https://img.haomeiwen.com/i14417681/0728a69f3b465636.png)
在插件设置中,根据需要加入工具链的前缀
![](https://img.haomeiwen.com/i14417681/81aef262a88a773f.png)
![](https://img.haomeiwen.com/i14417681/416b14e2f5c6e5e9.png)
2.排除部分文件
因为EIDE无法识别一些Eclipse的参数,所以我们需要根据项目情况去排除一些文件
![](https://img.haomeiwen.com/i14417681/5b41c3ca813e8bcc.png)
![](https://img.haomeiwen.com/i14417681/421217295bccf614.png)
配置构建器
修改EIDE的构建配置
![](https://img.haomeiwen.com/i14417681/9b9de9c714718c62.png)
在用户任务中,EIDE帮助我们设置了make hex和make bin,只是默认都是disable,根据需要去选择,我这里选择最后生成hex文件
![](https://img.haomeiwen.com/i14417681/d13372ca87407aa7.png)
在S32DS中点击Project-->Properties,将编译器、汇编器、链接器的options全部复制到EIDE中,
注意 要把路径中所有的"\"全部替换为"/"
![](https://img.haomeiwen.com/i14417681/6aee8485e1d91df7.png)
![](https://img.haomeiwen.com/i14417681/fe4a31e4a890666b.png)
还要在汇编器参数里面加个-c
![](https://img.haomeiwen.com/i14417681/07fa9defe4a69420.png)
![](https://img.haomeiwen.com/i14417681/9dac37aaa539b98f.png)
点击保存
4.运行测试
点击进行build
![](https://img.haomeiwen.com/i14417681/bbf1a98bd5f6384c.png)
构建完成
![](https://img.haomeiwen.com/i14417681/15e8793c03533479.png)
可以在output files中查看生成的文件
![](https://img.haomeiwen.com/i14417681/385c98a5efa9f754.png)
5.tips
有时候在对比hex文件内容的时候,会发现S32DS的内容和EIDE的对不上,这其中原因是两者link文件的顺序不一致,并不影响hex文件的效果
![](https://img.haomeiwen.com/i14417681/793ef4694df66226.png)
![](https://img.haomeiwen.com/i14417681/9992eda583bb3969.png)
网友评论