查看: 724|回复: 1

[项目分享] 【N32G45XVL开发板】-COREMARK 测试--370.34分

[复制链接]
  • TA的每日心情
    开心
    2024-4-7 13:52
  • 签到天数: 326 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2023-9-13 11:28:22 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 xiaoshen-372360 于 2023-9-13 11:48 编辑

    前段时间就拿到板子了,但是没有时间测试,今天抽个时间来测试一下这个板子,判断一个芯片的好坏的话最好的办法当时跑个分试试了,通过**可以知道该芯片的性能处于那个梯队的,好了,我就来说一下。
    首先还是板子的介绍吧,先说说开发板的事情,然后我们在做移植。
    1.png
    板子芯片的主控是N32G457,N32G457是采用Crotex-M4 的内核频率可以到144M,还带有加密Flash,以及加密Flash算法引擎。带有512M的Flash和144K的SRAM,基本满足绝大多数的开发应用。
    2.png
    完成了芯片的介绍,我们就开始安装芯片支持包
    3.png
    然后就按照自己的习惯新建工程。
    首先点个灯看看。
    1. #include "n32g45x.h"


    2. void Delay(uint32_t count)
    3. {
    4.         int j=0;
    5.     for (; count > 0; count--)
    6.            for(j=14400;j>0;j--);
    7. }

    8. void LED_Init(void)
    9. {
    10.         GPIO_InitType GPIO_InitStructure;
    11.         RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA, ENABLE);
    12.         GPIO_InitStructure.Pin        = GPIO_PIN_8;
    13.         GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Out_PP;
    14.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    15.         GPIO_InitPeripheral(GPIOA, &GPIO_InitStructure);
    16. }

    17. void led_Test(void)
    18. {
    19.         GPIO_SetBits(GPIOA,GPIO_PIN_8);
    20.         Delay(500);
    21.         GPIO_ResetBits(GPIOA,GPIO_PIN_8);
    22.         Delay(500);
    23. }



    24. int main(void)
    25. {

    26.     LED_Init();
    27.     while (1)
    28.     {
    29.        led_Test();
    30.     }
    31. }
    复制代码
    看来点灯是没有问题的,说明整个的环境搭建已经完成了,解下来就是定时器的和串口的东西了。
    先来搞定串口。

    1. #include "UART.h"


    2. void UART_Init(void)
    3. {
    4.         USART_InitType USART_InitStructure;
    5.         GPIO_InitType GPIO_InitStructure;
    6.     RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA | RCC_APB2_PERIPH_AFIO, ENABLE);
    7.     /* Enable USARTy and USARTz Clock */
    8.     RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_USART1, ENABLE);

    9.     /* Configure USARTx Tx as alternate function push-pull */
    10.     GPIO_InitStructure.Pin        = GPIO_PIN_9;
    11.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    12.     GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF_PP;
    13.     GPIO_InitPeripheral(GPIOA, &GPIO_InitStructure);

    14.     /* Configure USARTx Rx as input floating */
    15.     GPIO_InitStructure.Pin       = GPIO_PIN_10;
    16.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    17.     GPIO_InitPeripheral(GPIOA, &GPIO_InitStructure);

    18.         
    19.         
    20.          /* USARTy and USARTz configuration ------------------------------------------------------*/
    21.     USART_InitStructure.BaudRate            = 115200;
    22.     USART_InitStructure.WordLength          = USART_WL_8B;
    23.     USART_InitStructure.StopBits            = USART_STPB_1;
    24.     USART_InitStructure.Parity              = USART_PE_NO;
    25.     USART_InitStructure.HardwareFlowControl = USART_HFCTRL_NONE;
    26.     USART_InitStructure.Mode                = USART_MODE_RX | USART_MODE_TX;

    27.     /* Configure USARTx */
    28.     USART_Init(USART1, &USART_InitStructure);
    29.     /* Enable the USARTx */
    30.     USART_Enable(USART1, ENABLE);





    31. }

    32. int fputc(int ch, FILE* f)
    33. {
    34.     USART_SendData(USART1, (uint8_t)ch);
    35.     while (USART_GetFlagStatus(USART1, USART_FLAG_TXDE) == RESET);
    36.     return (ch);
    37. }



    复制代码
    4.png
    可以看到串口是可以正常使用的。
    接下来就是定时器了。
    1. #include "TIM.h"

    2. int CountData=0;
    3. int CountTime=0;
    4. void NVIC_Configuration(void)
    5. {
    6.     NVIC_InitType NVIC_InitStructure;

    7.     /* Enable the TIM2 global Interrupt */
    8.     NVIC_InitStructure.NVIC_IRQChannel                   = TIM1_UP_IRQn;
    9.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    10.     NVIC_InitStructure.NVIC_IRQChannelSubPriority        = 1;
    11.     NVIC_InitStructure.NVIC_IRQChannelCmd                = ENABLE;

    12.     NVIC_Init(&NVIC_InitStructure);
    13. }


    14. void Tim_Init(void)
    15. {
    16.     TIM_TimeBaseInitType TIM_TimeBaseStructure;
    17.     RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_TIM1, ENABLE);
    18.         NVIC_Configuration();
    19.         //--
    20.     TIM_TimeBaseStructure.Period    = 143;
    21.     TIM_TimeBaseStructure.Prescaler = 999;
    22.         TIM_TimeBaseStructure.RepetCnt  = 0;
    23.     TIM_TimeBaseStructure.ClkDiv    = 0;
    24.     TIM_TimeBaseStructure.CntMode   = TIM_CNT_MODE_UP;
    25.         
    26.         TIM_ConfigPrescaler(TIM1, 0, TIM_PSC_RELOAD_MODE_IMMEDIATE);
    27.     TIM_InitTimeBase(TIM1, &TIM_TimeBaseStructure);
    28.         TIM_ConfigInt(TIM1, TIM_INT_UPDATE, ENABLE);
    29.         TIM_Enable(TIM1, ENABLE);        

    30. }

    31. void TIM1_UP_IRQHandler(void)
    32. {
    33.     if (TIM_GetIntStatus(TIM1, TIM_INT_UPDATE) != RESET)
    34.     {
    35.         TIM_ClrIntPendingBit(TIM1, TIM_INT_UPDATE);
    36.                 CountData++;
    37.                 CountTime++;
    38.                 if(CountData==500)
    39.                 {
    40.                 GPIO_SetBits(GPIOA,GPIO_PIN_8);

    41.                 }
    42.                 else if(CountData==1000)
    43.                 {
    44.                    CountData=0;
    45.                    GPIO_ResetBits(GPIOA,GPIO_PIN_8);
    46.                 }
    47.     }
    48. }

    复制代码
    定时器的程序搞定了,接下来就是移植COREMARK了,下面开始移植,这里就省略步骤了。

    好了,在-o0 的情况下是151分
    6.png

    然后我们提升一下优化等级看看。下面的是O3的优化等级的跑 -分:195.07 分数仅供参考
    7.png
    然后就是试用6.0的编译器
    99.png
    最终370.34分



    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-7 13:52
  • 签到天数: 326 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2023-9-13 16:17:02 | 显示全部楼层
    工程如下: N32G457_Prj.rar (5.7 MB, 下载次数: 0)
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-29 06:06 , Processed in 0.128540 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.