• STM32 Nucleo-144开发板开箱bring-up


    在这里插入图片描述


    1. 开篇

    最近做项目,用到STM32F446ZET6这款MCU,为了赶进度,前期软件需要提前开发,于是在某宝买了对应主控的官方开发板,为了避免遗忘,后面能翻出来回忆一些细节,就形成了本篇的主要内容,同时也希望能够帮助刚上手的小伙伴少走弯路,如果对你有帮助请点赞、收藏、转发,谢谢!


    2. 开发环境搭建

    开发环境一般是ST官方的STM32CubeIDE和MDK(Keil),博主用的是Keil,关于STM32CubeIDE和Keil的安装不是本篇的重点,在此就不赘言。默认你已经安装到位并能熟练使用。

    开发板的资源可以在下面的资源页面中下载:
    STM32F446ZE MCU的STM32 Nucleo-144开发板资源页面
    主要参考:
    【1】UM1727 用户手册 STM32 Nucleo板软件开发工具入门.pdf
    【2】MB1137 开发板原理图.pdf
    【3】UM1974 User manual STM32 Nucleo-144 boards (MB1137).pdf
    在本篇的绑定资源中也已经为大家准备好了,请根据需求自行下载。

    在这里插入图片描述


    2.1 下载官方例程

    例程资源包下载链接
    在这里插入图片描述


    在这里插入图片描述


    下载完后是这样的:
    在这里插入图片描述


    解压开后,我们找到一个例程,拷贝一份,用Keil打开,准备编译、烧录:
    在这里插入图片描述


    2.2 ST-Link安装

    如果自己的电脑之前没有用过ST-Link调试器,那就先安装一下:
    ST-Link驱动下载页面
    在这里插入图片描述


    STSW-LINK009驱动下载页面
    在这里插入图片描述


    下载成功后,解压:
    在这里插入图片描述


    根据自己的系统安装对应的驱动,安装成功后,查看设备管理器,确认是否已经识别板子:
    在这里插入图片描述


    在Keil工程中,选择ST-Link Debugger:
    在这里插入图片描述


    确认Keil已经识别到了板子:
    在这里插入图片描述


    3. STM32F446ZE demo工程

    3.1 STM32F446ZE简介

    STM32F446xC/E设备基于高性能Arm®Cortex®-M4 32位RISC内核,工作频率高达180 MHz。Cortex-M4核心采用浮点单元(FPU)单精度,支持所有Arm®单精度数据处理指令和数据类型。它还实现了一整套DSP指令和一个增强应用程序安全性的内存保护单元(MPU)。

    STM32F446xC/E设备包含高速嵌入式存储器(高达512 KB的闪存,高达128 KB的SRAM)、高达4 KB的备份SRAM,以及连接到两条APB总线、两条AHB总线和一个32位多AHB总线矩阵的大量增强型I/O和外围设备。

    所有设备都提供三个12位ADC、两个DAC、一个低功耗RTC、十二个通用16位定时器,包括两个用于电机控制的PWM定时器和两个通用32位定时器。

    它们还具有标准和高级通信接口。


    资源总览:
    在这里插入图片描述


    所有功能:

    • core:带FPU的Arm®32位Cortex®-M4 CPU、允许从闪存执行0等待状态的自适应实时加速器(ART加速器)、频率高达180 MHz、MPU、225 DMIPS/1.25 DMIPS/MHz(Dhrystone 2.1)和DSP指令;
    • 存储
      • 512 KB的闪存
      • 128 KB的SRAM
      • 具有高达16位数据总线的灵活外部存储器控制器:SRAM、PSRAM、SDRAM/LPSSDR SDRAM、NOR/NAND闪存
      • 双模式QuadSPI接口
    • LCD并行接口,8080/6800模式
    • 时钟、重置和供应管理
      • 1.7 V至3.6 V应用电源和I/O
      • POR、PDR、PVD和BOR
      • 4至26 MHz晶体振荡器
      • 内部16 MHz工厂微调RC(1%精度)
      • 带校准的RTC 32 kHz振荡器
      • 带校准的内部32 kHz RC
    • 低功率
      • 睡眠、停止和待机模式
      • 用于RTC的VBAT电源、20×32位备份寄存器以及可选的4 KB备份SRAM
    • 3×12位,2.4 MSPS ADC:最多24个通道,三重交织模式下7.2 MSPS
    • 2×12位D/A转换器
    • 通用DMA:具有FIFO和突发支持的16流DMA控制器
    • 最多17个定时器:2个看门狗,1个SysTick定时器,最多12个16位和2个32位定时器,最高180 MHz,每个定时器最多4个IC/OC/PWM或脉冲计数器
    • 调试模式
      • SWD和JTAG接口
      • Cortex®-M4 Trace Macrocell™
    • 最多114个具有中断功能的I/O端口
      • 高达111个快速I/O,最高可达90 MHz
      • 多达112个 5 V容错I/O
    • 多达20个通信接口
      • SPDIF Rx
      • 多达4×I2C接口(SMBus/PMBus)
      • 最多四个USART和两个UART(11.25 Mbit/s,ISO7816接口,LIN,IrDA,调制解调器控制)
      • 最多四个SPI(45Mbits/s),其中三个具有多路复用I2S,通过内部音频PLL或外部时钟实现音频类精度
      • 2x SAI(串行音频接口)
      • 2×CAN(2.0B有源)
      • SDIO接口
      • 消费电子控制(CEC)I/F
    • 高级连接
      • 带片上PHY的USB 2.0全速设备/主机/OTG控制器
      • USB 2.0高速/全速设备/主机/OTG控制器,带专用DMA、片上全速PHY和ULPI
      • 专用USB电源导轨可在整个MCU电源范围内实现片上PHY操作
    • 8至14位并行摄像头接口,最高可达54兆字节/秒
      • CRC计算单元
      • RTC:亚秒精度,硬件日历
      • 96位唯一ID

    3.2 跑个demo试一试

    板子上电自带程序,按键按下LD1、LD2、LD3切换两灭。
    我们烧录一个串口demo试试:
    查看原理图,串口3和ST-LINK调试器在同一个USB口上:
    在这里插入图片描述


    看一下时钟配置:
    配的是内部时钟在这里插入图片描述


    看一下串口配置:
    修改了一个demo代码,加了个循环打印
    在这里插入图片描述


    烧录进去后,打开串口助手,看看效果:
    在这里插入图片描述


    至此,STM32 Nucleo-144开发板STM32F446ZET6的bring-up完成。

  • 相关阅读:
    FFmpeg滤镜效果--镜头聚焦和移动走位
    Mybatis完整版详解
    Flink通讯模型—Akka与Actor模型
    类变量/静态变量
    CF1712 解题报告
    前端周刊第三十三期
    torch.nn.Linear(in_features, out_features, bias=True)[source]
    【自用14.2】C++俄罗斯方块
    一个C#开发者学习SpringCloud搭建微服务的心路历程
    ES6必会重点汇总
  • 原文地址:https://blog.csdn.net/Allen_Spring/article/details/132765435