谈谈 Segger 编译器及IDE应用
关注+星标公众号,不错过精彩内容
编排 | strongerHuang
微信公众号 | 嵌入式专栏
开发MCU产品的编译工具很多,其中GCC是一个免费通用的编译器,应用于很多集成开发环境,比如:STM32CubeIDE、 RT-Thread Studio都集成GCC工具。
然后,还有我们知道Keil、 IAR等IDE都集成了“特定”的编译器。
下面讲述一下SEGGER编译器,以及围绕它周边的内容。
嵌入式专栏
1
SEGGER编译器其实是一个很神秘的东西,至今尚未公开正式版。但从官方信息猜测他们的编译器指的就是一个“Clang交叉编译器”。
官方一篇博文指出:SEGGER编译器它不仅仅只是另一个GCC工具链。
Clang具有更现代的设计,并且通常被认为比GCC更先进。除此之外,Clang还获得了更为宽松的许可,该许可允许制造可商购的衍生物。ARM / Keil从Clang派生了一个编译器,从而停止了其先前专有编译器的开发。考虑到所有这些,我们决定更深入地研究Clang,以使用它创建我们自己的编译器为目标。
该编译工具链包含:
即可运行的GCC和LLVM / Clang交叉编译器
SEGGER 运行时库和浮点库,替换了GLibC或Newlib
SEGGER Linker解除了GNU Linker的限制
除GNU和Clang汇编程序外,还有SEGGER汇编程序
带有版本控制集成的多功能项目管理
适用于大多数流行微控制器的支持包和闪存编程算法
专用且紧密集成的调试器
使用GDB协议直接支持J-Link,J-Trace和DAP-Link以及其他调试器
SEGGER将所有内容打包到一个易于下载的“软件包”中,完全集成并且可以立即使用。
到目前为止,SEGGER一直专注于针对基于Cortex-M微控制器的ARM Thumb-2代码的代码生成器的更改。
下一步将包括改善与其他编译器的兼容性,而不仅仅是GCC和Clang(针对实用程序和其他专业),以使其易于切换。
嵌入式专栏
2
Embedded Studio目前使用的编译器就是Clang / LLVM和GCC C/C++编译器,并没有真正使用SEGGER编译器。,可免费用于任何非商业用途。
之前硬汉哥对比了Embedded Studio与MDK和IAR优缺点:
优点:
编辑器功能比MDK和IAR强劲太多倍,几乎可以媲美notepad++,VSCode,SI等编辑器,像代码格式化,文件比较,代码提示,专业的代码高亮,各种风格主题等。
超快速的工程启动,现在MDK5和IAR8开机都得反应会,特别是超大工程时,使用Embedded Studio的效果非常明显。同时编译速度也飞快,不比IAR差,比MDK强很多。编译个HAL库,带browse info,速度也是嗖嗖的。
调试工具方面,Embedded Studio简直不要太丰富,因为有JLINK的支撑,像JScope,RTT,SystemWiew,embOSView等都很好用。
个人使用免费,支持全功能, 含Windows, macOS 和 Linux版本。
已经率先支持RISC-V内核。
缺点:
仅支持自家的JLINK
Embedded Studio的配置用的不顺手,配置选项多,不像MDK那种直接图形化配置。
嵌入式专栏
3
后台回复『编译器』『软件工具』阅读更多相关文章。
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。