1.ART加速 0 @3 L$ N$ r, S * I0 I' [9 ^+ ?0 }6 }) p ART在Flash之前,ART加速可以提高Flash的读取运行速度。 ➢ 程序实现(任选一种): 1,使用库函数(HAL):- L6 K0 f9 u0 X! X __HAL_FLASH_INSTRUCTION_CACHE_ENABLE(); __HAL_FLASH_DATA_CACHE_ENABLE();$ F. `! H7 j! F: ] / ]& m3 f! _3 N2 h' U6 O. v 2,寄存器操作: FLASH->ACR |= (1<<9);//将第9位置1. a0 Q3 D$ k" m# }' k* s2 j$ ? FLASH->ACR |= (1<<10);//将第10位置1 / w$ K( n4 o ^" p$ A/ @* c- h 如果要将时钟跑到170MHz,需要设置到Rang1 Boost模式! X4 o2 _0 M& P 2.CCM SRAM* T8 t v5 e% E$ Y z8 R% j9 `8 | CCM SRAM直接连接到 I-Bus ,D-Bus中,可以提升关键代码的速度,建议可以将关键代码放在这个区域。 1 N+ W& e+ x3 U2 D; {4 M 3.CoreMark测试 • CoreMark是一项测试处理器性能的基准测试9 a: o0 H D# N0 [' a2 H • 代码使用C语言写成,包含:列举,数学矩阵操作和状态及CRC等运算法则 • 目前CoreMark已迅速成为测量与比较处理器性能的业界标准基准测试 • CoreMark的得分越高,意味着性能更高 • CoreMark官网的连接地址:http://www.eembc.org/coremark/index.php。 8 T4 P0 P3 k& c5 }, |- p 比较处理器的时候,不要单看主频,还需要了解综合的实力,有的处理器主频虽高,但是没有太大的用。* R# {! w" K; p# [7 C5 M 4.浮点运算$ Y: ]* {& \8 O& U& E7 Y 能提高运算精度,减少运算转化之间的损失,做算法类的项目需要用到的比较多。 & n& n7 B- ]% D6 n 注意:除法和开方的运算周期过长,如无必要,尽量不要用,尽量将其转化为运算周期较少的加减乘运算 * A2 g( ~" c0 Z- m 5 ]3 C' J7 a$ _" G 浮点运算实例:3 ^* J3 u9 u- u+ w5 ^' U9 N4 C 一般需要在运算结果前写上(float)或者标注f,否则一律认为其为双精度,将会大大增加运算的时间。 浮点运算-FIR(滤波运算) 在这里插入图片描述 , p5 X$ P* f, H" ?' M 先看内核再看主频,才能判断效率,比如F1和F3都是72M的主频,可是F3是M3的内核,比M1的FIR运算快了7倍!!!!# |9 K/ L) ]; B' h6 {7 { : ]0 X* W$ \5 x* V+ R |
STM32G系列RS485自动收发控制以及自适应波特率实战
【学习指南】基于STM32G474VET6 开发板实验经验分享(三)
【学习指南】基于STM32G474VET6 开发板实验经验分享(二)
【学习指南】基于STM32G474VET6 开发板基础实验经验分享一
【学习指南】基于STM32G474软件平台安装与使用教程
【学习指南】基于STM32G474VET6 开发板硬件资源解析
STM32 Explore | 基于STM32G474的STM32Cube生态系统线下培训
STM32固件库分享,超全系列整理
STM32G47x 双 Bank 模式下在线升级
基于STM32G473ZET6开发板设计经验分享