STM32
直播中

goodmbby

9年用户 1259经验值
擅长:处理器/DSP
私信 关注
[问答]

CodeMark跑分测试STM32G070,为什么跑分结果和官方的不一样?

系统时钟配置64M,MDK优化选择了 -O3 -Otime,跑分结果是102,百度官方是142,差挺多,不知道是不是哪里没弄对,求指点。

工程使用 ProjectsNUCLEO-G070RBExamples_LLUSARTUSART_Communication_Tx_Init

栈设置4K
Stack_Size      EQU     0x00001000

以下是一些函数接口代码


  • void SystemClock_Config(void)
  • {
  •   LL_FLASH_SetLatency(LL_FLASH_LATENCY_2);

  •   /* HSI configuration and activation */
  •   LL_RCC_HSI_Enable();
  •   while(LL_RCC_HSI_IsReady() != 1)
  •   {
  •   };

  •   /* Main PLL configuration and activation */
  •   LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_HSI, LL_RCC_PLLM_DIV_4, 80, LL_RCC_PLLR_DIV_5);
  •   LL_RCC_PLL_Enable();
  •   LL_RCC_PLL_EnableDomain_SYS();
  •   while(LL_RCC_PLL_IsReady() != 1)
  •   {
  •   };

  •   /* Set AHB prescaler*/
  •   LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1);

  •   /* Sysclk activation on the main PLL */
  •   LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL);
  •   while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL)
  •   {
  •   };

  •   /* Set APB1 prescaler*/
  •   LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1);

  • //  LL_Init1msTick(56000000);

  •   /* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
  •   LL_SetSystemCoreClock(64000000);

  •         NVIC_SetPriority(SysTick_IRQn, 0);
  •   NVIC_EnableIRQ(SysTick_IRQn);
  • }


  • void start_time(void)
  • {
  •     //GETMYTIME( start_time_val);
  •         Tick = 0;   //每次初始化时让tick数从0开始
  •         start_time_val = Tick;  //当前tick数保存到全局变量start_time_val
  •         SysTick_Config(SystemCoreClock/1000); //配置并启动SysTick,这里配置Systick每隔1ms中断一次
  • }


  • void stop_time(void)
  • {
  •    // GETMYTIME( stop_time_val);
  •         SysTick->CTRL = 0; //停止SysTick
  •         stop_time_val = Tick; //当前tick数保存到全局变量stop_time_val
  • }


  • void SysTick_Handler(void)
  • {
  •   Tick++;
  • }



  • volatile ee_s32 seed4_volatile = 2000;



回帖(1)

毕雅静

2024-3-21 15:29:45
这个跑分和编译器有很大关系,官方的是使用IAR编译的CoreMark,使用MDK编译跑分的分数确实会低一些。
之前我使用IAR测试过STM32G071,同样是64M,CoreMark可以达到135左右,距离官方的142差距不是很大。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分