STM32H747I-DISCO开发板移植RT-Thread

发表在 BSP2019-10-24 18:17 [复制链接] 7 286

前段时间买了一块STM32H747I-Disco开发板,M7&M4双核,真香!, x$ o% ^# H% C: [% K5 r
这段时间断断续续在移植RT-Thread,一直没有成功,相当头大,找原因也一直没有找到,直到今天问题终于解决了!
4 G: |$ E$ I, ^  E# `3 B2 U
9 o- W2 `  }: ^9 r% e% r" X$ T. mH747有两种供电模式,一直是LDO,一种是SMPS,而之前的STM32单片机都是LDO模式,CubeMX生成的代码也是这种默认模式。而板子电路图采用的是SMPS模式,所以在配置成LDO模式下,CPU是没有上电的,所以,只要程序下载进去,我立马就找不到STM32芯片了。此时,必须先把板子断电,然后按着RESET键,再给板子上电,然后用STM32CubeProgrammer连接板子的ST-LINK,在软件连接等待的时候,松手RESET键,H747芯片就能识别出来了,然后把Flash内的代码擦掉。
1 Y4 t# m7 k0 |' `' R% ^4 |; M2 x1 r9 [( Z5 Z' I9 s
解决办法如下:
* J' w& l+ ~3 j* E在board.c文件SystemClock_Config()函数内,修改如下函数参数:
  ]5 C5 D; U% S1 F# e5 V1 ?+ V$ O* J. u% vHAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);     --->    HAL_PWREx_ConfigSupply(PWR_DIRECT_SMPS_SUPPLY);) D3 V7 l$ A- `6 |0 R5 Q# m  x
5 Q* i# D. }- b. W
我是图:
* S, G6 @% i, z WechatIMG170.png WechatIMG171.png
6 |; B& Q' |" R  J
* j( {: P9 o. {9 ?: f7 s. z' w* O$ {
相关的工程代码已上传至github:* I+ ~1 `9 O5 p  u% `8 L
工程代码
" Z% ~8 ^3 B& b% ?* K' i  U+ c0 ]! l" K4 V2 g
估计这问题只有我自己遇到了,怪自己对这款芯片理解不深,希望能对有相关需求的小伙伴提供点微薄帮助。& ]3 }3 N8 l8 \

, N& a3 D. }: P0 A9 A0 zDaZhou6 s+ D% z; v- e
2019年10月24日1 W* L+ U8 i; ^0 ^
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-10-24 18:48:16 | 显示全部楼层
额,今年参加ST的H7双核培训,开课就讲了 CUBE生成的代码供电这里需要手动修改。
使用道具 举报 回复
发表于 2019-10-24 18:55:38 | 显示全部楼层
whj467467222 发表于 2019-10-24 18:482 i% l0 J4 y. Z& N, s/ n
额,今年参加ST的H7双核培训,开课就讲了 CUBE生成的代码供电这里需要手动修改。 ...
0 q0 Q) @6 F/ {
坑爹啊,早知道就早请教你了,我这断断续续快一个月了
使用道具 举报 回复
发表于 2019-10-25 08:36:06 | 显示全部楼层
DaZhou 发表于 2019-10-24 18:55
- W1 z1 X" J# k# ]; V坑爹啊,早知道就早请教你了,我这断断续续快一个月了

* C* [( u9 ?3 X1 \5 P+ N. NST中文社区
- k) g8 \/ C8 g2 z( ~安福莱论坛
% S8 F; t) P% K, O5 X% z这里面有H7的双核培训时候的资料,楼主可以看一下。0 \  R9 n$ ]9 K2 u
使用道具 举报 回复
发表于 2019-11-19 13:33:17 | 显示全部楼层
楼主,我下载了你的代码,在开发板上运行到如下处,卡了
9 x7 z6 j) E1 b0 p$ Q+ g5 \; Y& f    while((__HAL_RCC_GET_FLAG(RCC_FLAG_D2CKRDY) != RESET) && (timeout-- > 0));) @6 F; F' s. x& P2 M; h
    if ( timeout < 0 )2 u" j+ ~2 s! r
    {
, k+ |! M- J" a+ {5 M) V        Error_Handler();
' w3 q' G$ \0 [0 c( g    }0 {8 \3 N9 G* _8 `; N* w
,请问何故?
使用道具 举报 回复
发表于 2019-11-19 18:58:07 | 显示全部楼层
想请教一下楼主,是两个核都跑RT-Thread吗?RT-Thread现在可以支持异构双核?
使用道具 举报 回复
发表于 2019-11-21 11:47:46 | 显示全部楼层
softwind 发表于 2019-11-19 18:580 }6 u$ H5 M+ e$ R  f! p1 I2 D
想请教一下楼主,是两个核都跑RT-Thread吗?RT-Thread现在可以支持异构双核?

, p% X6 ~2 z5 S) _0 [" W" A都可以跑rt-thread,下载RT-Thread只支持SMP
使用道具 举报 回复
发表于 2019-11-21 11:48:09 | 显示全部楼层
power 发表于 2019-11-19 13:33
5 J7 m$ D6 ]$ I9 h6 N9 R楼主,我下载了你的代码,在开发板上运行到如下处,卡了
* b5 m8 Q6 }& x* X& O    while((__HAL_RCC_GET_FLAG(RCC_FLAG_D2CKRDY) ...

7 N8 C  I/ j4 Q8 {( P( e自行debug下吧,我这边是完全OK的
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表