你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F767的USB工作在HOST模式下的远程唤醒问题

[复制链接]
STMCU-管管 发布时间:2018-12-3 13:27
STM32H7 DMA 传输异常案例分析
7 u2 ^2 i0 I# S& A  _# b! L0 B. W3 y& u3 d2 I6 B# c1 o
前言 # F! g5 v& `7 f, F' t2 q
- H; J+ i3 }2 @( J  C
利用 ST 提供的辅助开发工具 STM32CubeMX,可以快速开发 STM32 应用。在本文中讨论的 ADC 应用,同样是建立在STM32CubeMX 生成工程的基础上。具体为在 STM32H743ZI 上,利用 DMA 自动实现 ADC 数据周期采集和转移,在采集指定数量的采样值后产生中断,对数据进行处理。文中仅对上述实现过程中出现的一种异常,进行介绍和分析。不涉及具体的 ADC 采集和处理实现的介绍。
' V* w" A$ D: J/ u2 S% w$ c( [) m3 K- F
一 实验环境 6 K: _/ C! [  [- @$ O  x# o' B
& X3 x$ }8 S  r* H) }% Z
硬件平台:Nucleo-H743ZI
5 f# C- r2 p! B1 zSTM32CubeMX 版本:v4.28.0 4 C6 J* K- W3 Z
STM32CubeH7 版本:v1.2.0 1 p% d8 y  ]+ t9 c$ b2 \
IDE: MDK-ARM v5.25.2.0 (优化级别 Level3) ) ]7 H5 S" z4 `* G8 I" C) B9 u% t
首先利用 STM32CubeMX 生成 ADC 应用的初始化工程,涉及的配置如下所示
  S$ ~, q' _) m/ N; O6 k* g( J7 `
% {5 `5 I- L, x2 U
TIM截图20181203131946.png
3 k( g: K/ o9 w8 I: b( r

6 @3 v# C( F5 o) r然后在工程中增加对 ADC 周期采集和 DMA 传输实现的命令,如下所示。并且增加回调函数内容,本文中实现仅添加了空指令。在调试过程中,在空指令处增加断点,判断 ADC DMA 传输半完成和传输完成中断是否正常进入。! ^: ]. O! R5 d

6 e: b! n5 x: F, E& B; q4 C! o

  {/ m, x9 D0 G2 t
TIM截图20181203132104.png
1 B0 o8 s* A3 }8 P/ P6 [- j
- w. d+ W$ ?# b" b8 H
注: 如果在编译链接的过程中,出现没有定义 ECC_IRQn 提示,需将 stm32h7xx_hal_msp.c 中对HAL_NVIC_SetPriority(ECC_IRQn, 0, 0);的调用移除。

/ |8 A9 _2 G2 |+ s
, ^( t% D& [3 @( D" [
二 异常现象

; j1 t: s8 \/ l3 K
在运行过程中,无法进入 HAL_ADC_ConvHalfCpltCallback 和 HAL_ADC_ConvCpltCallback 回调函数(分别对应 DMA传输半完成和传输完成回调函数)。

3 w4 l+ D4 |+ {4 I: l5 k
跟踪中断服务函数,发现在首次 DMA1 传输后,DMA_LISR 寄存器值为 0x8。即 TEIF0 置位,Stream 0 出现传输错误。

. X, t+ l$ ^6 x
- C4 u. i( h' T5 n2 q" o0 V9 l" o
三 原因分析

* U3 C: c- {0 _$ y# G: _' n. [4 \- e
根据错误信息,问题可能与 DMA 1 传输错误有关。重点围绕 DMA1 传输配置, 进行检查,并没有发现异常。
& x2 J. a" f! N" T
不过,同样的初始化配置和执行命令,放置在 ADC 例程(路径STM32Cube_FW_H7_V1.2.0\Projects\STM32H743ZINucleo\Examples\ADC\ADC_DMA_Transfer),进行编译链接后,能够正常执行。

% a7 ~, u9 `% V* @7 X- H
比对两者间的工程配置,发现在 RAM 分配上存在差异。下图为 STM32CubeMX 生成工程中,对应的 RAM 分配情况。与此对应,例程中 RAM 分配至 IRAM2 (0x24000000)。

3 w! A/ H( M- H) Q  x
% t2 A7 B- [( A* N( W( d
.................

4 L& [! Z' X4 ]* B% s
+ ~6 H, G: ~+ b1 D6 v
想了解更多,请下载原文阅读

: c6 H' O$ |4 `* h3 A6 Q# U& F  X4 A7 F1 M

8 m0 S5 F$ |( p' {) U& p- Y
赞 收藏 评论4 发布时间:2018-12-3 13:27

举报

4个回答
一代睡神的崛起 回答时间:2018-12-5 09:19:15
梦想有块H7
访客1989 回答时间:2018-12-5 09:23:08
GET
Bowen1028 回答时间:2018-12-5 09:48:20
学习了
Kevin_G 回答时间:2019-1-16 10:27:21
学习了

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版