目录
一、keil Assistant的优势和缺点
二、使用方法
(1)配置keil的路径
(2)导入并使用工程
(3)默认使用keil自带的ARM编译器而非GUN工具链
一、keil Assistant的优势和缺点
在日常学习单片机的过程中,常见的教学视频采取的都是keil这个IDE来进行开发,但是这个软件的UI界面实在是惨不忍睹,就好像上个世纪的产物,并且在代码补齐方面支持的不好,让我头疼了许久。
偶然间发现VScode的插件keil Assistant可以进行代码编辑,但是这种方式并不能直接VScode中创建一个工程,同时也不支持调试,仅仅利用到了VScode强大的代码补齐功能。当然在网络上还有较为完善的EIDE+GUN+STLink的开发环境搭建教学,但是他们都是基于CubeMX这个软件的,其中有一个较为关键的是有一个的链接脚本文件,是由CubeMX生成的,但是本人并没有使用过CubeMX,只能暂且使用KeilAssistant。
不过由于我目前还不怎么涉及到调试,并没有很强的在Vscode调试的需求。所以并没有研究如何使用EIDE。当后续如果使用到了再来学习。
当然keil Assistant仅仅只是用于代码编辑,编译,下载的。并不直接支持创建工程、或者在工程中创建、删除文件,所以一切的一切都需要你能够在keil中搭建好工程的框架。这个我们在之前的文章中着重讲解了。
二、使用方法
(1)配置keil的路径
(2)导入并使用工程
当你在vscode中编辑了代码,再进入keil界面的时候可以看到代码已经发生了更改。
(3)默认使用keil自带的ARM编译器而非GUN工具链
- 工具链来源
- Keil Assistant:使用 Keil 自带的 ARM 编译器,工具链与 Keil IDE 捆绑,版本由 Keil 安装包决定。
- GNU 工具链:需用户手动下载并配置(如 GCC ARM Embedded),工具链独立于 Keil,版本由用户自行选择。
- 配置复杂度
- Keil Assistant:几乎无需额外配置,插件自动关联 Keil 的编译器路径。
- GNU 工具链:需手动设置编译器路径、链接器脚本、编译选项等,配置过程较复杂。
- 功能特性
- Keil Assistant:专注于 Keil 工程,支持 Keil 特有的功能(如 CMSIS 包管理、设备数据库)。
- GNU 工具链:提供更通用的编译选项,支持跨平台开发,但需用户自行处理 Keil 特有的功能(如通过脚本模拟 CMSIS 包管理)。
- 调试支持
- Keil Assistant:依赖 Keil 的调试器(如 ULINK),调试功能与 Keil IDE 一致。
- GNU 工具链:通常结合 OpenOCD 或 J-Link GDB Server 进行调试,调试流程与 Keil 不同。
从上面的介绍你可以总结出来:
(1)ARM编译器是keil下载的时候就已经存在的,他不需要用户手动选择,而是下载的时候由安装包自动配置好了。
(2)ARM编译器分为ARMCC(ARM Compiler 5)和ARMCLANG(ARM Compiler 6),这个可以在keil中选择。
(3)如果想要使用GUN工具链,则需要手动配置一系列东西。譬如编译器路径、链接器脚本、编译选项。而我们并没有链接器脚本,所以不能使用,如果你后续使用了CubeMx可以考虑更换成GUN工具链。