本帖最后由 wolfgang2015 于 2018-5-17 22:51 编辑 ) ?& b/ i% a5 M7 C 2018年4月13日,摩尔吧独家举办在线主题为《STM32超低功耗平台上的RTOS应用》的培训直播/回看 地址为:https://www.moore8.com/courses/19020 T9 P) E. A! U5 u) U2 G4 v 6 p# A: n3 q. k9 \ 课程大纲:(授课+实验) PART1:课程要点: 1) 学习和掌握一种RTOS , r; ]0 R! F' @: f 2) FreeRTOS的原理 3) 基于Nucleo-L496ZG的OS应用 PART2:实验部分 资深工程师手把手带你完成有挑战的小实验! 1) FreeRTOS的启动 7 n' N1 g5 B% X2) 创建任务 - l! b: d" V F0 [ 3) 信号量应用 : T! ^8 w8 Z* P; @2 k3 U 4) 队列应用 2 l4 p- c9 M9 O$ } 5) TraceAlyzer使用 这次在线培训的相关板卡为:Nucleo-STM32L496ZG, h1 O* |" J9 m" Q8 o 为这次RTOS培训,准备步骤如下: 第一步:了解STM32L496 MCU硬件资源 , k: I. R7 d9 N8 ^# G 第二步:了解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)引出。 ( L7 v0 ~1 M/ G. H. Q! i 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的控制及监控。 , p8 ~# G! o$ P( d2 }: c/ M" V 3、PG[0]至PG[15]用于SMPS 电源支撑,SMPS(开关电源)是一种高频化电能转换装置。其功能是将一个位准的电压,透过不同形式的架构转换为用户端所需求的电压或电流。 4、板载一颗由STM32F103CBT6实现的ST-LINK V2-1 对STM32 主MCU进行在线调试并提供STLK_RX、STLK_TX的串口连接,以便在线调试时能将信息通过串口输出给上位机。 5、电源部分 l 若由USB/ST-LINK供电,则LD39050PU33R实现5V转3.3V,为MCU及周边器件提供DC/DC电源; l 若由外部电源VIN供电,通过LD1117S50TR实现稳定的5V电源供电; l 电源的切换由JP6的跳接实现; 当使用默认的USB供电时ST890CDR受ST-LINK PWR 使能控制对MCU上电。 - u+ h3 B( w! V- `( Z' a. [; B l A、MB1312板卡串口电路分析,备用来做CoreMark相关例程; STM32L496使用的是PG7、PG8的 LPUART来连接ST-LINK的RX/TX,实现串口通信,并且满足低功耗运行时的串口输出需要。 串口通信时,需要注意的事项请参考文档: 一个关于LPUART输出异常的问题分享:文档核心内容主要是介绍 LPUART 的供电和波特率设置。 0 ^# O+ \$ Z. c+ R" j 2 W& p+ X) w. H# `6 o$ l* z4 h0 { B、MB1312板卡LED、按键电路分析,备用来做FreeRTOS 多线程应用的HelloWorld例程; LD1 连接运放TSV631AILT 输出端,TSV631AILT的正向端与STM32L496 PC7引脚连接实现同相放大。可实现LD1呼吸灯的应用场景。 6 ^, @4 W8 y3 s- V. T& h: W& O. J 4 g0 h# o% I* A( W LD2、LD3分别连接PB7、PB14,可通过PB7和PB14实现控制。 ( ? o! k8 ^9 B7 o% c . y; q2 h0 y2 y" q , [" z+ ]7 x0 T" |# ^% ^1 r/ x 《低功耗MCU运行FreeRTOS》培课程回顾(二)《低功耗MCU运行FreeRTOS》培训课程(三) Atollic环境实验 《低功耗MCU运行FreeRTOS》培训课程(四) 创建任务 《低功耗MCU运行FreeRTOS》培训课程(五)信号量实现人机交互 a# r' ?$ t1 A1 `* H% l2 m. ~ 《低功耗MCU运行FreeRTOS》培训课程(六)消息队列的使用4 N! l$ I/ h, Z+ r) o " M. B3 }* {6 b) r# R7 w ! J7 r( i- e Z( R# o# W. ^5 c, D% Y |
共勉,一起学习~~