1.ART加速 w) X% D: X1 D+ Z" S 1 s" e7 B8 W6 r# P+ A1 Z: k" d7 P/ k ' s2 s* W' Y: Q; p ART在Flash之前,ART加速可以提高Flash的读取运行速度。: W4 m* e' M$ J n1 [( ?) f4 r& _ ! F2 C/ w( X/ Q5 _ ➢ 程序实现(任选一种): 1,使用库函数(HAL): __HAL_FLASH_INSTRUCTION_CACHE_ENABLE(); __HAL_FLASH_DATA_CACHE_ENABLE();$ s8 }: {/ i1 C: u: B! u) L! s# [ Y + g1 K/ D0 A( } Q4 V7 V 2,寄存器操作:/ o7 ?% p' X# D% ]6 q) B FLASH->ACR |= (1<<9);//将第9位置1 FLASH->ACR |= (1<<10);//将第10位置1: ~ u2 Q7 q3 i8 p0 O # b2 n2 v) d( m- Y, n: h8 Y 如果要将时钟跑到170MHz,需要设置到Rang1 Boost模式 $ o; x4 `" I9 k/ d 2.CCM SRAM / t) M6 n2 ]8 w0 ` CCM SRAM直接连接到 I-Bus ,D-Bus中,可以提升关键代码的速度,建议可以将关键代码放在这个区域。! m9 U, }$ c) y+ m. _; \* K4 \ % A) ^ q" ^# C, J1 ` 3.CoreMark测试 u) ?; z+ _5 {, Z • CoreMark是一项测试处理器性能的基准测试 • 代码使用C语言写成,包含:列举,数学矩阵操作和状态及CRC等运算法则5 a1 ~) i7 k) O4 E+ u: p' X2 f; q • 目前CoreMark已迅速成为测量与比较处理器性能的业界标准基准测试 • CoreMark的得分越高,意味着性能更高2 _2 p" `$ N/ j • CoreMark官网的连接地址:http://www.eembc.org/coremark/index.php。 比较处理器的时候,不要单看主频,还需要了解综合的实力,有的处理器主频虽高,但是没有太大的用。3 m8 t1 |2 j& K( x9 [. [ j& b# w8 ` 4.浮点运算, Y8 a# A2 }0 L" N! p3 m+ p 能提高运算精度,减少运算转化之间的损失,做算法类的项目需要用到的比较多。 注意:除法和开方的运算周期过长,如无必要,尽量不要用,尽量将其转化为运算周期较少的加减乘运算5 b4 P( @9 n* S B$ X& a" x ' X; u8 n5 |" A; \7 s' h+ D1 @ - q& ^) t! ~( A- n! s 浮点运算实例: 一般需要在运算结果前写上(float)或者标注f,否则一律认为其为双精度,将会大大增加运算的时间。6 w! \& C' y$ ]& }+ t0 V# h a% U 6 A2 R5 ?6 Q# O7 o1 C. H 浮点运算-FIR(滤波运算) 在这里插入图片描述 2 v/ O9 D% r& ^2 E& H5 U% z 先看内核再看主频,才能判断效率,比如F1和F3都是72M的主频,可是F3是M3的内核,比M1的FIR运算快了7倍!!!! - s) G# v! v& C* c; n- z5 ~ 7 S4 T' j7 p) T% J3 v0 x6 [2 a |
STM32G系列RS485自动收发控制以及自适应波特率实战
【学习指南】基于STM32G474VET6 开发板实验经验分享(三)
【学习指南】基于STM32G474VET6 开发板实验经验分享(二)
【学习指南】基于STM32G474VET6 开发板基础实验经验分享一
【学习指南】基于STM32G474软件平台安装与使用教程
【学习指南】基于STM32G474VET6 开发板硬件资源解析
STM32 Explore | 基于STM32G474的STM32Cube生态系统线下培训
STM32固件库分享,超全系列整理
STM32G47x 双 Bank 模式下在线升级
基于STM32G473ZET6开发板设计经验分享