RA4E2 MCU 群組快速原型板(fast prototyping board, FPB)。
簡(jiǎn)介
開發(fā)板
RA4E2 快速原型板配備了 R7FA4E2B93CFM 微控制器,是一塊專門用于各種應(yīng)用原型開發(fā)的評(píng)估板。
板載 SEGGER J-Link? 仿真器電路,無需額外工具即可以燒寫/調(diào)試程序。
此外,標(biāo)配 Arduino Uno 和 Pmod? 接口,并可通過通孔連接微控制器的所有引腳,具有很高的可擴(kuò)展性。
樣例代碼可用于演示 RA4E2 MCU 的功能以及連接 RA4E2 快速原型板和各種無線模塊或傳感器模塊。
MCU-R7FA4E2B93CFM
Renesas RA4E2 組是 RA4 系列中最新的入門級(jí)微控制器,基于帶有 TrustZone 的 100MHz Arm? Cortex?-M33 內(nèi)核。
RA4E2 MCU提供了高性能和優(yōu)化的外設(shè)功能以及最小的封裝選項(xiàng),包括節(jié)省空間的36引腳BGA和32引腳QFN封裝。這些都滿足了對(duì)成本敏感和空間受限的應(yīng)用的需要。
由于RA4E2具有均衡的性能、先進(jìn)的外設(shè)功能和可擴(kuò)展性,它可作為應(yīng)用更廣泛的 RA 系列的切入點(diǎn)。
憑借增強(qiáng)型入門級(jí)產(chǎn)品,客戶即使在嚴(yán)格的尺寸和成本限制下也能實(shí)現(xiàn)高性能應(yīng)用。
此外,Renesas FSP 還為客戶提供易于使用的開發(fā)環(huán)境??蛻艨梢酝ㄟ^使用 FSP 的小內(nèi)存占用 HAL 驅(qū)動(dòng)程序和具有與 RA 系列其他產(chǎn)品的軟件可擴(kuò)展性的外圍驅(qū)動(dòng)程序來減少開發(fā)資源和時(shí)間。
特性
-
100 MHz ARM Cortex-M33
-
128 kB 閃存和 40 kB SRAM
-
4 kB 數(shù)據(jù)閃存,類似 EEPROM 數(shù)據(jù)存儲(chǔ)功能
-
1 KB 待機(jī) SRAM
-
可從 32 引腳到 64 引腳封裝
-
USB 2.0 全速
-
12 位 A/D 轉(zhuǎn)換器
-
12 位 D/A 轉(zhuǎn)換器
-
USB FS 設(shè)備
-
CAN FD 和 SSI
-
HDMI CEC
應(yīng)用
-
通用、一般用途
-
智能家居:風(fēng)扇控制和飲水機(jī)
-
消費(fèi)娛樂:游戲、耳機(jī)控制
-
個(gè)人電腦;指紋讀取器和耳機(jī)
-
樓宇自動(dòng)化:語音控制
-
傳感器應(yīng)用,如醫(yī)療、工業(yè)、可穿戴設(shè)備
-
計(jì)量:通信模塊
原理圖
SCH_Page1: Peripheral circuit
SCH_Page2: Arduino Uno
SCH_Page3: PMOD
SCH_Page4: MCU
SCH_Page5: Pin headers
SCH_Page6: J-Link
環(huán)境搭建
這里使用 Renesas 公司的 e2 studio
開發(fā)工具,下載 并安裝該 IDE 軟件,或直接下載 FSP 軟件包。
下載 FSP (flexible software package) 軟件包 并安裝。
注意:不需要單獨(dú)安裝 e2 studio,F(xiàn)SP 平臺(tái)安裝程序會(huì)安裝 e2 studio 和使用 FSP 所需的所有其他工具。
FSP 安裝程序內(nèi)包含 e2 studio 集成開發(fā)環(huán)境、工具鏈和 FSP 軟件包。
新建工程
打開 e2 studio 軟件,
依次點(diǎn)擊 文件
- 新建
- 瑞薩 C/C++ 項(xiàng)目
- Renesas RA
依次進(jìn)行工程命名,路徑設(shè)置,目標(biāo)開發(fā)板選擇,Board 選擇 FPB-RA4E2
,工具鏈選擇 GNU ARM Embedded
若未檢測(cè)到工具鏈,則需要下載、安裝和添加本地工具鏈路徑,
點(diǎn)擊 Manage Toolchains
,勾選目標(biāo)工具鏈,點(diǎn)擊 下載
,添加
工具鏈安裝目錄文件夾,應(yīng)用并關(guān)閉。
根據(jù)原理圖可知,2 個(gè)板載 LED 控制引腳為 P206 和 P207,
進(jìn)入 FSP 配置
界面,依次選擇 Pins
標(biāo)簽 - Pin Selection
- Ports
- P2 - P206
- Pin Configuration
- 更改 Mode
為 Output mode (initial Low)
即初始熄滅,點(diǎn)擊 Generate Project Content
生成工程,主函數(shù) hal_entry.c
位于 src
文件夾。
代碼
雙擊 Project - src 路徑下的 hal_entry.c
文件,編輯主函數(shù)。
代碼框架
1.定義延時(shí)函數(shù)、
2.定義閃爍頻率、
3.判斷板載或定義的LED數(shù)量:
-
若LED數(shù)為零,則終止;
-
若LED數(shù)量大于零,則對(duì)所有LED執(zhí)行電平反轉(zhuǎn)操作,間隔時(shí)間為頻率的倒數(shù)。
?
void R_BSP_WarmStart(bsp_warm_start_event_t event);
?
extern bsp_leds_t g_bsp_leds;
?
void hal_entry (void)
{
? ?/* Enter non-secure code */
? ?R_BSP_NonSecureEnter();
? ?/* 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 = 5;
? ?/* 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)
? {
? ? ? ?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);
? }
}
void R_BSP_WarmStart (bsp_warm_start_event_t event)
{
? ?if (BSP_WARM_START_RESET == event)
? {
?
? ? ? ?/* Enable reading from data flash. */
? ? ? ?R_FACI_LP->DFLCTL = 1U;
? }
?
? ?if (BSP_WARM_START_POST_C == event)
? {
? ? ? ?/* C runtime environment and system clocks are setup. */
?
? ? ? ?/* Configure pins. */
? ? ? ?R_IOPORT_Open(&IOPORT_CFG_CTRL, &IOPORT_CFG_NAME);
? }
}
首先點(diǎn)擊 小錘子
按鈕構(gòu)建工程
點(diǎn)擊 小蟲子
按鈕進(jìn)入 Debug 模式
點(diǎn)擊 啟動(dòng)
按鈕運(yùn)行程序
此時(shí)開發(fā)板上的 LED 按照程序中設(shè)定的頻率閃爍。
可點(diǎn)擊 暫停
、終止
等按鈕實(shí)現(xiàn)調(diào)試操作。
當(dāng)點(diǎn)擊終止調(diào)試按鈕時(shí),控制臺(tái)終端輸出 Disconnected from the Target Debugger.
字樣,此時(shí) LED 閃爍終止,相應(yīng)的引腳電平輸出回到初始定義狀態(tài)。
效果
調(diào)整頻率值 freq_in_hz
可以實(shí)現(xiàn)不同的閃爍效果