之前自己学习过瑞萨RA2E1的开发板,对其软件环境有一定的了解程序,对开发的FSP代码生成工具也简单的了解过,今天申请到一个RA4L1的开发板,下面和大家分享一下开发的过程。
不过瑞萨瑞萨的开发板编程的时候也可以使用keil的编程工具,对软件进行开发时,还是使用官方的IDE好一些;
我这边使用的版本最新版是5.9.0版本,下载网址如下:https://github.com/renesas/fsp/releases
一:软件安装步骤
在打开网页上面下载安装下图中截图的软件版本就好了:
在安装的时候,我们只需要一键安装就好了,我们根据自己的需要,对软件的安装位置进行设置,如果电脑上面的C盘空间,足够大时候,就可以快速安装,在安装的过程中,需要注意设置 软件的语言版本,软件的工具链(如果没有选择也没有关系,安装完成后,可以在瑞萨的软件中进行再次安装),基本上是属于一键安装的过程,这里就不做过多的介绍了。
二:例程的调试
2.1 打开软件截图如下:
截图如上所示,我这边建议还是在官方的例程上面进行程序修改,对于瑞萨框架的不熟悉的人,官方的例程还是比较友好地。
2.2 导入例程如下:
这里我们导入官方的例程过程,这样我们就可以直接对官方的进行开发;
2.3 打开工程界面如下:
三:硬件资源如下所示:
可以看到,板载LED灯使用P601、P609、P610的位置,串口使用的位置位P109、P110的,这时候我们在FSP库中配置一下,如下所示:
串口配置如下:
串口回调函数如下:
fsp_err_t err = FSP_SUCCESS; volatile bool uart_send_complete_flag = false; void user_uart_callback (uart_callback_args_t * p_args) { if(p_args->event == UART_EVENT_TX_COMPLETE) { uart_send_complete_flag = true; } }
串口重定义一下,否则printf不能使用
#ifdef __GNUC__ //串口重定向 #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif PUTCHAR_PROTOTYPE { err = R_SCI_UART_Write(&g_uart9_ctrl, (uint8_t *)&ch, 1); if(FSP_SUCCESS != err) __BKPT(); while(uart_send_complete_flag == false){} uart_send_complete_flag = false; return ch; }
err = R_SCI_UART_Open(&g_uart9_ctrl, &g_uart9_cfg); assert(FSP_SUCCESS == err); printf("hello world!\n"); while(1) { printf("Hello e2studio!\n"); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_01, BSP_IO_LEVEL_HIGH); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_10, BSP_IO_LEVEL_HIGH); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_09, BSP_IO_LEVEL_HIGH); R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS); printf("EEPW keyboard!\n"); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_01, BSP_IO_LEVEL_LOW); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_10, BSP_IO_LEVEL_LOW); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_09, BSP_IO_LEVEL_LOW); R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS); }
实际测试图片如下所示:
主要是对于瑞萨的RA4L1开发板,对于低版本瑞萨FSP版本,是不兼容的,这里还是时常的更新软件版本吧。