打印
[应用相关]

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

[复制链接]
3242|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bobyang136|  楼主 | 2023-9-12 13:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 muyichuan2012 于 2023-9-12 15:21 编辑

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项目的属性修改。

n  Builder 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”。

n  Flasher 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。

OpenOCD_V2.0.4.zip

7.08 MB

AT32_VSCode_EIDE_Template.part2.rar

4.99 MB

AT32_VSCode_EIDE_Template.part1.rar

8 MB

AN0193_AT32_MCU_With_VSCode_EIDE_ZH_V2.0.pdf

2.72 MB

使用特权

评论回复
评论
xu@xupt 2023-9-17 08:38 回复TA
很好的资源,学习啦~~ 
沙发
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,确实可以多一种选择,感谢楼主分享,有机会试用一下

使用特权

评论回复
5
单片小菜| | 2023-11-1 10:04 | 只看该作者
使用这个和keil的区别是什么?

使用特权

评论回复
6
chenjun89| | 2023-11-9 23:21 | 只看该作者
VS的插件安装功能不得不说太好用了

使用特权

评论回复
7
yangxiaor520| | 2023-11-13 08:44 | 只看该作者
是不是搞得有点复杂了

使用特权

评论回复
8
chenqianqian| | 2023-12-6 10:00 | 只看该作者
EIDE是什么开发软件?

使用特权

评论回复
9
bobyang136|  楼主 | 2023-12-21 20:36 | 只看该作者
chenqianqian 发表于 2023-12-6 10:00
EIDE是什么开发软件?

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

21

帖子

0

粉丝