感谢电子发烧友网站和瑞萨半导体,能够参加RM4M2型单片机的试用活动。在论坛看到有的朋友发表了e2 studio环境的编程。e2 studio基于eclipse,比较占资源,而本人的计算机配置较低,因此我使用了Keil软件进行了LED程序的开发。
一、开发环境的建立
1、安装Keil编程软件。
我想,凡是参加该活动的朋友的计算机里面肯定已经安装了Keil软件。
2、安装RA软件包。
该软件可以从瑞萨公司下载,直接一次次的点击NEXT就可以完成安装。
3、安装RASC。
![image.png](//file.elecfans.com/web2/M00/7A/7A/poYBAGNyPuKAW5dXAAASGZG-AFU092.png)
该软件一路点击NEXT和选择accept就可以完成安装。
4、将RASC集成至KEIL点击Keil软件的Tools →Customize Tools Menu
![image.png](//file.elecfans.com/web2/M00/7A/7B/poYBAGNyP8GABNokAABol637Ink944.png)
弹出如下界面
![image.png](//file.elecfans.com/web2/M00/7B/0A/pYYBAGNyP_KAJXwRAAEI0G7vl1U885.png)
由于我已经将信息填写完成,因此里面有文字,在集成之前,这个对话框都是空白。
在Menu Content窗口中新建一个菜单项RA Smart onfigurator,然后在Command中输入 RASC 程序的路径,在Initial Folder中输入 $P,在Arguments一栏中输入:
--device $D --compiler ARMv6 configuration.xml
在Menu Content中再建一个菜单项Device Partition Manager,然后在Command中输入 RASC 程序的路径,在Initial Folder中输入$”,在Arguments中输入:
-application com.renesas.cdt.ddsc.dpm.ui.dpmapplication configuration.xml
输入完成后,点击“OK”,再次点开 Keil 软件菜单栏的Tools,看到RA Smart Configurator和Device Partition Manager 这两个菜单项已经被加入到 Tools 栏。如下图所示。
![image.png](//file.elecfans.com/web2/M00/7B/0A/pYYBAGNyQUyANP2SAACWPar2SzM076.png)
二、LED程序的编写
1、建立项目
在上一步安装完RASC后,最好将该文件的快捷方式放置于桌面,
![image.png](//file.elecfans.com/web2/M00/7B/0A/pYYBAGNyQa-AMbBAAAAktMD4SLA479.png)
双击该快捷方式,弹出界面如下所示:
![image.png](//file.elecfans.com/web2/M00/7A/7B/poYBAGNyQeiAKxXrAAE2_iLB9e8856.png)
点击file-new-fsp projece,建立新的项目。
![image.png](//file.elecfans.com/web2/M00/7A/7B/poYBAGNyQhyAaxXKAAApsJohGaw459.png)
弹出项目名称和地址的设置界面,填写内容有个人决定。填写完成后,点击“NEXT”。
![image.png](//file.elecfans.com/web2/M00/7B/0A/pYYBAGNyQlqAEnN6AAC2klrf1jA628.png)
在新的界面中,需要选择单片机的型号和IDE类型。单片机的型号为“R7FA4M2AD3CFP”,也就是我们测评的开发板上的单片机型号。由于我使用的是KEIL,因此IDE类型选择的是Keil MDK version 5,其余的选项均采用默认值即可。然后点击NEXT。
![image.png](//file.elecfans.com/web2/M00/7A/7B/poYBAGNyQsqADCISAADmDdFfTdQ313.png)
弹出界面选择FLAT,即默认值。
![image.png](//file.elecfans.com/web2/M00/7A/7B/poYBAGNyQ1qAXTg6AAFYWhO8gQU897.png)
弹出界面可以选择操作系统,目前可以选择呢FreeRTOS和ThreadX操作系统。由于仅是LED,因此本人选择“No RTOS”,即不使用操作系统。
![image.png](//file.elecfans.com/web2/M00/7B/0A/pYYBAGNyQ5SAYL3LAACrlKksI14744.png)
在新的界面中,再次选择默认值。
![image.png](//file.elecfans.com/web2/M00/7B/0A/pYYBAGNyQ8OAM4kaAADBgJQImfo236.png)
选择完后,点击“Finish”即可。点击完后,需要稍微等段时间,弹出界面,说明Keil项目已经建立完成,关闭此界面即可。
![image.png](//file.elecfans.com/web2/M00/7A/7B/poYBAGNyRAOAX-c6AAGShf45NAU765.png)
2、设置外设
打开自己设定的项目目录,就会发现该项目已经建立完成。
![image.png](//file.elecfans.com/web2/M00/7B/0A/pYYBAGNyRHCAOhw_AAA1HwV36BQ874.png)
点击keil项目名称,“LED.uvprojx”,便可以打开所建立的项目。
![image.png](//file.elecfans.com/web2/M00/7A/7C/poYBAGNyRMiAd2_zAAI3JCM_Tdw714.png)
在界面中,可以看到项目中已经包含了该开发板对应的库文件。
打开tools-RA Smart Configurator,会弹出该单片机的配置界面,如下所示。
![image.png](//file.elecfans.com/web2/M00/7B/0B/pYYBAGNyRWqAfjMCAAGQmBP5zho180.png)
由于本程序需要控制LED的亮灭,因此首先确定LED与单片机的IO连接关系。通过查看原理图,可知控制LED的是三个IO口,分别是P415、P404和P405,如下所示。
![image.png](//file.elecfans.com/web2/M00/7A/7C/poYBAGNyRbyAHnEkAAB121A3cDk406.png)
本次只控制P404,因此需要对该IO口进行配置。
![image.png](//file.elecfans.com/web2/M00/7A/7C/poYBAGNyRnSAH7BPAAEIgx0vxMU043.png)
首先选中“Pin”选项,再选中“P404”,再设置其参数,这里将改口设置为“Output Mode(Initial Low)”,即设置为输出模式,初始电平为低。
设置完后,点击File中的Save,然后点击
![image.png](//file.elecfans.com/web2/M00/7B/0B/pYYBAGNyRvCABPzrAAAQy6lwi7U191.png)
即可在Keil中生成IO口的配置代码。打开pin_data.c文件,可以看到
![image.png](//file.elecfans.com/web2/M00/7A/7C/poYBAGNyR2iAYam_AAA5V_x9vnI501.png)
该语句便是对P404的配置语句。在配置的时候,发现,如果pin_data.c文件已经打开,不会对该文件进行修改,只有关闭该文件,才能正常配置。
上述操作结束后,便完成了程序的配置,开始编写程序。
3、程序编写
程序代码要放在hal_entry.c文件中,编写完后, hal_entry()程序内容为:
void hal_entry(void)
{
while(1)
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_LOW);
R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_HIGH);
R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS);
}
#if BSP_TZ_SECURE_BUILD
R_BSP_NonSecureEnter();
#endif
}
然后对程序进行编译,下载,便可以发现LED1,这个蓝色的小灯开始愉快的闪烁。在编译的时候要注意,要先关闭FSP配置界面再编译,否则编译按钮为灰色。