[讨论] 【瑞萨FPB_RA6E2】测评——开发板开箱、环境搭建和点灯

EPTmachine   2023-10-2 20:00 楼主

瑞萨FPB-RA6E2开发板开箱、环境搭建和点灯

FPB-RA6E2快速原型开发板为使用RA6E2 MCU进行评估、原型设计和开发提供了一个平台。板上自带了仿真器,便于调试,同时,板上引出了所有可有引脚,支持Arduino接口和两个PMOD接口,便于进行扩展。

195757edu1adhdxeuhaixh.jpg

本次的开发套件除了开发板和USB线外,还提供了CAN模块、杜邦线和收纳盒。板载的外设包括了一个用户按键和两个LED。

开发环境搭建

瑞萨为RA6E2 MCU提供了fsp软件包,fsp的安装包分为两个版本一个集成了e2studio开发环境,另一个为独立的工具RASC,可以生成Keil、IAR和Cmake工程。安装包可以在瑞萨的官网下载得到。

195757a6h75p1swk55p996.png

上图为相应的软件安装包和不同平台的芯片支持包,安装过程十分简单,采用默认安装即可。

安装完成后,在安装目录可以找到相应的启动程序。下图为RASC的启动程序所在的目录。

195757m4ddl6zxqx465e5f.png

下图为e2studio的启动程序所在的目录。

195757kjh8xmjjohzhqcat.png

点击相应的应用程序就可以开始创建MCU的程序。

e2Studio创建工程

打开e2studio新建工程

195757i6km7r777mzm8r7u.png

选择工程类型为Renesas RA

195757kcbe03f08lczx845.png

输入创建的工程名

195757z7o52888ofo1t7ir.png

选择工程类型为无TrustZone类型工程

195757d1k521qmmq61jwmm.png

选择工程为无操作系统支持的类型

195757bwrzeh6rfnl9herf.png

选择工程模板为Blink,点击Finish就可以完成工程的创建。

195757kgobddoqrqntrnlw.png

该工程创建完成后,通过FSP Configurator工具查看引脚配置可以看到P206和P207分别接到LED2和LED1上。

195757svjux3mai3vj033z.png

由于该开发板瑞萨提供了其BSP支持包,在工程的ra文件夹下可以看到board子文件夹,其中定义了板上的外设资源,便于用户调用。

image.png  

在board.c中定义了引脚的控制数组,和配置工具中的配置是对应的。

/** Array of LED IOPORT pins. */
static const uint16_t g_bsp_prv_leds[] =
{
    (uint16_t) BSP_IO_PORT_02_PIN_07,  ///< LED1
    (uint16_t) BSP_IO_PORT_02_PIN_06,  ///< LED2
};

在工程中调用fsp的延时函数和IO驱动函数每隔一定时间修改相应的引脚的状态,实现LED灯的状态变化。

void hal_entry (void)
{
#if BSP_TZ_SECURE_BUILD

    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif

    /* Define the units to be used with the software delay function */
    const bsp_delay_units_t bsp_delay_units = BSP_DELAY_UNITS_MILLISECONDS;

    /* Set the blink frequency (must be <= bsp_delay_units */
    const uint32_t freq_in_hz = 2;

    /* Calculate the delay in terms of bsp_delay_units */
    const uint32_t delay = bsp_delay_units / freq_in_hz;

    /* LED type structure */
    bsp_leds_t leds = g_bsp_leds;

    /* If this board has no LEDs then trap here */
    if (0 == leds.led_count)
    {
        while (1)
        {
            ;                          // There are no LEDs on this board
        }
    }

    /* Holds level to set for pins */
    bsp_io_level_t pin_level = BSP_IO_LEVEL_LOW;

    while (1)
    {
        /* Enable access to the PFS registers. If using r_ioport module then register protection is automatically
         * handled. This code uses BSP IO functions to show how it is used.
         */
        R_BSP_PinAccessEnable();

        /* Update all board LEDs */
        for (uint32_t i = 0; i < leds.led_count; i++)
        {
            /* Get pin to toggle */
            uint32_t pin = leds.p_leds[i];

            /* Write to this pin */
            R_BSP_PinWrite((bsp_io_port_pin_t) pin, pin_level);
        }

        /* Protect PFS registers */
        R_BSP_PinAccessDisable();

        /* Toggle level for next write */
        if (BSP_IO_LEVEL_LOW == pin_level)
        {
            pin_level = BSP_IO_LEVEL_HIGH;
        }
        else
        {
            pin_level = BSP_IO_LEVEL_LOW;
        }

        /* Delay */
        R_BSP_SoftwareDelay(delay, bsp_delay_units);
    }
}

编译下载后,板上的LED会固定地闪烁。

RASC 生成Keil工程

RASC代码配置工具是用于生成Keil、IAR和Cmake的代码配置工具,使用起来和e2studio中的FSP Configurator很相似,区别在于创建工程时选择的工程类型不同。启动RASC选择生成工程的位置和工程类型。

RASC工程路径.png  

RASC工程类型.png  

其余的部分和e2studio中的操作是类似的。配置完成后点击“Generate Project Content”就可以得到Keil工程。

在Keil中的工具栏中中选择“Customize Tools Menu”

195757vssyrcry3iirsys3.png

添加如下的内容

195757ku7lh71e93veqnvf.png

  • Menu Name:填入任意字符即可,这里填入“RA Smart Configurator 4.6”
  • Command:根据安装路径填入rasc.exe的执行路径
  • Initial Folder:填入$P
  • Arguments:填入“--device $D --compiler ARMv6 configuration.xml”

这样就可以在Keil中调用RASC配置工具了。

该工程的源码与e2tudio中创建的例程是一致的,编译和下载后可以看到LED1和LED2闪烁。

总结

芯片的配套的开发工具和示例代码很多,大厂提供的资料确实很多,对于开发者来说是一件好事,开发板载调试器,引出可用的引脚,同时支持多种接口,配置上来说是很标准,开发方式支持多种环境,能够满足不同的需求。

回复评论 (6)

芯片的配套的开发工具和示例代码很多,大厂提供的资料确实很多,对于开发者来说是一件好事,开发板载调试器,引出可用的引脚,同时支持多种接口,配置上来说是很标准,开发方式支持多种环境,能够满足不同的需求。

瑞萨在生态上独创了RASC这个图形化配置工具,stm32cubeMAX有相同之处,又有他自己的特色。

点赞  2023-10-3 07:58
引用: lugl4313820 发表于 2023-10-3 07:58 芯片的配套的开发工具和示例代码很多,大厂提供的资料确实很多,对于开发者来说是一件好事,开发板载调试器 ...

是的,用的多了,感觉瑞萨的工具功能是很全的,华为使用瑞萨的芯片开发物联网设备的例子也是有的。

点赞  2023-10-3 08:20

瑞萨的芯片的芯片支持threadx这个让我很感动哦,当然freeRTOS也是支持的,盼着瑞萨的网络版了

点赞  2023-10-3 10:25
引用: bigbat 发表于 2023-10-3 10:25 瑞萨的芯片的芯片支持threadx这个让我很感动哦,当然freeRTOS也是支持的,盼着瑞萨的网络版了

threadX是微软推出的实时操作系统,现在主要用在哪些领域,大佬能具体说下吗?

点赞  2023-10-3 10:40

大厂的资料全,芯片功能也丰富,但是实际使用时,我们产品简单,只能用到芯片10%功能,感觉太浪费了

点赞  2023-10-4 14:18
引用: 极限零 发表于 2023-10-4 14:18 大厂的资料全,芯片功能也丰富,但是实际使用时,我们产品简单,只能用到芯片10%功能,感觉太浪费了

目前各家主推的产品性能都很强,配套外设也多,但是实际项目会用到的外设就没有这么多了,造成片上资源的浪费。

点赞  2023-10-4 15:45
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复