查看: 4728|回复: 4

[原创] 【我要创作】“LPCXPresso54608 再次开跑 Coremark移植”

[复制链接]
  • TA的每日心情
    开心
    2020-6-18 08:45
  • 签到天数: 812 天

    连续签到: 1 天

    [LV.10]以坛为家III

    66

    主题

    4900

    帖子

    64

    金牌会员

    Rank: 6Rank: 6

    积分
    6324
    最后登录
    2025-8-6
    发表于 2017-3-3 21:34:30 | 显示全部楼层 |阅读模式
    本帖最后由 原来的你 于 2017-3-3 21:37 编辑

    前面给大家介绍了LPCXPresso54114的Coremark移植,不知道大家尝试了没有。2017的主角LPCXPresso54608已经展示出来,正好年前NXP举行活动,有幸得到一块LPCXPresso54608,非常感谢NXP给予这个机会,正好过年放假有空,过年期间对对整个板子的外设基本都解测试,很不错,确实很好的芯片,最近社区又有不少伙伴也收到LPCXPresso54608的板子了,正好测试一下其跑分,介绍如何移植 Coremark到LPCXPresso54608。由于此次使用的是官方的SDK2.0,与前面LPCXPresso54114工程不一样,没有对应的板级支持包。所以移植不同,尝试重新移植,最终成功,下面带来新的移植步骤。

    第一步:下载官方的LPC54608支持包SDK_2.0_LPCXpresso54608,具体方法就不少介绍,可以在论坛查找方法。

    第二步:下载Coremark包,同样可以从论坛找到。

    第三步:本次我们选择SDK_2.0_LPCXpresso54608中gpio工程作为我们的移植模板,大家也可以采用别的工程,工程路径为SDK_2.0_LPCXpresso54608\boards\lpcxpresso54608\driver_examples\gpio,我们在工程路径下新建一个coremark,如下图所示

    3.png

    从coremark_v1.0拷贝如下图所示文件到coremark,其中core_portme.c和core_portme.h来自于coremark_v1.0\simple,

    4.png

    第四步:添加文件到工程,去除gpio_led_output.c,如下图所示,

    11.png

    第五步:修改Core_portme.c 中的 portable_init 函数,从gpio_led_output.c拷贝如下程序到portable_init 函数中,

    /* Board pin, clock, debug console init */

    /* attach 12 MHz clock to FLEXCOMM0 (debug console) */

        CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);

        CLOCK_EnableClock(kCLOCK_Gpio0);

        CLOCK_EnableClock(kCLOCK_Gpio2);

        CLOCK_EnableClock(kCLOCK_Gpio3);


        BOARD_InitPins();

        BOARD_BootClockRUN();

        BOARD_InitDebugConsole();

    结果如下所示,

    5.png

    添加如下头文件

    #include "board.h"

    #include "fsl_debug_console.h"

    #include "fsl_gpio.h"

    #include "pin_mux.h"

    #include <stdbool.h>

    第六步:修改start_time/ stop_time/ get_time 这几个函数,如下图修改

    6.png

    7.png

    8.png

    9.png

    第七步:在 Core_portme.c 文件中添加新定义的变量和函数 ,

    #define SysTick_Counter_Disable ((uint32_t)0xFFFFFFFE)

    #define SysTick_Counter_Enable ((uint32_t)0x00000001)

    #define SysTick_Counter_Clear ((uint32_t)0x00000000)

    __IO uint32_t Tick;

    void SysTick_Handler(void)

    {

    /* USER CODE BEGIN SysTick_IRQn 0 */

    extern __IO uint32_t Tick;

    Tick++;

    /* USER CODE END SysTick_IRQn 0 */

    /* USER CODE BEGIN SysTick_IRQn 1 */

    /* USER CODE END SysTick_IRQn 1 */


    }

    第八步:在 Core_portme.h中添加 #define ITERATIONS 12000,根据使用的系统时钟等情况设置

    第九步:根据具体所用的编译器版本,优化配置进行修改,如下图修改

    10.png

    至此我们的移植完成,即可得到如下的跑分结果。

    1.png

    2.png

    最后分享自己改完的移植包。

    coremark.zip

    22.51 KB, 下载次数: 15, 下载积分: 威望 1

    开心
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-3-10 19:44
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    126

    主题

    525

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2018
    最后登录
    2023-12-25
    发表于 2017-3-3 21:44:56 | 显示全部楼层
    点个赞点个赞
    很开心
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5786
    最后登录
    2025-5-7
    发表于 2017-3-3 22:12:46 | 显示全部楼层
    封你一个NXP 社区跑分鼻祖称号
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-11-30 16:16
  • 签到天数: 206 天

    连续签到: 1 天

    [LV.7]常住居民III

    74

    主题

    2793

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    7905
    最后登录
    2025-4-11
    发表于 2017-3-5 09:29:39 来自手机 | 显示全部楼层
    这个6,跑个分。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-6-2 13:32
  • 签到天数: 272 天

    连续签到: 1 天

    [LV.8]以坛为家I

    44

    主题

    995

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4459
    最后登录
    2023-6-2
    发表于 2017-3-6 09:56:51 | 显示全部楼层
    这么6,都可以跑分了.
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-28 00:49 , Processed in 0.091106 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表