LLVM17已经发布,arm官方也发布了对应的编译版本17.01,见链接https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/tags,一直想用LLVM来替代GCC,所以来尝试下。 注意17.01没有自带常见架构的编译cfg文件,我是从16.0的压缩包中拷贝到17.0.1的bin目录的。
之前看过有人在rtt上面试过LLVM编译(https://blog.csdn.net/rtthreadiotos/article/details/122465863?depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-3-122465863-blog-133980411.235%5Ev38%5Epc_relevant_sort_base1),不用自己从头写makefile。rt-thread近日也发布了5.0.2版本,所以下载了5.0.2版本。搜了下整个工程,发现已经有STM32的芯片支持LLVM编译,board路径是rt-thread-5.0.2\bsp\stm32\stm32l475-atk-pandora
。可以看到board目录下的rtconfig.py已经有配置好的LLVM编译器选项及参数,不过默认使用的是GCC。修改CROSS_TOOL='gcc'
为CROSS_TOOL='llvm-arm'
后,打开ENV工具进入rt-thread-5.0.2\bsp\stm32\stm32l475-atk-pandora
目录,输入scons -j4
开始编译。
原以为会直接调用LLVM顺利开始编译,结果ENV工具栏显示调用的还是GCC。又把rtconfig.py