• 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}jlinkdownload.jlink

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

     

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

  • 相关阅读:
    LeetCode208 实现 Trie (前缀树)
    LeetCode289 生命游戏(模拟)
    LeetCode560 和为 K 的子数组
    LeetCode673 最长递增子序列的个数
    LeetCode31 下一个排列
    LeetCode926 将字符串翻转到单调递增
    LeetCode135 分发糖果
    LeetCode810 黑板异或游戏
    npm发布和修改详细教程
    不同的子序列问题I
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12749723.html
Copyright © 2020-2023  润新知