基于RT-Thread的RA8P1 CoreMark 6300分优化配置指南 | 技术集结

2026-05-18 24477阅读

目录

概述

资料来源

RT-Thread测评RA8P1 coremark

EEMBC Benchmark RA8P1

使用Titan Board挑战coremark 6300

为什么需要精细配置

总结

一、概述

本文旨在解析如何通过关键配置,将RA8P1(Cortex-M85内核)的CoreMark分数提升至官网登记的6300分。

内容涵盖编译器优化选项、链接时优化(LTO)、以及关键的硬件特性(如Cache和TCM)配置。

二、资料来源

RA8P1 1GHz Arm Cortex-M85和Ethos-U55 NPU

EEMBC CoreMark官网数据

ARM Cortex-M85产品

CM85简介

Performance-Scale

GCC/Clang LTO技术文档等:

ARM、GNU、SEGGER等网站搜索Link-Time Optimization"或“LTO"即可了解到相关技术知识

RT-thread Titan:

https://club.rt-thread.org/ask/article/3387ad4472d12ead.html

https://club.rt-thread.org/ask/article/9367fd1549231fb8.html

https://github.com/RT-Thread-Studio/sdk-bsp-ra8p1-titan-board

https://rt-thread-studio.github.io/sdk-bsp-ra8p1-titan-board/latest/index_zh.html

https://gitee.com/RT-Thread-Studio-Mirror/sdk-bsp-ra8p1-titan-board

三、RT-Thread测评RA8P1 coremark

日志:CoreMark 1.0:4896.132056 / GCC13.2.1

基于RT-Thread的RA8P1 CoreMark 6300分优化配置指南 | 技术集结

四、EEMBC Benchmark RA8P1

Scores CoreMark 6,379.3

基于RT-Thread的RA8P1 CoreMark 6300分优化配置指南 | 技术集结

五、使用Titan Board挑战coremark 6300

5.1 e2studio项目

daplink转jlinkob,见资料链接

ra8p1_coremark_gcc

ra8t2_coremark_gcc

ra8t2_coremark_iarbuild

ra8t2_coremark_llvm

日志:CoreMark 1.0 : 4875.076173/ GCC13.2.1

[1431.913]收←◆Toolchain ver:13.2.120231009date:Mar 282026time45:54file:../src/hal_entry.cfunc:hal_entry,line:127hello world!MPU supports 8 regionsRegion 0: 0x68000000-0x67FFFFE0, AttrIndex=0Region 1: 0x80000000-0x7FFFFFE0, AttrIndex=0Region 2: 0x70000000-0x6FFFFFE0, AttrIndex=0Region 3: 0x220001E0-0x220001C0, AttrIndex=0Region 4: DisabledRegion 5: DisabledRegion 6: DisabledRegion 7: Disabledstart coremain!

[1448.359]收←◆2K performance run parameters for coremark.CoreMark Size : 666Total ticks : 16410Total time (secs): 16.410000Iterations/Sec : 4875.076173Iterations : 80000Compiler version : GCC13.2.120231009Compiler flags : Please put compiler flags here (e.g. -ofast)Memory location : STACKseedcrc : 0xe9f5[0]crclist : 0xe714[0]crcmatrix : 0x1fd7[0]crcstate : 0x8e3a[0]crcfinal : 0xcc42Correct operation validated. See README.md for run and reporting rules.CoreMark 1.0 : 4875.076173 / GCC13.2.120231009 Please put compiler flags here (e.g. -ofast) / STACKterminated coremain!running!

上下、左右滑动查看

5.3 Keil项目

5.3.1 Optimization:-Omax

Keil MDK的 Project -> Options for Target -> C/C++ AC6 ->Optimization:-Omax

日志:CoreMark 1.0 : 4122.011542 Clang 20.0.0git

[2258.345]收←◆2K performance run parameters for coremark.CoreMark Size :666Total ticks :19408Totaltime(secs):19.408000Iterations/Sec :4122.011542Iterations :80000Compiler version : GCCClang20.0.0gitCompiler flags : Please put compiler flagshere(e.g. -ofast)Memory location : STACKseedcrc :0xe9f5[0]crclist :0xe714[0]crcmatrix :0x1fd7[0]crcstate :0x8e3a[0]crcfinal :0xcc42Correct operation validated. See README.md for run and reporting rules.CoreMark1.0:4122.011542/ GCCClang20.0.0git Please put compiler flagshere(e.g. -ofast) / STACKterminated coremain!running!

上下、左右滑动查看

5.3.2 Misc Controls:-Omax

Keil MDK的 Project -> Options for Target -> C/C++ AC6 ->Misc Controls:-Omax

Keil MDK的 Project -> Options for Target -> C/C++ AC6 -> **Misc Controls: --via=./via/rasc_armasm.via\via\rasc_armclang.via -Os -> -Omax

CoreMark 1.0 : 6163.803066 Clang 20.0.0git

[2217.808]收←◆2K performance run parameters for coremark.CoreMark Size :666Total ticks :12979Totaltime(secs):12.979000Iterations/Sec :6163.803066Iterations :80000Compiler version : GCCClang20.0.0gitCompiler flags : Please put compiler flagshere(e.g. -ofast)Memory location : STACKseedcrc :0xe9f5[0]crclist :0xe714[0]crcmatrix :0x1fd7[0]crcstate :0x8e3a[0]crcfinal :0xcc42Correct operation validated. See README.md for run and reporting rules.CoreMark1.0:6163.803066/ GCCClang20.0.0git Please put compiler flagshere(e.g. -ofast) / STACKterminated coremain!running!

上下、左右滑动查看

六、为什么需要精细配置

RA8P1搭载了ARM最新的Cortex-M85内核,虽然其本身具备强大的处理能力,但要发挥其全部性能潜力,尤其是达到CoreMark 6300分这样的高水平,单纯的默认配置是不够的。CoreMark是一个高度依赖编译器优化和内存访问速度的基准测试程序。为了达到官方登记的性能数据,我们需要进行“榨干式”的配置,让编译器生成最高效的指令,并让CPU能够以最快速度访问数据和指令。

基于RT-Thread的RA8P1 CoreMark 6300分优化配置指南 | 技术集结

七、总结

RA8P1 (Cortex-M85) 达到6300 CoreMark分数并非偶然,它是高性能硬件与极致软件优化的结合。

关键优化手段优先级:

1.编译器优化:必须使用最高级别优化-Omax,并启用浮点、向量化和循环优化选项。

2.链接时优化 (LTO):对于跨文件的性能敏感代码,LTO是必不可少的。

3.硬件资源利用:Dcache+sram 和 TCM 的速度没有明显的差异,但TCM直接访问,没有cache缓存相关问题。

理解编译器选项和硬件架构是进行深度优化的基础。不同的应用场景可能需要不同的优化策略,但上述配置方案为榨干Cortex-M85性能提供了一个清晰的模板。

文章版权声明:除非注明,否则均为天创资讯网原创文章,转载或复制请以超链接形式并注明出处。