RA4E2 MCU 群組快速原型板(fast prototyping board, FPB)。
簡介
開發(fā)板
RA4E2 快速原型板配備了 R7FA4E2B93CFM 微控制器,是一塊專門用于各種應用原型開發(fā)的評估板。
板載 SEGGER J-Link? 仿真器電路,無需額外工具即可以燒寫/調(diào)試程序。
此外,標配 Arduino Uno 和 Pmod? 接口,并可通過通孔連接微控制器的所有引腳,具有很高的可擴展性。
樣例代碼可用于演示 RA4E2 MCU 的功能以及連接 RA4E2 快速原型板和各種無線模塊或傳感器模塊。
MCU-R7FA4E2B93CFM
Renesas RA4E2 組是 RA4 系列中最新的入門級微控制器,基于帶有 TrustZone 的 100MHz Arm? Cortex?-M33 內(nèi)核。
RA4E2 MCU提供了高性能和優(yōu)化的外設(shè)功能以及最小的封裝選項,包括節(jié)省空間的36引腳BGA和32引腳QFN封裝。這些都滿足了對成本敏感和空間受限的應用的需要。
由于RA4E2具有均衡的性能、先進的外設(shè)功能和可擴展性,它可作為應用更廣泛的 RA 系列的切入點。
憑借增強型入門級產(chǎn)品,客戶即使在嚴格的尺寸和成本限制下也能實現(xiàn)高性能應用。
此外,Renesas FSP 還為客戶提供易于使用的開發(fā)環(huán)境??蛻艨梢酝ㄟ^使用 FSP 的小內(nèi)存占用 HAL 驅(qū)動程序和具有與 RA 系列其他產(chǎn)品的軟件可擴展性的外圍驅(qū)動程序來減少開發(fā)資源和時間。
特性
-
100 MHz ARM Cortex-M33
-
128 kB 閃存和 40 kB SRAM
-
4 kB 數(shù)據(jù)閃存,類似 EEPROM 數(shù)據(jù)存儲功能
-
1 KB 待機 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ī)療、工業(yè)、可穿戴設(shè)備
-
計量:通信模塊
原理圖
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) 軟件包 并安裝。
注意:不需要單獨安裝 e2 studio,F(xiàn)SP 平臺安裝程序會安裝 e2 studio 和使用 FSP 所需的所有其他工具。
FSP 安裝程序內(nèi)包含 e2 studio 集成開發(fā)環(huán)境、工具鏈和 FSP 軟件包。
新建工程
打開 e2 studio 軟件,
依次點擊 文件
- 新建
- 瑞薩 C/C++ 項目
- Renesas RA
依次進行工程命名,路徑設(shè)置,目標開發(fā)板選擇,Board 選擇 FPB-RA4E2
,工具鏈選擇 GNU ARM Embedded
若未檢測到工具鏈,則需要下載、安裝和添加本地工具鏈路徑,
點擊 Manage Toolchains
,勾選目標工具鏈,點擊 下載
,添加
工具鏈安裝目錄文件夾,應用并關(guān)閉。
根據(jù)原理圖可知,2 個板載 LED 控制引腳為 P206 和 P207,
進入 FSP 配置
界面,依次選擇 Pins
標簽 - Pin Selection
- Ports
- P2 - P206
- Pin Configuration
- 更改 Mode
為 Output mode (initial Low)
即初始熄滅,點擊 Generate Project Content
生成工程,主函數(shù) hal_entry.c
位于 src
文件夾。
代碼
雙擊 Project - src 路徑下的 hal_entry.c
文件,編輯主函數(shù)。
代碼框架
1.定義延時函數(shù)、
2.定義閃爍頻率、
3.判斷板載或定義的LED數(shù)量:
-
若LED數(shù)為零,則終止;
-
若LED數(shù)量大于零,則對所有LED執(zhí)行電平反轉(zhuǎn)操作,間隔時間為頻率的倒數(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);
? }
}
首先點擊 小錘子
按鈕構(gòu)建工程
點擊 小蟲子
按鈕進入 Debug 模式
點擊 啟動
按鈕運行程序
此時開發(fā)板上的 LED 按照程序中設(shè)定的頻率閃爍。
可點擊 暫停
、終止
等按鈕實現(xiàn)調(diào)試操作。
當點擊終止調(diào)試按鈕時,控制臺終端輸出 Disconnected from the Target Debugger.
字樣,此時 LED 閃爍終止,相應的引腳電平輸出回到初始定義狀態(tài)。
效果
調(diào)整頻率值 freq_in_hz
可以實現(xiàn)不同的閃爍效果