Atollic TrueSTUDIO for STM32 9.3.0开发环境配置笔记

https://blog.csdn.net/zoomdy/article/details/54728479

https://blog.csdn.net/u013209302/article/details/52735802

https://blog.csdn.net/congpo2125/article/details/86549614
https://www.ac6-tools.com/downloads/SW4STM32/  免费下载sw4stm32的连接,不错哦
https://blog.csdn.net/founderHAN/article/details/104636949
https://blog.csdn.net/cshy2013/article/details/88948643

https://www.jianshu.com/p/146c2109f619

https://blog.csdn.net/qq_38125389/article/details/87890965

https://blog.csdn.net/congpo2125/article/details/86549614

https://dl.21ic.com/download/truestudio-306215.html

https://marketplace.eclipse.org/content/eclipse-color-theme
 

http://releases.linaro.org/archive/14.05/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.9-2014.05_win32.zip.xz
http://releases.linaro.org/archive/15.06/components/

https://www.linaro.org/download

最近一直在使用STM32CubeMX和TrueSTUDIO进行STM32的程序开发,用起来已经是得心应手了。使用TrueSTUDIO的过程中知道了一些环境设置的小技巧,可以提高工作效率过减少问题,故专门贴出来。

TrueSTUDIO的环境设置主要是在项目的属性设置对话框里进行设置。

(1)使用并行编译

在C/C++ Build的Behavior设置页面,勾选Enable parallel build可以打开并行编译功能。新建一个Workspace后这个选项默认是不勾选的,现在的CPU都是多核的,打开并行编译选项后可以明显提高编译速度。

(2)编译优化级别设置

当需要进行程序的断点跟踪调试时,必须将编译的优化级别设置为None或Optimize for debugging,否则在单步调试时无法正确跟踪代码行。默认情况下不是这个选项,所以用于跟踪调试时必须进行设置。

(3)代码折叠功能

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

TrueSTUDIO是具有代码折叠功能的,但是默认情况下只勾选了“Enable folding when opening a new editor”。如果要对预编译语句、if/else、for等语句进行代码折叠,就勾选下面的两个选项。在源代码编辑器里,具有折叠功能的代码行的左首会显示小图标用于代码折叠。使用代码折叠功能有助于快速分析代码结构,了解程序的工作原理。

 

1 使用cubemx可以直接生成,选择单独目录
2 添加外部文件,使用link模式,copy模式相当于在单独目录复制了一个新的文件,这样不适合多个IDE同时编辑。因此link比较适合多编译器开发。

3 多核编译,可以加速编译速度

4 添加相对路径的头文件,和iar keil等类似
5 可以选择源文件filter,但是目前用不到,因为我是添加文件的方式
6 alt /开启自动完成
7 优化等级 jlink debug设置
8可以import file system方式添加文件到工程中
9 代码折叠

10  c库选择,标准的大,nano的占用空间小

 注意:nano库编译出的固件,比用standard库编译出的固件,空间上小25KB左右。

11 生成hex文件 ,也可以生成bin文件,需要再添加语句

 

 

 

优化等级:

O1优化会消耗少多的编译时间,它主要对代码的分支,常量以及表达式等进行优化。

 

O2会尝试更多的寄存器级的优化以及指令级的优化,它会在编译期间占用更多的内存和编译时间。

 

O3在O2的基础上进行更多的优化,例如使用伪寄存器网络,普通函数的内联,以及针对循环的更多优化。

 

Os主要是对代码大小的优化,我们基本不用做更多的关心。 通常各种优化都会打乱程序的结构,让调试工作变得无从着手。并且会打乱执行顺序,依赖内存操作顺序的程序需要做相关处理才能确保程序的正确性。 

 

头文件路径

 

 仿真调试设置:

 类似于keil的不编译的选项

 

 集成 astyle

 

${workspace_loc:/${project_name}}
--style=allman -n
"${resource_loc}"

  printf浮点数输出使能

快捷键:

 

两种方法:

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"

  

 jlink自动下载:

 

其中脚本路径的地方 ${workspace_loc:/xxx_two}代表了我的工程目录,换成自己对应的即可。同时,路径对应自己的实际路径。比如我是在工程目录下面新建了一个jlink文件夹,脚本放在了这个文件夹下了。

-autoconnect 1 -device stm32f103ZE -if swd -speed 4000 -commandfile ${workspace_loc:/xxxxx_two}\jlink\download.jlink

切换debug release版本,第5个小锤子可以切换

 

 

 到处头文件路径、宏定义设置,这样只需要设置一次,比如debug,后面release直接导入即可,方便。

 

posted @ 2020-04-22 09:05  wdliming  阅读(2111)  评论(0编辑  收藏  举报