本次更新内容为STM32CubeMX生成STM32H7 工程项目应用中Pinout&Configuration关于Computing、Middleware(LWIP)、Trace and Debug、Power and Thermal部分说明,文中Tips是比较易出错的点,多多关注。欢迎关注本公众“硬件开发不完全攻略”,上传可能中可能有些图片可能分辨率有降低,后台回复“STM32”,获取源文档。
配置主界面
1Pinout&Configuration
1.1System Core
1.2Analog
1.3Timers
1.4Computing
1.4.1CRC
1.4.1.1功能要点
1.4.1.2配置
Tips1:生成多项式(Generating Polynomial)要根据实际需要来配置。例如下图中,就是根据MODBUS的CRC16的要求配置的多项式;
Tips2:Input Data Inversion Mode要配置为Byte,Output Data Inversion Mode要使能,Input Data Format要配置为Bytes。这样配置后,与我们软件CRC计算可以兼容,两者结果完全一致。Input/ Output Data Inversion Mode为什么需要,也可以根据CRC的原理计算方法来分析一下。
1.5Middleware
1.5.1LWIP配置
Tips1:使能LWIP组件,必须使能ETH组件,以及CPUDCache。自动生成代码后,如果不想使用DCache,可以手动禁止,也可以正常使用;
Tips2:LWIP版本为2.1.2,是当前LWIP最新的RELEASE版本;
Tips3:LWIP组件已经开放了较多的配置项,但是要想真正了解LWIP,优化内存占用等,还需要仔细分析各个配置项的含义。主要是key options中的相关配置。
1.6Trace and Debug
1.6.1DEBUG
Tips1:目前设计中,DEBUG一般都设计为SWD模式,节省调试接口IO数量和空间;
Tips2:STM32的调试口,可以复用为普通GPIO来使用。
1.7Power and Thermal
1.7.1PWR
1.7.1.1功能要点
1)供电模式:LDO
电源设计的是LDO模式。MCU寄存器默认的是LDO模式。
注意:电源模式的配置要与硬件设计对应。
系统默认的是LDO模式。
默认03:VBOR3
2)PVD
注意:监视内部电压时,可设置范围是0-6,如果要监视外部电压输入,则要设置为7。使用HAL函数库时需注意。
3)AVD
4)Temperature thresholds
1.7.1.2PVD配置
Tips1:PWR PVD Mode选择basic mode,不直接选择中断模式。但是同时要在NVIC中使能PVD的中断(目的是让自动生成的初始化代码中配置好PVD的中断优先级等)。目的是为防止上电时,CPU开始运行时,PVD电压还未稳定在设置的门槛值以上,此时进入PVD中断,PVD中断中会直接复位系统,导致无法一次上电成功的风险;
Tips2:PVD使用时,建议在初始化中先阻塞等待PVD电压建立,建立后,再配置为中断模式,开启中断。