1# 安装True STUDIO

1. 前言

        大一的时候我使用 Keil5 作为 STM32 和 51单片机的 IDE,但是使用过 Keil5 的都能发现,这个根本不是现代的编译器,啥代码提示,啥点击跳转,都没有,而且还中文显示特别奇怪,大二就有想法使用Eclipse 和 CDT,来编写 STM32。网上有很多的参考,但是我再 Linux 下的却没有成功过,于是就放弃了。大约到了大三,有门课程要用到 STM32,但是老师还是使用 Keil 进行教学,但是有一次被 Keil 给折磨了一次,折磨完后又开始找办法,终于有一次看见 TrueSTUDIO 支持 STMN32 并且是在 Eclipse 上开发的,我曾使用过 Eclipse 编写 Android,有很多的地方能在 TrueSTUDIO 中借鉴。

2. 下载

        TrueSTUDIO 曾经是付费的,现在是免费的。
网址为:https://atollic.com/truestudio/,可以进行下载。

3. 安装

Windows 安装并不麻烦,基本是选择默认选项就行。

4. 制作项目

        True STUDIO 和 Keil5 有些不同,比如创建项目,True STUDIO 可以下载从项目商店进行下载一写官方的例程。方式如下:

  1. 文件 => 新建 => 从 TrueSTORE 下载新的事例项目


    从 TrueSTORE 下载新的事例项目.png

有一些示例代码,可以参考。

  1. 文件 => 新建 => C Project 进行自定义新建项目
C Project 进行自定义新建项目.png

选择 Embedded C Project 然后 下一步。

Embedded C Project.png

选择 自己的机型,我是新手,一般使用 F103 ,就能满足要求。

image.png

选择标准库(但是两个选项好像没有多大区别,也就不用在意)

标准库.png

选择调试配置器,我自己买了一块野火的开发板,带有一个 JTAG,但是不能用,估计要重新买,现在使用 TrueSTUDIO 进行编写代码,使用 Keil5 烧录。(凉凉)但是据说 ST-Link v2 比较便宜,打算入手一块。

调试配置器.png

点击完成

完成.png

5. 解析 新项目

        可以看出新建的项目并不是全部是空的,而是似乎把一些默认的选项给设置好了,类似于 Keil 中的模版,看看是不是这么回事吧。

生成的默认项目.png

一个个来介绍:
Binaries: 生成的二进制文件,内含有编译文件(.elf)文件
Includes:包含文件,该处是整个项目中指定库文件位置产生的链接,简单理解就是,.h 头文件在编译的时候并不会被链接到,只有在项目中指定 .h 头文件的路径才能被链接到,includes中就是显示了被链接到的路径名称。也就是自己写的 .h 文件要设置过,才能被编译到。

Includes.png

Libraries:固件库文件夹,含有两个文件夹 CMSIS 与 StdPeriph_Driver


Libraries.png

Libraries/CMSIS:与片内寄存器相关,有代表性的如下:

stm32f10x.h                 外设头文件
system_stm32f10x.h          STM32时钟配置
core_cm3.h                  内核寄存器映射

Libraries/STM32F10x_StdPeriph_Driver:与外设相关,有代表性的如下:

|-misc.h                外设对内核中的NVIC 的访问
|-stm32f10x_adc.h       ADC(模数转换)库函数
|-stm32f10x_bkp.h       bkp()
|-stm32f10x_can.h       can(CAN总线)
|-stm32f10x_cec.h       cec
|-stm32f10x_crc.h       crc
|-stm32f10x_dac.h       dac(数模转换)
|-stm32f10x_dbgmcu.h    dbgmcu
|-stm32f10x_dma.h       dma(DMA)直接存储器访问
|-stm32f10x_exti.h      exti    外部中断事件控制器
|-stm32f10x_flash.h     flash
|-stm32f10x_fsmc.h      fsmc
|-stm32f10x_gpio.h      GPIO(引脚口)
|-stm32f10x_i2c.h       IIC(IIC总线)
|-stm32f10x_iwdg.h      iwdg(独立看门狗)
|-stm32f10x_pwr.h       pwr(睡眠模式)
|-stm32f10x_rcc.h       rcc
|-stm32f10x_rtc.h       rtc(实时时钟)
|-stm32f10x_sdio.h      sdio
|-stm32f10x_spi.h       spi(SPI总线)
|-stm32f10x_tim.h       TIM(滴答时钟)
|-stm32f10x_usart.h     USART(串口通信)
|-stm32f10x_wwdg.h      wwdg(窗口看门狗)

由于自己也是弱鸡,所以库函数也没认全。
src:一些启动项目,比较重要的有:

main.c    主函数
startup_stm32f10x_hd.s  启动文件
stm32f10x_conf.h    包含所有的 .h 文件
stm32f1xx_it.c          与中断向量有关
system_stm32f10x.c      上面介绍过了相关的 .h 与 系统时钟相关

6. 进行编译

        上面的目录中有一个 Debug 文件夹,就是与编译相关。


编译.png

        点击第一个锤子,进行 Debug 编译,

Debug.png

编译成功,可以点击最后一个小锤子,将 编译模式更改为 Release 模式。

image.png

再次进行编译。就会生成 Release 目录。

Release.png

7. 烧录

        由于资料有限,还没进行烧录成功过,一直显示 SEGGER JTAG 未匹配,打算重新买个 ST-LINK v2 进行尝试,关于bilibili 上有个视频,谈到只下载不调试。可以作为参考。
True STUDIO 只下载不调试

8. 关于后续

        后续我将会按照我熟悉的库文件,进行一个个讲解。

你可能感兴趣的:(1# 安装True STUDIO)