单片机学习小组
直播中

切克切克闹

11年用户 467经验值
私信 关注

TrueStudio如何配置使用?

TrueStudio如何配置使用?

回帖(1)

刘文明

2022-2-14 10:25:07
1-背景




  • 目前开发mcu工程使用最多的是keil的MDK,这款IDE收费,因此基本用破解版,
  • 破解版的license有效期到2020年6月,正版license特别贵,
  • 因此为了成本方面考虑,开始尝试使用免费的TrueStudio作为开发工具。

2-特点说明



  • 基于eclipse界面设计风格,使用及配置等方面基本一致。
  • 同时有Windows与linux版本,编译器可以用gcc,编译方法与soc一致性好。
  • 专为STM32芯片设计用的IDE,免费使用。

3-工程建立




  • 使用STM32CubeMx工具建立工程打开即可,工具使用也不多说,只说明生成工程的地方,建议:



4-实用配置说明

下面开始说本文想说的重点:
1,配置并行编译

TrueStudio界面中,项目目录单击右键,选择菜单末尾“属性”,然后选择build菜单

2,包含头文件目录


3,包含源文件目录


注意:如果源文件目录跟工程文件“.cproject”在同目录,则用add folder;
否则应该用Link Folder,这里可以参考工程文件“.project”中的一些宏定义,用做相对目录跳转(而非完整目录路径)如下图:


“PROJECT_LOC”表示".cproject"工程目录所在文件;
“PARENT-3-PROJECT_LOC”表示工程目录向前3级目录;
类似有“PARENT-1-PROJECT_LOC”,“PARENT-2-PROJECT_LOC”等。
4,生成bin文件

两种方法:
a> 进入编译设置,开启输出格式,注意:输出的格式是".binary",内容与".bin"一样。

b> 在编译步骤中加入生成bin文件的指令,注意:指令间有分号“;”隔开。

生成hex的指令是:
arm-atollic-eabi-objcopy.exe -O ihex "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.hex"
生成bin的指令是:
arm-atollic-eabi-objcopy.exe -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin"
5,编译优先级设置


6,启用newlib_standard库

这个相当于MDK中的microLib库,是为了使用stdio.h等库函数的,TrueStudio默认使用的是Newlib-nano库,vsnprintf等接口没有实现,需要改成标准newlib库。

注意:nano库编译出的固件,比用standard库编译出的固件,空间上小25KB左右。
7,代码折叠功能

点击主菜单Window下的Preferences,打开Preferences设置对话框。在C/C++  --> Editor -->Folding 页面设置代码折叠功能。

8,一些实用快捷键

基本与eclipse相同,下面整理了一些常用的

5-总结




  • 总结一下,按照上面的一些配置,能够快速用起来TrueStudio这款免费的IDE,另外有linux版本,编译方式很像linux,对后面的自动化编译集成等工作都有价值,希望给大家带来帮助。
  • 吐槽一下,优化级别默认就是最小空间,这样编译出来的固件比如45KB,比MDK编译出来的39KB大一些,这还是用nano库,一些标准库函数vsnprintf之类的还用不了。
    如果想用vsnprintf,还得用standard库,编译出来的固件就到69KB了,空间大了好多。
    因此MDK还是有厉害的地方的,优化裁剪的地方都很多。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分