1.ART加速' d& C D1 G( n0 ] / Y6 K3 G$ `! l0 V2 r! s' Y ART在Flash之前,ART加速可以提高Flash的读取运行速度。 ➢ 程序实现(任选一种):1 z0 |$ d8 i0 g1 H0 q( z 1,使用库函数(HAL): __HAL_FLASH_INSTRUCTION_CACHE_ENABLE();2 V! [/ v# H2 |1 `7 H5 Y __HAL_FLASH_DATA_CACHE_ENABLE(); 2,寄存器操作: FLASH->ACR |= (1<<9);//将第9位置1 FLASH->ACR |= (1<<10);//将第10位置1 如果要将时钟跑到170MHz,需要设置到Rang1 Boost模式( z4 a; ?8 `& J: r ( Z& e. t7 s2 z5 u4 m+ g4 L 2.CCM SRAM7 l; H4 b/ s: p $ C H [$ w: d9 q 0 m% `/ \/ f2 I6 Q/ I CCM SRAM直接连接到 I-Bus ,D-Bus中,可以提升关键代码的速度,建议可以将关键代码放在这个区域。9 N% S4 r" c% Q+ K* `1 [" _ 6 m" D: |3 c, }5 C4 E 3.CoreMark测试 • CoreMark是一项测试处理器性能的基准测试$ y0 F8 [6 ]) T; ^ • 代码使用C语言写成,包含:列举,数学矩阵操作和状态及CRC等运算法则 • 目前CoreMark已迅速成为测量与比较处理器性能的业界标准基准测试" L3 T2 G0 h% D8 Z( ]& C • CoreMark的得分越高,意味着性能更高5 i9 ^" t. J% f0 t4 m6 E& ? • CoreMark官网的连接地址:http://www.eembc.org/coremark/index.php。( [7 `' l: @; V; y5 { * _! O0 @7 Y: F" N0 q 比较处理器的时候,不要单看主频,还需要了解综合的实力,有的处理器主频虽高,但是没有太大的用。 2 e, Q9 N) u; ?3 C 4.浮点运算 能提高运算精度,减少运算转化之间的损失,做算法类的项目需要用到的比较多。8 V' u6 I* a, R8 h/ G 6 Z' j, Q% B' x+ |& Y1 a 注意:除法和开方的运算周期过长,如无必要,尽量不要用,尽量将其转化为运算周期较少的加减乘运算 9 l0 L" W$ i3 S1 d7 F) c " a4 @% z" H5 }$ t 浮点运算实例:9 q% A: _# |7 w# i5 U 一般需要在运算结果前写上(float)或者标注f,否则一律认为其为双精度,将会大大增加运算的时间。/ E1 D1 b7 O3 A! Z3 Y4 | 浮点运算-FIR(滤波运算), l2 I/ m8 s* P: F 在这里插入图片描述 8 O9 s) [0 U( i( g* i3 m 0 r+ H, T& S& H6 {8 C 先看内核再看主频,才能判断效率,比如F1和F3都是72M的主频,可是F3是M3的内核,比M1的FIR运算快了7倍!!!!2 ~& U6 C2 y; f( z% c' Q ' { R; D0 a1 c& q |
STM32固件库分享,超全系列整理
【经验分享】STM32G4_CORDIC与定点带符号整数数据格式
STM32的CAN FD位定时设置注意事项
基于STM32G474 中 Triggered-half 模式的实现
基于STM32G4的数字控制 15kW双向PFC
基于STM32G431简介
今天14:00 | 基于STM32的MATLAB电机控制方案直播
基于STM32G474外红外接收经验分享
STM32G431RBT6之Key模块入门
STM32G431RBT6--LED模块入门