[分享] STM32Cube工具,覆盖开发全过程(二)
1519 查看
8 回复
 楼主 | 发布于 2019-10-01 | 只看楼主
分享到:

接上文:
STM32Cube工具,覆盖开发全过程(一)

三、STM32CubeProgrammer通用特性:不仅仅是四合一

STM32CubeProgrammer在STM32Cube工具家族里,资历比不上STM32CubeMX这个老大,但是也推出了快两年时间。它的推出是为了一站式解决STM32烧片需求。首先要澄清一下,这里说的“烧片”,不是专业的一拖几的量产烧录工具,另外这里的烧片,也不仅仅是烧写STM32的片上闪存。

首先,它集合了以前若干年他们用到的几个分散工具:STVP,STLINK-Utility,Flash Loader,DFUSE Demonstrator。也就是说,它可以通过目标STM32的JTAG/SWD等调试接口,也可以通过UART、USB通信接口来烧录目标芯片。通过调试接口,可以烧写空片;通过通信接口烧写,需要目标STM32里面有对应的bootloader,可以是来自系统闪存里的出厂固化好的bootloader,也可以是来自用户闪存上自己编写的bootloader。 选项字节的设置、修改,也可以在这里通过图形化界面,直观地操作。片外flash的烧写,STM32CubeProgrammer支持ST原厂评估板上的各种板载存储器,也通过开发的接口,可以让用户自己编写flash loader来控制自己定制版上的各种闪存。

STM32出厂就固化在系统闪存里的bootloader,除了刚才提到的uart和usb,还支持i2c、spi、can等通信接口。但是之前除了AN2606文档里列出了通信API,没有支持I2C、SPI的上位机,需要客户自己根据通信API来开发。现在的STM32CubeProgrammer就集成了支持i2c、spi、can通信的上位机功能。STM32CubeProgrammer是运行在PC机上,PC机器并没与i2c、spi、uart这些端口啊,如何和目标STM32通信?这就要请出我们下一个工具,STLINKV3。在此之前,关于STM32CubeProgrammer再多说一句,除了在这里列出的以图形界面提供给用户的通用烧片功能,它的命令行提供更多的功能,比如对STM32WB的FUS、RF stack的烧写、更新;对STM32WB中特殊功能CKS的秘钥安装。在后续专门的蓝牙应用中,我们会来具体介绍。

四、STLINKV3:STLINK家族新生代

STLINK大家已经很熟悉了,从最早的stlink,到增加了SWV和带隔离功能的v2,然后是v2-1,-A,-B等变种。它们出现的形式,一个是单独模具的小白盒子,更多的是集成在ST原厂出品的各个STM32评估板上。

去年推出的STLINKV3是V2的升级版,是前者的一个超集。v2有的功能它都有,v2没有的功能,它也有。

首先是下载速度更快。stlink和PC是通过usb连接,以前stlinkv1、v2都是使用F103实现,采用的是F103的全速USB模块;现在stlinkv2使用STM32F7实现,采用的是高速USB模块,从而实现了更快速度的传输。

另外,以前的stlinkv1/v2,逻辑上除了调试功能外,还兼具USB转串口的uart bridge功能,stlinkv3在uart bridge的基础上,增加了i2c/spi/can bridge,这样搭配STM32CubeProgrammer,就是一个现成的i2c/spi/can/uart/上位机,和出厂固化在STM32系统闪存里的i2c/spi/can/uart/usb bootloader可以无缝完美对接。

当然,用户还可以实现自己的上位机,不一定使用ST的STM32CubeProgrammer。因此,我们也提供了操作STLINK v3上各种bridge的C++源文件,以及相应例程;方便用户集成到自己开发的上位机中。

最后,stlinkv3也有多种物理形式出现,一个是胶片中这种单独磨具的小盒子,一种是直接集成在开发板上的F7芯片形式;还有一种是带1.27毫米间距14引脚规格连接器的STLINKv3-mini。


五、STLINKV3 + STM32CubeProgrammer

这里是把STLINKV3和STM32CubeProgrammer搭配起来使用,作为i2c接口上位机的例子。

稍微说明一下,bridge功能在STLINK-v3的扩展板上实现,把对应跳线和nucleo-L452板子上L452 I2C接口连接;STM32CubeProgrammer上选择I2C连接,就可以和L452上的i2c bootloader通信了。

六、STM32CubeMonitors:应用开发和分析的好帮手
作为应用在STM32里面运行时的监测工具,STM32CubeMonitor家族,目前有三个,Pwr是用来测量低功耗应用下功耗的,动态测量范围可以低至100nA到50mA;RF是用于带无线模块的STM32应用调试的,现在支持的是STM32WB 套件板,可以用作STM32WB设备的OTA,作为上位机发送BLE、thread命令,做快速原型开发;UCPD是用于typeC上PD应用的配置和监测。

这三个PC端工具,和STM32CubeProgrammer一样,除了用户图形界面外,还支持命令行,并且它们都搭配ST的硬件板来使用。由于它们都偏向于特定应用,我们会后续根据大家的反馈和要求,做详细介绍。



请继续浏览
STM32Cube工具,覆盖开发全过程(一)


软件下载
• STM32CubeMX
  https://www.st.com/en/development-tools/stm32cubemx.html
• STM32CubeIDE
  https://www.st.com/en/development-tools/stm32cubeide.html
• STM32CubeProgrammer
  https://www.st.com/en/development-tools/stm32cubeprog.html
• STM32CubeMonitor-PWR
  https://www.st.com/en/development-tools/stm32cubemonpwr.html
• STM32CubeMonitor-RF
  https://www.st.com/en/development-tools/stm32cubemonrf.html
• STM32CubeMoitor-UCPD
  https://www.st.com/en/development-tools/stm32cubemonucpd.html

(1 ) (1 )
回复 举报

回复于 2019-10-02 沙发

感谢分享
(0 )
评论 (0) 举报

回复于 2019-10-03 2#

谢谢分享
(0 )
评论 (0) 举报

回复于 2019-10-07 3#

谢谢分享!!!
(0 )
评论 (0) 举报

回复于 2019-10-17 4#

感谢分享,有需要机械臂,电源,硬件电路设计,软件编程,开发板等各种定制的可以私聊我哦,相互学习,共同进步。
(0 )
评论 (0) 举报

回复于 2019-10-20 5#

感谢分享
(0 )
评论 (0) 举报

回复于 2020-03-05 6#

感谢分享!
(0 )
评论 (0) 举报

回复于 2020-03-13 7#

感谢分享
(0 )
评论 (0) 举报

回复于 2020-04-09 8#

谢谢分享!
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部