微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32开放式开发环境:释放创造力的利器

STM32开放式开发环境:释放创造力的利器

时间:07-01 来源:与非网 点击:

市场上涌现各种价格亲民的经济型微控制器,助力新一代开发者创造令人兴奋的新型嵌入式应用。如今的开发工具非常好用,软硬件均呈现模块化趋势,插接安装简单容易,使得产品设计评估和原型开发周期大幅缩短。STM32开放式开发环境是业内独一无二的软硬件开发平台,堆叠式插接电路板集成各种模块化硬件,同时模块化软件覆盖从驱动程序到应用层的全部软件,帮助设计人员将创意快速变成产品原型,顺利转化成最终设计。

STM32开放式开发环境是什么?

STM32开放式开发环境 是意法半导体开发的嵌入式系统原型设计开发环境,以简化嵌入式项目设计为目标,通过开源形式提供全部重要功能模块,组件包括:

-价格极低的STM32 Nucleo开发板(STM32微控制器)和STM32 Nucleo扩展板(传感器、通信接口、电机控制和致动功能),提供基于尖端商用产品的各种硬件功能。

-基于STM32Cube软件工具的STM32微控制器软件库和简单好用的软件库配置器(STM32CubeMX )。

-STM32Cube扩展软件库,支持STM32 Nucleo扩展板上各种器件,包括电机驱动器、低能耗蓝牙模块、MEMS传感器等。

-功能包:一套利用STM32 Nucleo开发板和STM32Cube软件为一些最常用用例开发的功能性例程(代码示例)。

-每个软硬件功能模块都配备描述详尽的技术文档。

-活跃的快速发展的在线开发社区

STM32 Nucleo开发板

STM32 Nucleo开发板是STM32开发环境的基础组件,板载一颗基于ARM® Cortex®-M 32位处理器内核的STM32微控制器。STM32开放式开发环境所用的STM32 Nucleo开发板是64引脚版(图1)微控制器。目前STM32 F4和STM32 L0微控制器兼容所有的STM32 Nucleo扩展板和扩展软件。

图1 – STM32 Nucleo-64开发板

开发环境使用基于STM32Cube HAL(硬件抽象层) API的STM32Cube软件库,大幅降低了在不同系列的STM32产品(目前有20余款STM32 Nucleo开发板)中移植软件项目所需的编程工作量。

STM32 Nucleo-64开发板硬件具有以下特性:

-采用LQFP-64封装的STM32微控制器

-通过38引脚的Morpho连接器可以使用STM32的所有引脚

-四个Arduino连接器(位置非对称排列,引导用户正确插接Arduino兼容扩展板)

-集成ST-LINK/V2-1调试器/代码烧录器和mini USB端口,无需安装额外的调试工具,板子可直连PC机,进行调试和烧写代码操作。此外,USB接口支持虚拟COM端口和大容量存储接口(兼容ARM mbed)

-2个按键(微控制器复位信号和开发者专用按键)

-3支LED灯(5V电源、开发者专用、ST-Link调试器状态)

用户可以为板子选用不同的电源:

-5V USB供电

-5V外部电源

-外部电源VIN (7-12V)

STM32 Nucleo开发板上的5V电源还用于驱动通过Arduino或morpho连接器连接主板的扩展板,同时通过板载稳压器为STM32提供3.3V 电源。

STM32 Nucleo开发板功能性极强,板载代码烧写/调试工具非常实用,设计人员可以立即动手开发项目,而无需添置昂贵的开发工具。

基于STM32Cube的嵌入式软件和工具

在选中了最适合自己的STM32 Nucleo开发板后,下一步是下载相关的软件库,熟悉STM32技术特性和外设。最快捷的入门方式是下载软件库配置器STM32CubeMX (www.st.com/stm32cubemx)。在这个工具的图形用户界面内,用户只要直接选择正在使用的STM32 Nucleo开发板(图2),配置器就会按照板子所连接的硬件设备(例如LED、按键、UART引脚分配)自动配置STM32外设。

下一步,可能需要详细配置每个外设,例如,设置UART同步/异步通信模式、波特率、寄偶校验和停止位。

图 2 – STM32CubeMX: 从板子选型到外设配置,只需几步简单的操作。

最后,STM32CubeMX将生成代码,创建一个完整软件项目,且兼容所用代码编译工具链(例如IAR、Keil或Eclipse),同时配置先前在图形用户界面内所选的全部硬件和外设,并兼容所用代码调试/烧录工具。

这个图形用户界面工具让你从零开始创建项目,几分钟完成项目所需的全部配置,然后立即动手创建自己的软件项目,直接在main.c文件里写代码。

图3 – STM32Cube软件库的层次

所生成的代码位于STM32Cube嵌入式软件之上,STM32Cube有两个主层(图3):

-硬件抽象层:准许上面的软件层(例如,中间件层)执行各自的功能,而无需开发人员深入了解如何使用微控制器

-中间件:一整套中间件组件(RTOS, USB, TCP/IP, …)

软件设计采用模块化方法,用户在项目开发过程中可以随时添加软件模块,轻松地跨系列移植全部项目。

STM32 Nucleo扩展板

为连接STM32 Nucleo扩展板,STM32 Nucleo-64开发板配备两种连接器:

-兼容Arduino标准的Arduino连

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top