S32K3 工具篇7:如何使用VScode编译EB MCAL工程
S32K3 工具篇7:如何使用VScode编译EB MCAL工程
- 1. VScode工具与配置
- 2. 使用VScode编译RTD MCAL工程
- 2.1 使用EB tresos生成配置
- 2.2 VScode 打开工程
- 2.3 修改mk文件
- 2.4 编译文件
- 2.5 debug生成好的elf文件
对于EB配置的MCAL代码,通常是基于RTD去做,然后使用命令行编译。刚开始学的时候,不知道,总是直接打开相关文件去修改,然后使用window cmd的方式去敲命令,这种方式非常的笨拙。所以,本篇文章将会给出如何使用VScode的方式去打开并且编译一个RTD4.0.0 S32K344 MCAL的工程。当然,对于MCAL EB的工程,在编译之前,需要使用EB工具打开对应工程的配置文件,生成工程之后再关闭。
1. VScode工具与配置
VScode下载链接:
https://code.visualstudio.com/Download
下载之后,安装好。
下面给出本人常用的一些安装插件:
可以在extensions里面搜索到并且直接安装。
2. 使用VScode编译RTD MCAL工程
本文以RTD4.0.0, SW32K3_S32M27x_RTD_R21-11_4.0.0为例,平台是官方S32K344-EVB板子。代码以Dio_TS_T40D34M40I0R0工程为例,为了不影响原始例程,这里拷贝Dio_TS_T40D34M40I0R0另存为Dio_TS_T40D34M40I0R0_vscode
2.1 使用EB tresos生成配置
打开EB 工具,导入工程:
C:\NXP\SW32K3_S32M27x_RTD_R21-11_4.0.0\eclipse\plugins\Dio_TS_T40D34M40I0R0_vscode\examples\EBT\S32K3XX\Dio_Example_S32K344\TresosProject
双击someId, 然后右击鼠标,如果不需要做自定义配置的话,直接点击generate project,等待生成完毕没有错误的情况下关闭EB IDE。
2.2 VScode 打开工程
首先打开VScode,在open Folder里面选择工程路径为:
C:\NXP\SW32K3_S32M27x_RTD_R21-11_4.0.0\eclipse\plugins\Dio_TS_T40D34M40I0R0_vscode\examples\EBT\S32K3XX\Dio_Example_S32K344
打开之后,可以看到路径下所有的文件已经被放了进来:
可以保存workspace,这样就不需要每次都打开文件夹。
File->Save workspace as,保存到路径:
C:\NXP\SW32K3_S32M27x_RTD_R21-11_4.0.0\eclipse\plugins\Dio_TS_T40D34M40I0R0_vscode\examples\EBT\S32K3XX\Dio_Example_S32K344
2.3 修改mk文件
之前的文章讲过,需要修改工程mk文件来指定gcc,tresos路径等。
修改点:project_parameters.mk
GCC_DIR = C:/NXP/S32DS.3.5_RTD400/S32DS/build_tools/gcc_v10.2/gcc-10.2-arm32-eabi
TRESOS_DIR = C:/EB/tresos_29_0_0
PLUGINS_DIR = C:/NXP/SW32K3_S32M27x_RTD_R21-11_4.0.0/eclipse/plugins
修改点: check_build_params.mk
删除
ifeq ("$(wildcard $(T32_DIR)/bin/windows/t32marm.exe)","")$(error Invalid path set to Trace32. \The provided path: from project_parameters.mk T32_DIR=$(T32_DIR) is invalid!)
endif
然后保存所有文件:File->save all
2.4 编译文件
Terminal->New Terminal
输入如下命令:
>make generate
>make build
可以看到,在make build之后,已经是out文件夹中生成了elf文件。
这个elf文件,就可以直接使用2中方法去下载:
(1)S32DS 空工程链接到elf去下载
(2)劳德巴赫直接下载elf文件
2.5 debug生成好的elf文件
由于S32K344-EVB是具有板载的opensda工具的,所以,这里直接使用S32DS空工程链接到生成的main.elf文件下载并且debug。
新建一个S32DS工程,并且接口是PE Multilink的,然后直接在debug configuration里面把elf文件改为main.elf,再把之前生成的elf文件放到新建S32DS工程的文件夹:
\Debug_FLASH
然后,进入debug模式,结果如下:
可以看到,芯片已经进入到debug模式,并且能够成功运行。
全速运行,可以看到板载的红灯闪烁,所以到此,VSCode编译MCAL代码已经成功运行。