精华内容
下载资源
问答
  • 2020-12-30 21:04:57

    STM32CubeIDE与TrueSTUDIO的区别


    在这里插入图片描述
    TrueSTUDIO:ST面向STM32项目,基于eclipse的C/C++集成开发工具。
    下载地址:https://www.st.com/zh/development-tools/truestudio.html


    在这里插入图片描述
    STM32CubeIDE简单来说,STM32CubeIDE集成了TrueSTUDIO和STM32CubeMX,这样开发者就不需要繁琐安装两个软件了。
    下载地址:https://www.stmicroelectronics.com.cn/en/development-tools/stm32cubeide.html

    更多相关内容
  • STM32系微控制器免费开发环境搭建介绍:TrueSTUDIO 教程
  • STM32开发项目:如何从TRUEStudio转移到STM32CubeIDE 以 Ubuntu 18.04 的TRUEStudio(版本号:9.1)转移至macOS STM32CubeIDE(版本号:1.3.0)为例 Clean原TrueStudio工程(Project->Clean) 删除原TrueStudio工程...
  • Atollic TrueSTUDIO for stm32 调试开发文档,如何设置调试工具。
  • 针对TrueSTUDIO官方stm32开发IDE,工具中相关选项设置小知识点。
  • 手把手教你安装TrueSTUDIO并集成STM32CubeMX-附件资源
  • Atollic_TrueSTUDIO_for_STM32_v9.0.1_20180420-1214(win&Linux;),这是被STM32收购后今年不久才开始免费的专用STM32开发软件,资源为 百度云链接,欢迎下载。
  • 一个免费的STM32开发软件,TrueSTUDIO修改堆栈的方法。
  • Ubuntu16之STM32开发--点灯和串口通信 一文中的TrueSTUDIO和STM32CubeMX的工程文件
  • 最近,UCOSIII开源了,闲着没事,尝试了移植一下,网上的移植教程大多是MDK和IAR平台的,很少Atollic TrueSTUDIO 的移植,所以就自己做了一个,驱动还是使用的野火的资料
  • TrueStudio上手

    万次阅读 2019-01-19 10:41:45
    现在ST正式发布整合后第一个Atollic TrueSTUDIO版本 9.0,正式为STM32用户提供全免费、全功能的专业MCU集成开发环境。 下载地址:...

    之前ST宣布收购软件开发工具厂商Atollic。现在ST正式发布整合后第一个Atollic TrueSTUDIO版本 9.0,正式为STM32用户提供全免费、全功能的专业MCU集成开发环境。

    下载地址:https://atollic.com/resources/download/windows/windows-archive/?submissionGuid=6a9df4f2-76ee-4575-adac-7d5172666c12

    TrueStudio编译HAL库很快,至少是MDK快几倍不止,IAR不是主力没比较过,但肯定比MDK快。MDK编译想快,不需要browse information选项定位也试蛮快的。

    TrueStudio是基于Eclipse 的,所以很多设置都是一样的。

    1.MDK重定向printf

    int fputc(int ch,FILE *f)//重定向printf

    {

        HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);

        return ch;

    }

    2.TrueStudio重定向printf

    和SW4STM32都用的是GUN的编译器,所以和SW4STM32的方式是一样的,就是重定向 int __io_putchar(int ch)函数,而不是KEIL的fputc函数。

    int __io_putchar(int ch) {

            HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 0xffff);

            return ch;

    }

    并且调用一个叫syscalls.c的源文件(CubeMX配置会生成),配合__io_putchar来实现。

    /* Support files for GNU libc. Files in the system namespace go here.

    Files in the C namespace (ie those that do not start with an

    underscore) go in .c. */

    #include <_ansi.h>

    #include <sys/types.h>

    #include <sys/stat.h>

    #include <sys/fcntl.h>

    #include <stdio.h>

    #include <string.h>

    #include <time.h>

    #include <sys/time.h>

    #include <sys/times.h>

    #include <errno.h>

    #include <reent.h>

    #include <unistd.h>

    #include <sys/wait.h>

    #undef errno

    extern int errno;

    #define FreeRTOS

    #define MAX_STACK_SIZE 0x200

    extern int __io_putchar(int ch) __attribute__((weak));

    extern int __io_getchar(void) __attribute__((weak));

    #ifndef FreeRTOS

    register char * stack_ptr asm("sp");

    #endif

     

     

     

    caddr_t _sbrk(int incr)

    {

        extern char end asm("end");

        static char *heap_end;

        char *prev_heap_end,*min_stack_ptr;

        if (heap_end == 0)

            heap_end = &end;

        prev_heap_end = heap_end;

    #ifdef FreeRTOS

        /* Use the NVIC offset register to locate the main stack pointer. */

        min_stack_ptr = (char*)(*(unsigned int *)*(unsigned int *)0xE000ED08);

        /* Locate the STACK bottom address */

        min_stack_ptr -= MAX_STACK_SIZE;

        if (heap_end + incr > min_stack_ptr)

    #else

        if (heap_end + incr > stack_ptr)

    #endif

        {

    //      write(1, "Heap and stack collision\n", 25);

    //      abort();

            errno = ENOMEM;

            return (caddr_t) -1;

        }

        heap_end += incr;

        return (caddr_t) prev_heap_end;

    }

    /*

    * _gettimeofday primitive (Stub function)

    * */

    int _gettimeofday (struct timeval * tp, struct timezone * tzp)

    {

    /* Return fixed data for the timezone. */

    if (tzp)

    {

    tzp->tz_minuteswest = 0;

    tzp->tz_dsttime = 0;

    }

    return 0;

    }

    void initialise_monitor_handles()

    {

    }

    int _getpid(void)

    {

        return 1;

    }

    int _kill(int pid, int sig)

    {

        errno = EINVAL;

        return -1;

    }

    void _exit (int status)

    {

        _kill(status, -1);

        while (1) {}

    }

    int _write(int file, char *ptr, int len)

    {

        int DataIdx;

            for (DataIdx = 0; DataIdx < len; DataIdx++)

            {

             __io_putchar( *ptr++ );

            }

        return len;

    }

    int _close(int file)

    {

        return -1;

    }

    int _fstat(int file, struct stat *st)

    {

        st->st_mode = S_IFCHR;

        return 0;

    }

    int _isatty(int file)

    {

        return 1;

    }

    int _lseek(int file, int ptr, int dir)

    {

        return 0;

    }

    int _read(int file, char *ptr, int len)

    {

        int DataIdx;

        for (DataIdx = 0; DataIdx < len; DataIdx++)

        {

         *ptr++ = __io_getchar();

        }

    return len;

    }

    int _open(char *path, int flags, ...)

    {

        /* Pretend like we always fail */

        return -1;

    }

    int _wait(int *status)

    {

        errno = ECHILD;

        return -1;

    }

    int _unlink(char *name)

    {

        errno = ENOENT;

        return -1;

    }

    int _times(struct tms *buf)

    {

        return -1;

    }

    int _stat(char *file, struct stat *st)

    {

        st->st_mode = S_IFCHR;

        return 0;

    }

    int _link(char *old, char *new)

    {

        errno = EMLINK;

        return -1;

    }

    int _fork(void)

    {

        errno = EAGAIN;

        return -1;

    }

    int _execve(char *name, char **argv, char **env)

    {

        errno = ENOMEM;

        return -1;

    }

    They are not defined as weak but since the build system will choose implementation in source files before trying to link from libraries you can just implement them as you want. In TS the recommended way is to generate the syscalls.c file from File > New > Other > syscalls...

    <<syscalls.c>>

    3.包含头文件和源文件

    TrueStudio工程是包含了工程所有的文件夹和文件,在工程文件夹下新建文件夹,工程中就会更新。

    3.1包含头文件

    项目--属性--C/C++ Build--Settings--Tool Settings--C Compiler--Dirctories

    项目--属性--C/C++ General--Paths and Symbols

     

    3.2包含源文件

    4.设置优化等级

    项目--属性 设置为-O1

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

     

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

     

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

     

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

    5.设置VScode编码方式

    设置搜索encoding,修改utf-8为GBK

    6.TrueStudio快捷键

    大多都是Eclipse的快捷键

                        

    功能

    快捷键

    说明

    注释代码

    Ctrl + Shift + /

    注释 /*  */

    取消注释

    Ctrl + Shift + \

    取消注释 /* */

    注释代码

    Ctrl + /

    注释当前行,可选多行  //

    注释代码

    再按Ctrl  + /

    取消注释 //

    跳回

    Ctrl + Q

    定位到最后编辑的地方

    删除当前行

    Ctrl + D

     

    快速修复

    Ctrl + 1

     

    快速显示

    Ctrl + O

    快速定位方式和变量

    前一个编辑页面

    Alt + ←

    快速回去

    下一个编辑页面

    Alt + →

     

    定位到某一行

    Ctrl + L

    行号

    7.设置代码模板

    窗口--首选项

    在文档中打出新建模板的名称,Ctrl+/

    8.安装插件

    帮助--eclipse Marketplace

    更换代码颜色和风格插件--Eclipse Color Themes

    设置代码颜色 首选项--外观--颜色 或者直接搜索 theme

    直接去官网找颜色导入也可以http://eclipsecolorthemes.org/,但好像打不开啊。

    主题:windows classic  Color Theme Mr

     

    其它调试和编译都很清楚,查看寄存器什么的后面在写。(直接从OneNote笔记中复制过来的,格式什么的链接一下,毕竟很久没有用Typora了)

    参考:

    1.[STM32] printf 重定向到 UART

    2.[已解决] printf在TrueSTUDIO中无法使用

    3.Redirect UART to use printf and scanf

    4.gcc -O0 -O1 -O2 -O3 四级优化选项及每级分别做什么优化

    5.eclipse中快速多行注释的方法以及Myeclipse快捷

    6.Eclipse 代码模板|菜鸟教程

    7.eclipse设置酷炫的代码颜色风格

    展开全文
  • truestudio for stm32 IDE开发中如何定义常量到内部flash中。
  • trueStudio开发环境配置笔记

    千次阅读 2019-04-01 15:14:28
    TrueStudio上手指南

    声明:

    • 上述为依据自身工作环境、项目需求而提供的解决方案之一,可能存在其他更好的方案;该方案可能存在或出现其他未知问题,因而不保证适用所有情况或例外,仅供参考;不足或错误之处欢迎交流指正,谢谢!
    • 该文档参考了部分官方文档及网络链接,文中已注明;本文为原创,如需转载请注明本文出处,谢谢!

    由于Keil版权问题及工作需要,STM32开发环境需要由Keil转换到TrueSTUDIO。由于是第一次接触TrueSTUDIO,刚开始使用时遇到了一些基础问题,且发现trueStudio的相关笔记或总结相对Keil而言较少,因此特写此篇总结,备忘;若能帮助到新手,更好。

    一、软件环境

    • Atollic TrueSTUDIO:version 9.3.0
    • STM32CubeMX:version 4.26.0
    • STM32CubeProgrammer: version 1.0

    二、说明

    • 硬件环境跟本教程低耦合,不再赘述。
    • 该教程假设读者已经使用过STM32CubeMX及STM32CubeProgrammer,具备STM32相关基础开发经验。
    • 确保已分别安装好TrueSTUDIO、STM32CubeMX、STM32CubeProgrammer。
    • TrueSTUDIO官方使用手册中,讲解了一种将STM32CubeMX、STM32CubeProgrammer作为插件的形式整合到TrueSTUDIO中生成及烧录程序的方法,但略感配置繁琐且实际开发暂未用到,因而此处不在赘述,想了解具体内容可参见官方手册。本文介绍了一种不需额外进行繁琐配置的方法。
    • Keil工程转换为TrueSTUDIO问题。经测试,TrueSTUDIO虽然可以直接导入Keil工程,但导入后的工程需要经过一些配置才能完成编译,相关方法请参考官方文档。本文介绍了通过STM32CubeMX的.ioc文件直接生成TrueSTUDIO工程的方式,以及工程配置、编译过程中的方式方法和部分注意事项,不涵盖其他暂未涉及配置事项。

    三、简明步骤

    该步骤中主要包括两方面内容:

    1. 生成TrueStudio工程代码
    2. 配置TrueStudio工程编译环境

    简要步骤如下所述:

    1. 使用STM32CubeMX打开或新建所需.ioc文件。

    2. 在Project --> Settings面板中根据需要进行配置,如下图。Toolchain/IDE选择TrueSTUDIO即可,其他配置选项不在赘述。

    图1 STM32CubeMX生成TrueStudio工程配置

    3.生成工程代码。点击Project --> Generate Code,生成TrueStudio工程代码。此时工程中都是STM32CubeMx根据图形化界面配置自动生成的代码,目录结构同STM32CubeMx自动生成的Keil工程大同小异,此处不再赘述。

    4. 已有Keil工程的自编API文件移植(复制粘贴)到trueStudio工程。另外,需要将Keil工程中的与本人实际项目开发需求相关的部分.h及.c文件拷贝添加到TrueStudio工程中,主要包括以下几类:

    • 通信协议相关驱动文件:如spi_flash.c等,直接拷贝复制过来即可
    • FatFs驱动文件:只需修改或替换user_diskio.c文件即可
    • DSP库文件:只需添加libarm_cortexM4lf_math.a文件即可(keil使用的是.lib格式文件)
    • 其他:算法文件等

    5. 配置库文件。由于使用了DSP库,因此需要对DSP库进行配置。在工程的properties --> c/c++ General --> Paths and Symbols面板中进行Includes、Symbols等配置(注:功能上类似于Keil软件中的‘c/c++’面板中的配置),如下图2所示。其中,涉及修改的主要有以下几项:

    • 【Symbols】:配置全局宏定义。
    图2 宏定义相关配置面板
    • 【Libraries &Library Path】:配置库文件路径及文件名。这里需要特别注意的是:

              1) Library Path面板中配置库文件的文件路径,而Libraries中指定所需库文件名。建议先指定库文件的Path,然后再根据下述规则指定库文件名。

              2) Libraries面板中指定库文件名有两种方式:一是直接指定名称即可,二是根据根据文件路径直接选取文件。无论哪种方式,都必须注意库文件名的格式:即要去掉路径、去掉lib前缀、去掉.a后缀,否则编译时出错。具体的,如我们需要使用GNU编译器对应的DSP库文件libarm_cortexM4lf_math.a(该文件建议预先添加到磁盘工程目录中),需要将其文件名修改为arm_cortexM4lf_math,如图3所示。

    图3 DSP配置示例

     

    6. 配置编译文件格式(可选)。默认会生成hex文件,保存在工程目录下的DEBUG文件夹中。如需生成Bin文件,在项目属性的Build Step面板中(见下图4)按需进行如下配置即可。

    • 若编译后生成hex,添加(IDE默认):

    arm-atollic-eabi-objcopy.exe -O ihex “${BuildArtifactFileBaseName}.elf” “${BuildArtifactFileBaseName}.hex”

    • 若编译后生成bin,则添加:

    arm-atollic-eabi-objcopy.exe -O binary “${BuildArtifactFileBaseName}.elf” “${BuildArtifactFileBaseName}.bin”

    图4 编译命令配置面板

    三、其他

    主要包括配置实现串口打印log功能、堆栈内存配置文件说明。

    1. 配置实现串口打印log功能。

    首先,将下表中的代码复制粘贴到工程中即可;

    #ifdef __GNUC__

    #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

    PUTCHAR_PROTOTYPE

    {

    HAL_UART_Transmit(&huart3, (uint8_t*)&ch, 1, HAL_MAX_DELAY);

    return ch;

    }

    #endif

     

    int _write(int file, char *ptr, int len)

    {

    int DataIdx;

    for (DataIdx = 0; DataIdx < len;DataIdx++)

    {

    __io_putchar(*ptr++);

    }

    return len;

    }

    其次,为使printf中支持浮点型数据,需在Tool Settings配置中添加命令:-u_printf_float,见下图4:

    图5 串口打印功能配置

     

    2. 配置堆栈内存分配、程序运行起始地址。

    根据需要可在工程根目录下的STM32F427VI_FLASH.ld文件中直接修改。

    四、程序烧写

    默认情况下,编译完成后,trueStudio会在工程目录下生成debug目录并在该目录下生成hex、bin等格式文件,此时可以使用stm32CubeProgrammer将所需文件烧写至Hardware即可。此过程较易,不再赘述。

    五、参考资料

    1. 官方文档

    • 略,不再列出

    2. 网络链接

     

     

    展开全文
  • TrueStudio的下载 与 安装

    千次阅读 2019-04-25 23:22:54
    TrueStudio是一个的基于Eclipse的C / C++集成开发工具,目前已经升级到 9.3.0 。从官网的Features中可以发现有一些不错的特性,像Hard Fault Analysis,Version Control,Stack Analyzer等等。代码模板的功能相较MDK...

    简介

    TrueStudio是一个的基于Eclipse的C / C++集成开发工具,目前已经升级到 9.3.0 。从官网的Features中可以发现有一些不错的特性,像Hard Fault Analysis,Version Control,Stack Analyzer等等。代码模板的功能相较MDK要智能,也可以在IDE中打开终端,使用git脚本控制版本等,网上有很多测评体验,这里不再赘述。不过IDE似没有提供直接烧录程序的按键,一般都是通过Debug下载程序,并进入调试模式。
    在这里插入图片描述
    关于TrueStudio更多介绍,详见官网:https://atollic.com/

    下载

    TureStudio 可以在官网直接下载:https://atollic.com/resources/download/
    官方提供了Linux 和 Windows 系统的安装包
    Window 版本Linux 版本
    以Windows系统为例,点击 Windows installers以后就进入下载界面,需要填写一点基本信息,但是非常便捷,之后就进入下载界面,选择版本下载:
    在这里插入图片描述
    如果用浏览器直接下载速度不理想可以使用迅雷下载:
    在这里插入图片描述

    安装

    打开下载好的安装程序,可以选择语言:
    在这里插入图片描述
    接着接受协议,然后安装驱动:
    在这里插入图片描述
    安装过程中会提示是否安装STMicroelectronics,点击安装
    在这里插入图片描述
    TrueStuido不会自动生成桌面快捷方式,可以在开始菜单中的所有程序打开:
    在这里插入图片描述
    第一次打开需要配置工作区,选择一个合适的目录存放即可:
    在这里插入图片描述
    配置完工具区以后,进入IDE主界面,即安装完成:
    在这里插入图片描述

    展开全文
  • TrueSTUDIO开发软件中如何实现在flash指定位置保存常量,使用官方文档“user_guide.pdf”修改多次不能实现。通过阅读“ld.pdf”以及网上该文档的翻译版本,历时2天,实现方法总结如下。
  • TrueSTUDIO设置文本编辑字体大小

    千次阅读 2019-05-08 09:50:54
    图形操作说明 说明 进入大小设置界面,需双击图中 C/C++ Editor Text Font xxxx
  • truestudio配置stlink和jlink

    千次阅读 2019-05-09 11:10:56
     EGGER J-LINK 在安装的时候,检测到有TRUESTUDIO 工具的存在,会更新“TrueSTUDIO for STM32 9.0.0\Servers\”下的工具驱动,工作目录设置到这个目录下即可  没有以上工作目录,可尝试重新安装一次JLINK驱动 ...
  • 手把手教你安装TrueSTUDIO并集成STM32CubeMX

    千次阅读 多人点赞 2018-12-05 20:44:56
    手把手教你安装TrueSTUDIO并集成STM32CubeMX 第一步:安装TrueSTUDIO   可以到TrueSTUDIO官网下载最新版的TrueSTUDIO(需要填写简单的个人信息),也可以下载我提供的TrueSTUDIO,提取码4fhu。这个软件是免费的,...
  • 图形参考步骤 说明 在工程项目单击鼠标右键,选择 Properties 说明 根据图中标记层次关系进行选择 ...
  • STM32CubeMX+TrueSTUDIO开发STM32的全新方式

    千次阅读 热门讨论 2018-11-24 17:36:29
    TrueSTUDIO之前是Atollic公司做的,之后被意法半导体公司收购,正式为STM32用户提供全免费、全功能的专业MCU集成开发环境,有了官方支持,TrueSTUDIO用起来肯定不差,于是我最终选择TrueSTUDIO开发STM32。...
  • 使用STM32CubeMX和TrueSTUDIO开发STM32系列微控制器

    万次阅读 多人点赞 2018-07-18 18:22:10
    关于TrueSTUDIO TrueSTUDIO介绍 为什么使用TrueSTUDIO 下载及安装 使用演示 关于STM32CubeMX STM32CubeMX介绍 为什么使用STM32CubeMX 下载及安装 STM32CubeMX可以从...
  • Linux环境下ARM开发工具TrueSTUDIO初体验 TrueSTUDIO是Atollic公司出品的ARM开发工具,号称“The best FREE C/C++ IDE for ARM® development”,从7.0版本开始推出了Linux版,后续还会推出Mac OS X版。截止今日...
  • 1.软件:Atollic TrueSTUDIO for STM32 9.3.0 适用于STM32的Atollic®TrueSTUDIO®是一款灵活,可扩展的开发和调试IDE,适用于需要极其强大的工具来帮助开发高质量嵌入式软件的STM32 MCU开发人员。TrueSTUDIO®基于...
  • truestudio只下载不调试

    千次阅读 2019-05-09 11:19:13
    说明 修改配置脚本实现,在修改DEBUG配置文件时,先对工程项目进行编译
  • 打开TrueSTUDIO的工程属性,下图: 若编译后生成hex,则添加: arm-atollic-eabi-objcopy.exe -O ihex “${BuildArtifactFileBaseName}.elf” “${BuildArtifactFileBaseName}.hex” 若编译后生成bin,则添加:...
  • CubeMX与Truestudio环境配置并建立stm32工程 编译 调试 下载流程前言1. 通过CUBEMX生成stm32工程2. 代码提示3. debug调试4. 下载程序 前言 鉴于keil开发环境的代码编辑不够友好,以及keil是商业付费软件,可能有...
  • TrueSTUDIO 9.0.0 软件界面语言的设置

    千次阅读 2018-03-25 16:04:44
    在中文版Windows 7下安装TrueSTUDIO 9.0.0后,软件界面上部分菜单是中文的,看起来很别扭。本人习惯了看英文的软件界面,于是将其改为英文界面。在其安装手册内,对软件的界面语言设置有说明,就是在运行TrueSTUDIO....
  • 一、TrueSTUDIO说明 不管是还在学习的还是已经工作的应该都很熟悉Keil和IAR这两款用来开发嵌入式的软件,在国内普遍用的这两款编译软件都是破解版的,并没有经过正规渠道授权注册,这就导致了在开发中总会显得...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 188,199
精华内容 75,279
关键字:

trueStudio