初识STM32H7. @: f+ w7 X. a5 B, J! ] K 手上正好有块STM32H743的官方demon板子,ARM-CortexM7内核400MHz的主频,继承32丰富的外设,具体参看芯片手册. 据官方透露,这块芯片其实是双核的,内部还有一个M4的内核主频200MHz, 可能还不太成熟所以就没公开.& ^. B% w5 W) y 上一个图看看:* a( T0 Q. g$ f% K! S4 D8 ~ : u9 B7 W- s- r9 d 开发使用的工具 1. 选用MDK54 S3 P4 n6 U1 u5 }9 j0 r 一开始是拒绝的,相比IAR, MDK的编译速度是真的慢, 给人一种浪费生命的感觉. 不过AC6的出现指数级的提高了编译速度,感觉和IAR没啥区别了,另外MDK的中间层使用比较方便, 综合考虑还是使用MDK. ' `# x; Q& C _3 K 2. STM32 CubeMX# K/ J: x6 }- m9 l. q3 D% i7 r% g3 f ST公司提供配置底层代码的软件. 极大的简化的开发的难度, 使用起来也很友好.& i# V+ X) C& B% {9 I2 Q3 D9 c 5 ?3 Z2 m& w; p8 o% I8 R' j 3. STM 32ST-LINK Utility6 v2 I6 x& f6 X' V; _. k 一些错误的操作会导致芯片锁死,可以使用这个软件进行解锁. 新建一个工程 打开keil, 点击new projeck, 选择对应的芯片.& ^, u0 w l8 S& D: ] 之后会弹出这样的界面, 选择并点击运行按钮, 便会进入Cube界面.$ _$ ]) X$ [. H" o9 M 8 M% r1 S$ r: Z+ y3 K/ Z 配置时钟.: q- y: ]/ G! n6 b " q* X; o V; M3 v" F) v) h8 f 配置一个串口.. v6 O7 G' U" V+ e3 \$ A3 l7 @ 设置时钟参数. 点击 GENERATE CODE , 随后点击close, 并从file下拉菜单中退出, 便会回到keil界面.! b* V9 F* M* s! _ 5 U( ~7 ~: g# |6 g 单击ok, 便会出现整个工程.8 L; |5 {. \: a: [% x0 u% [( C 然后配置下工程.<选择编译器, 修改C语言版本, 选择ST-LINK> & V7 ?* D6 f2 Q' Y. o 继续修改.* M* k+ ?) H* k5 d 3 U2 s! r7 X6 x1 O: o0 U ok啦, 可以愉快的玩耍了' }( B8 u* R+ \+ u 第一个程序 Hello World) Q3 D) j5 D6 U0 ?6 k W- ` 那紧接着我们写个串口打印 Hello World. 初始化完成之后, 调用==HAL_UART_Transmit()==函数打印hello world. & B$ W% g3 k0 N( a
上位端也顺利收到数据: R1 t9 [4 W4 W2 X |
Stm32H7XX GCC下分散加载实现
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
DIY-STM32H750核心板
[nucleo-H7A3ZI-Q]1-点亮一个皮皮灯
DIY-STM32H743核心板
【银杏科技ARM+FPGA双核心应用】STM32H7系列57——MDK_FLM
1月10日有奖直播 | 基于STM32 的CODESYS智能自动化解决方案
STM32的CAN FD位定时设置注意事项
用 STM32CUBEMX 生成 STM32H735 LWIP PING 不成功
基于STM32H7 EXTI + SPI +DMA 双缓冲应用经验分享