本帖最后由 wolfgang2015 于 2018-5-17 22:51 编辑 5 T" U4 ?; w+ b- l 2018年4月13日,摩尔吧独家举办在线主题为《STM32超低功耗平台上的RTOS应用》的培训直播/回看 地址为:https://www.moore8.com/courses/1902 & j) Y$ m0 s! P! \$ A 课程大纲:(授课+实验) PART1:课程要点: 1) 学习和掌握一种RTOS ; Z4 d% n3 O9 u 2) FreeRTOS的原理 . p2 U& V* o! l. b- s 3) 基于Nucleo-L496ZG的OS应用 PART2:实验部分 资深工程师手把手带你完成有挑战的小实验! 1) FreeRTOS的启动 0 y( h+ R8 t2 x 2) 创建任务 , Q# q( l% ~8 O M4 K2 d3 } 3) 信号量应用 4) 队列应用 5) TraceAlyzer使用 这次在线培训的相关板卡为:Nucleo-STM32L496ZG) h- c6 r$ [5 _$ s+ w) e; c 为这次RTOS培训,准备步骤如下: 第一步:了解STM32L496 MCU硬件资源 第二步:了解Nucleo-STM32L496ZG 板卡的扩展口内容 第三步:以Nucleo-STM32L496ZG 板卡为代表的MB1312系列Nucleo 144 原理图及TOP图: 开发板TOP图及电源连接图,中间是一颗STM32L系列144pin的MCU。 1、接口原理图分别将 PA[0]~PA[15]、PB[0]~PB[15]、PC[0]~PC[15]、PD[0]~PD[15]、PE[0]~PE[15]、PF[0]~PF[15]、PG[0]~PG[15]、PH[0]~PH[1] 以及PH3(BOOT0)、MCU复位PIN(NRST)引出。 2、USB接口引出USB_DP、USB_DM、USB_VBUS、USB_ID 可实现USB-HOST与USB-Device的功能应用设计; l 使用USB-Host端功能设计时,需将USB_ID pin和地短接; l 使用USB-Device端功能设计时,需将USB_ID pin悬空(设备内部上拉)。 另外使用USB_GPIO_OUT、USB_GPIO_IN(复用GPIO口功能),实现对USB设备的Disconnect、PowerSwitchOn、OverCurrent、VBUS DET的控制及监控。 * X! Z( {: S" K( g: J: \ 3、PG[0]至PG[15]用于SMPS 电源支撑,SMPS(开关电源)是一种高频化电能转换装置。其功能是将一个位准的电压,透过不同形式的架构转换为用户端所需求的电压或电流。 & m. a# f$ _' P$ t2 o% j1 I 4、板载一颗由STM32F103CBT6实现的ST-LINK V2-1 对STM32 主MCU进行在线调试并提供STLK_RX、STLK_TX的串口连接,以便在线调试时能将信息通过串口输出给上位机。 7 d6 {% K8 P* y$ A+ J9 i; U 5、电源部分 l 若由USB/ST-LINK供电,则LD39050PU33R实现5V转3.3V,为MCU及周边器件提供DC/DC电源; l 若由外部电源VIN供电,通过LD1117S50TR实现稳定的5V电源供电; l 电源的切换由JP6的跳接实现; 当使用默认的USB供电时ST890CDR受ST-LINK PWR 使能控制对MCU上电。 A、MB1312板卡串口电路分析,备用来做CoreMark相关例程; STM32L496使用的是PG7、PG8的 LPUART来连接ST-LINK的RX/TX,实现串口通信,并且满足低功耗运行时的串口输出需要。 串口通信时,需要注意的事项请参考文档: 一个关于LPUART输出异常的问题分享:文档核心内容主要是介绍 LPUART 的供电和波特率设置。 ) t) P0 v0 ]$ e# s. y% p3 p) s 3 w4 p1 H$ m7 N' |) y( R J7 d# g% K B、MB1312板卡LED、按键电路分析,备用来做FreeRTOS 多线程应用的HelloWorld例程; LD1 连接运放TSV631AILT 输出端,TSV631AILT的正向端与STM32L496 PC7引脚连接实现同相放大。可实现LD1呼吸灯的应用场景。 ( Z8 H$ p; t w. P s9 H ] LD2、LD3分别连接PB7、PB14,可通过PB7和PB14实现控制。 " G- r# o. i, b# | 《低功耗MCU运行FreeRTOS》培训课程(三) Atollic环境实验 《低功耗MCU运行FreeRTOS》培训课程(四) 创建任务& K: p- |. A2 i0 I' K 《低功耗MCU运行FreeRTOS》培训课程(五)信号量实现人机交互 《低功耗MCU运行FreeRTOS》培训课程(六)消息队列的使用 7 {- M' X# e0 l |
共勉,一起学习~~