完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 简介
STM32H747/757 系列产品线拥有 Cortex-M7 内核(带双精度浮点单元,运行频率高达 480 MHz)和 Cortex-M4 内核(带单精度浮点单元,运行频率高达 240 MHz)的双核性能。与 STM32F7 产品线相比,其动态功耗效率提升了两倍(运行模式下)。 得益于其拥有的 L1 高速缓存和 ART 技术,在Cortex-M7 的 480 MHz主频和 Cortex-M4 的 240 MHz 主频运行条件下,实现从内部flash执行程序零等待,并获得高达 3220 CoreMark/1327 DMIPS 的性能评分。DSP指令及双精度浮点数处理单元拓展了产品的应用范围。凭借片内L1 cache(16 Kbytes +16 Kbytes of I-cache and D-cache)和ART加速器,即使从外部flash执行程序代码也不会带来性能的损失。[1] 该产品为2019年推出,虽然价格与F1C100S比较没有优势,但ST更适合在工业领域使用,运行复杂的算法时优势明显。 当然,双核性能固然优越,但也提高了使用门槛。它丰富的电源管理策略使其很适合做低功耗设计,而要够理清这些电源模式和时钟树就不得不下大工夫了。如果你对STM32H743已经有足够的了解,并能接受这款芯片的电源管理的复杂性,同时对价格不太敏感,这一系列芯片将值得一试。 2 datasheet关键点介绍 熟悉STM32H743后,首先仔细阅读手册中 7、9、14、20章应该能对该芯片有一定的了解了,下文也将简要的介绍下7、9、20章。 The RCC block manages the clock and reset generation for the whole microcontroller, which embeds two CPUs: an Arm® Cortex®-M7 and an Arm® Cortex®-M4, called CPU1 and CPU2, respectively. 2.1 PWR 1、电源供给 The VCORE core domain supply can be provided by the SMPS step-down converter, voltage regulator or by an external supply (VCAP)。 VCORE supplies all the digital circuitries except for the backup domain and the Standby circuitry. The VCORE domain is split into 3 sections: • D1 domain containing the CPU (Cortex®-M7), Flash memory and peripherals. • D2 domain containing peripherals and a Cortex®-M4 CPU. • D3 domain containing the system control, I/O logic and low-power peripherals. When a system reset occurs, the voltage regulator is enabled and supplies VCORE. The SMPS step-down converter is also enabled to deliver 1.2 V. This allows the system to start up in any supply configurations (see Figure 22) 2、运行模式[7.6] CPU的运行模式有:CRun,Csleep,Cstop V_CORE域D1,D2的运行模式有:Drun,Dstop,Dstandby CPU和V_CORE域的选择决定了系统运行的模式,如Table 32所示 3、电压和主频的关系 升频:先提高电压(change VOS),【使能PLL(仅VOS3-》VOS2需要这一步)】,最后当PLL锁定时,变换系统时钟。 降频:降低系统频率,【失能PLL(仅VOS2-》VOS3需要这一步)】,然后降低电平 4、当你理清程序运行策略后,可根据下图 37实现程序: 2.2 RCC RCC寄存器对照表(register map)可以分为4类:[9.7.1] 根据RCC寄存器的配置,可以把片内外设分配给具体的MCU,每个MCU就能像以前熟悉的样子运行了。图65就是一个很好的例子: 需要注意的是:SRAM4, IWGD1, IWGD2 and RCC are common resources and are implicitly allocated to both CPU1 and CPU2. 2.3 NVIC 该系列芯片的中断设置还没发现有难点。总结如下: a两个CPU有各自独立的内核中断 b两个CPU通过Hardware Semaphore (HSEM) interrupt 联系 c普通中断线共用:如当CPU1和CPU2同时打开EXTI中断时,两个CPU可以各自独立运行自己的中断服务函数。 3 资料说明 1、STM32CubeMX 的STM32H7 1.3.2 及以前的包中并没有找到STM32H745/STM32H747相关的包,因此不能自动生成代码 2、STM32Cube_FW_H7_V1.5.0 文件下的projects有相关例程,可以认真阅读 3、运行代码前,需要安装较新版本的keil包,如Keil.STM32H7xx_DFP.2.3.1.pack 4、下文例子将在NUCLEO-H745ZI-Q评估板运行 4 例程运行 到以下目录打开工程:xxxSTM32Cube_FW_H7_V1.5.0ProjectsNUCLEO-H745ZI-QExamplesGPIOGPIO_EXTIMDK-ARM 实验说明则看上一级目录下的“readme.txt”,这里不再赘述。 4.1 选择CM7作为项目工程对象,并编译下载程序 如果上图操作成功,则CM4文件夹中的文件应该是有减号的,如下图所示。带减号的文件表示文件不参与目标的编译, 在编译前,需先进行编译选项配置 配置后,进行编译下载 4.2 同理编译CM4项目对象 设置成功后,工程变成下图的样子 在编译前进行编译设置 配置后,进行编译下载 4.3 编译结果说明 编译后会生成如下两个文件: 自己要设置在M7对象下运行,因如何把M4对象相关的文件屏蔽了呢,即如何生成减号? 以CM4文件夹下的main.c为例, 当下载程序后,按Nucleo开发板的蓝色按键,板子上的两个LED等会同时亮起。再按按键,两个LED等将关闭。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1758 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1613 浏览 1 评论
1053 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1670 浏览 2 评论
1931浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
721浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
563浏览 3评论
590浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
548浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 01:01 , Processed in 0.718952 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号