搭建Renesas R7FA8D1BH (Cortex®-M85)的开发调试环境(DAP-LINK: N32G45XVL-STB)

目录

概述

1 软硬件

1.1 软硬件环境信息

1.2 开发板信息

1.3 调试器信息

2 FSP和KEIL产生测试项目

2.1 FSP生成项目

2.2 Keil中配置

 3  硬件连接框图

4 一个测试案例

4.1 功能介绍

4.2  定时器函数

5 测试


搭建Renesas R7FA8D1BHECBD-BTB的开发调试环境(DAP-LINK: N32G45XVL-STB)

源代码下载地址:

FSP-Project-RA8-test:搭建瑞萨R7FA8D1BHECBD-BTB的开发调试环境(DAP-LINK:N32G资源-CSDN文库

概述

本文主要介绍使用Keil、FSP、DAP-LINK(N32G45XVL-STB)搭建瑞萨R7FA8D1BHECBD-BTB的开发调试环境。笔者选择使用野火耀阳开发板_瑞萨RA8,该板块的主控MCU R7FA8D1BHECBD,7FA8D1BHECBD的内核为ARM Contex-M85。使用J-LINK必要要求版本在V10以上,ST-LINK也不支持 Contex-M85内核代码下载。笔者通过使用多种下载器进行测试,最后发现N32G45XVL-STB开发板上自带的DAP-LINK工具竟然可以下载和调试R7FA8D1BHECBD芯片。

1 软硬件

1.1 软硬件环境信息

软硬件信息版本信息
Renesas MCUR7FA8D1BH
KeilMDK ARM 5.38
FSP 版本5.3.0
调试工具:N32G45XVL-STBDAP-LINK

1.2 开发板信息

笔者选择使用野火耀阳开发板_瑞萨RA8,该板块的主控MCU为R7FA8D1BHECBD,7FA8D1BHECBD的内核为ARM Contex-M85。

1.3 调试器信息

笔者之前使用R7FA4M2AD3C芯片,其可以通过ST-LINK-V2或者J-LINK-V9调试或者下载代码。该芯片内核为Cortex®-M33 Core。该芯片的开发环境在该篇文章中做个详细的介绍:

Renesas MCU之使用Keil搭建开发环境_keil怎么安装瑞萨fsp-CSDN博客

对于R7FA8D1BHECBD芯片,其使用的内核为Cortex®-M85 Core, ST-LINK-V2或者J-LINK-V9并不支持下载和调试功能。笔者经过多次尝试,发现N32G45XVL-STB板卡上自带的DAP-LINK可以下载和调试R7FA8D1BHECBD。

下图为N32G45XVL-STB开发板实物图:

2 FSP和KEIL产生测试项目

2.1 FSP生成项目

1)项目基本配置参数

2)LED测试IO配置

野火耀阳开发板_瑞萨RA8上有3个LED,其对应的接口为P504,P407和P410

 在FSP上配置这3个IO为输出,以控制LED的状态

3) 配置调试接口

开发板上的接口

FSP上配置调试接口

2.2 Keil中配置

完成FSP项目配置之后,生成基于Keil开发环境的项目文件,打开项目文件,其架构如下:

1)MCU类型选择

 2)调试器选择

3)调试器识别MCU信息

4)配置RAM空间和MCU的下载数据空间

 3  硬件连接框图

瑞萨RA8开发板野火单片机N32G45XVL-STB(DAP-LINK)
SWDIO
 
SWDIO
SWCLKSWCLK
GNDGND

硬件实物图: 

4 一个测试案例

4.1 功能介绍

配置一个定时器,实现1ms定时。通过定时器控制3个LED的状态

4.2  定时器函数

1)定时器初始化函数

void timer0_Init(void)
{
    fsp_err_t err = FSP_SUCCESS;
    /* Initializes the module. */
    err = R_AGT_Open(&g_timer0_ctrl, &g_timer0_cfg);
    /* Handle any errors. This function should be defined by the user. */
    assert(FSP_SUCCESS == err);
    /* Start the timer. */
    err = R_AGT_Start(&g_timer0_ctrl);
    assert(FSP_SUCCESS == err);
    
    err = R_AGT_Enable(&g_timer0_ctrl);
    assert(FSP_SUCCESS == err);
}

2)定时器回调函数

void g_timer0_Callback(timer_callback_args_t *p_args)
{
    static int count =0 ;
 
    /* timer Callback action  */
    if (TIMER_EVENT_CYCLE_END == p_args->event)
    {
        count++;
        if( count %1000 == 0)
            LED3_TOGGLE;
        
        if( count %300 == 0)
            LED2_TOGGLE;
        
        if( count %500 == 0)
            LED1_TOGGLE;
    }
}

5 测试

编译代码下载到板卡中进行测试,出现如下信息,说明下载成功

  • 45
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值