bobyang136 发表于 2023-9-12 13:30

使用VSCode+EIDE对AT32 MCU进行项目开发和管理

本帖最后由 muyichuan2012 于 2025-4-17 09:13 编辑

AN0193 使用VSCode+EIDE对AT32 MCU进行项目开发和管理


前言
本使用指南描述了VSCode开发环境中,使用Embedded IDE管理AT32项目。
主要内容如下:
1         概述... 6
2         软件安装.. 7
2.1      Windows下环境配置... 7
2.1.1   VSCode安装... 7
2.1.2   VSCode 插件安装... 7
2.1.3   交叉编译工具链、MinGW和OpenOCD的安装与配置... 8
2.1.4   EmbeddedIDE配置工具链... 9
2.2      Linux下环境配置... 10
2.2.1   VSCode安装... 10
2.2.2   交叉编译工具链与OpenOCD安装... 10
3         雅特力MCU项目模板创建.. 12
3.1      本地项目目录... 12
3.2      从远程仓库获取... 14
4         导入项目.. 15
4.1      导入AT32 IDE项目... 15
4.2      导入MDK_V5项目... 18
5         项目编译与调试.. 20
5.1      项目编译... 20
5.2      项目调试... 21
5.2.1   ATLink调试... 21
5.2.2   JLink调试... 22
6         IC型号修改.. 24
6.1      预处理宏定义修改... 24
6.2      构建配置中连接脚本路径修改... 24
6.3      烧录配置的目标芯片配置文件修改... 24
7         版本历史.. 25

概述
VSCode(全称:Visual Studio Code)是一款由微软开发且跨平台的免费源代码编辑器。该软件支持语法高亮、代码自动补全(又称IntelliSense)、代码重构、查看定义功能,并且内置命令行工具和Git版本控制系统。用户可以更改主题和键盘快捷方式实现个性化设置,也可以通过内置的插件安装功能扩展软件功能。在2019年的Stack Overflow组织的开发者调查中,Visual Studio Code被认为是最受开发者欢迎的开发环境。
VSCode因为其轻量化、丰富的插件以及炫酷的界面等优点,当前成为了开发者热捧的开发工具。AT32提供在VSCode下开发、编译、下载、调试解决方法。只需安装所需要的软件工具并简单配置即可使用。本指南所使用的所有软件,目前都是开源的。
Embedded IDE(简称EIDE)是一个VSCode插件,用来对开发的单片机项目进行管理。EIDE借助VSCode,可以获得更好的编码体验,提高效率。支持跨平台开发,目前支持Windows x64和Linux x64。
Embedded IDE还支持Keil_MDK、IAR、Eclipse的项目导入功能。



雅特力MCU项目模板创建点击EIDE工作区的新建项目,在弹出的“选择创建项目的方式”中有多个选择,这里创建雅特力MCU项目模板,可以选择本地项目模板和从远程仓库获取两种方式。
本地项目目录本文档配套资源在的template包含了目前雅特力发布的所有MCU的项目模板,后缀名为ept。EIDI中选择了本地项目目录方式后(本文档配套资源的目录AT32_VSCode_EIDE_Template中提供了了雅特力当前发布的所有MCU的模板项目),从资源管理器中找到需要的模板,点击“选择此EIDE模板文件”,然后VSCode中输入创建的项目名称,选择项目保存的目录。
从远程仓库获取EIDE中选择从远程仓库获取方式后,会自动从github中获取所有的项目模板资源。在弹出的“选中模板的类型”中选择“MCU”,然后选择“Arterytek 雅特力”,继续选择“AT32F4”,最后选择模板类型,这里以AT32F403A为例,所有选择“at32f403a template (GCC Toolchain)”。在VSCode中输入创建的项目名称,选择项目保存的目录,这时在VSCode右下方弹出“Theproject is successfully created, Do you want to switch workspace immediately?”的通知框,点击“Yes”,完成项目创建。
导入项目EIDE支持从其他IDE中导入项目,目前支持MDK_V5、IAR Workbench与Eclipse中导入。AT32 IDE是基于Eclipse开发的,所有也可以通过导入Eclipse项目的方式导入AT32 IDE创建的项目。本文档主要介绍AT32 IDE项目和Keil项目的导入流程。
导入AT32 IDE项目在“OPERATIONS”栏中点击“Import Project”,然后在界面选择Eclipse方式。在打开的资源管理器中选择AT32 IDE工程的.cproject文件,然后点击“Import”按钮,完成项目的导入。
由于Eclipse CDT和EIDE之间的设计差异,EIDE暂时不能兼容Eclipsexiangmu 中的一些项目属性和构建设置。导入完成后,将生成一个.warning.txt文件,其中记录了所有不兼容的Eclipse项目属性。下面将详细介绍由AT32 IDE导入的EIDE项目的属性修改。
nBuilder Configurations这里可以看到导入后Liner Script File Path的值为null,需要进行修改为:ldscripts/AT32F403AxG_FLASH.ld点击“Builder Options:Object{…}”后面的修改图标,在右侧的Builder Options属性中修改。“Global Options”中,Hardware floating-point ABI选择softfp,Output debug information选择enable,Other Global Options中配置“—specs=nosys.specs – specs=nano.specs”。
nFlasher Configurations这里可以看到EIDE把烧录器类型设置成默认的JLink,而我们使用的是OpenOCD,所有这里需要进行修改为OpenOCD。同时“Chip Config”需要修改为“at32f403axG.cfg”,“Interface Config”修改为“atlink.cfg”。完成上述步骤后,就可以开始编译项目了。如果存在编译错误,请根据错误提示进行处理。
导入MDK_V5项目导入Keil项目,需要在EIDE中配置Keil的 “UV4.exe”或“TOOLS.INI”的路径。在“OPERATIONS”栏中点击“Configure Toolchain”启动工具链配置,选择配置“Keil MDK(ide path)”,然后选中Keil安装目录中的“UV4.exe”或“TOOLS.INI”即可。在“OPERATIONS”栏中点击“Import Project”启动一个导入向导,选择导入方式“MDK”,然后选择你要导入的“.uvprojx”,点击“Import”按钮执行导入。这时在VSCode右下方弹出“Make eide project coexist withthe keil project in the same directory? If you choose “No”, you need to specifya folder to sore the eide project!”的通知框,根据用户的需要,选择是否与原有的Keil项目共存于一个目录下。如果没有错误产生,将在VSCode右下方弹出“Theproject is successfully imported, Do you want to swith workspace immediately?”的通知框,点击“Continue”,完成工作区切换。完成上述步骤后,就可以开始编译项目了。如果存在编译错误,请根据错误提示进行处理。
注:完整的APP NOTE资源可到雅特力官网下载AN0193。下载地址:https://www.arterytek.com/file/download/1644

zhangzq71 发表于 2023-9-12 16:00

这样没有platformio方便吧?

bobyang136 发表于 2023-9-12 20:11

本帖最后由 bobyang136 于 2023-10-23 19:22 编辑

zhangzq71 发表于 2023-9-12 16:00
这样没有platformio方便吧?
1、多一个选择;
2、环境配置好后,可以直接通过远程模板创建项目,还是比较便捷的。

happypcb 发表于 2023-9-27 08:56

采用VSCode+EIDE,确实可以多一种选择,感谢楼主分享,有机会试用一下

单片小菜 发表于 2023-11-1 10:04

使用这个和keil的区别是什么?

chenjun89 发表于 2023-11-9 23:21

VS的插件安装功能不得不说太好用了

yangxiaor520 发表于 2023-11-13 08:44

是不是搞得有点复杂了

chenqianqian 发表于 2023-12-6 10:00

EIDE是什么开发软件?

bobyang136 发表于 2023-12-21 20:36

chenqianqian 发表于 2023-12-6 10:00
EIDE是什么开发软件?

VSCode的一个插件,主要用于嵌入式开发。

trucyw 发表于 2025-4-17 08:19

这个ept怎么开启
页: [1]
查看完整版本: 使用VSCode+EIDE对AT32 MCU进行项目开发和管理