Skip to content

Commit a4cc5dc

Browse files
authored
Merge pull request #418 from MikroElektronika/new-feature/ra4m1-sdk-support
RA4M1 support added
2 parents b73fcad + b012e7a commit a4cc5dc

File tree

53 files changed

+11768
-5
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+11768
-5
lines changed

bsp/board/include/boards/clicker_ra4m1/board.h

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,39 @@ extern "C"
4949
{
5050
#endif
5151

52+
// Hardware revision number
53+
#define BOARD_REV_MAJOR (1)
54+
#define BOARD_REV_MINOR (01)
55+
5256
#define BOARD_NAME "RA4M1 Clicker"
5357

54-
// Mapping
55-
// Only Bare Metal support is available at the moment
58+
#include "mikrobus.h"
59+
60+
/// Mapping
61+
#define MIKROBUS_1 1
62+
#define MIKROBUS_1_AN GPIO_P000
63+
#define MIKROBUS_1_RST GPIO_P407
64+
#define MIKROBUS_1_CS GPIO_P103
65+
#define MIKROBUS_1_SCK GPIO_P102
66+
#define MIKROBUS_1_MISO GPIO_P100
67+
#define MIKROBUS_1_MOSI GPIO_P101
68+
#define MIKROBUS_1_PWM GPIO_P107
69+
#define MIKROBUS_1_INT GPIO_P302
70+
#define MIKROBUS_1_RX GPIO_P410
71+
#define MIKROBUS_1_TX GPIO_P411
72+
#define MIKROBUS_1_SCL GPIO_P205
73+
#define MIKROBUS_1_SDA GPIO_P206
74+
75+
// LEDs
76+
#define LED_1 GPIO_P409
77+
#define LED_2 GPIO_P408
78+
79+
// Buttons
80+
#define BUTTON_1 GPIO_P304
81+
#define BUTTON_2 GPIO_P301
82+
83+
#define USB_UART_TX HAL_PIN_NC
84+
#define USB_UART_RX HAL_PIN_NC
5685

5786
#ifdef __cplusplus
5887
}

changelog/v2.15.0/changelog.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,34 @@
1616

1717
- [`v2.15.0`](#v2150)
1818
- [Changes](#changes)
19-
- [New Features](#new-features)
19+
- [RENESAS](#renesas)
2020
- [Fixes](#fixes)
2121
- [mikroSDK](#mikrosdk)
2222
- [NEW HARDWARE](#new-hardware)
2323

24-
### New Features
24+
### <font color=red>RENESAS</font>
25+
26+
**RA4M1 MCUs supported!**
27+
28+
| MCU |
29+
| :------------: |
30+
| R7FA4M1AB3CFP |
31+
| R7FA4M1AB2CLJ |
32+
| R7FA4M1AB3CFM |
33+
| R7FA4M1AB3CNB |
34+
| R7FA4M1AB3CFL |
35+
| R7FA4M1AB3CNE |
36+
| R7FA4M1AB3CNF |
37+
38+
**Supported modules:**
39+
40+
+ ADC (Full module support)
41+
+ SPI (Full module support)
42+
+ UART (Full module support)
43+
+ I2C (Full module support)
44+
+ PWM (Full module support)
45+
+ GPIO (Full module support)
46+
+ 1-Wire (Full module support)
2547

2648
### Fixes
2749

cmake/utils.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,8 @@ function(find_chip_architecture _chip_architecture)
175175
set(${_chip_architecture} "arm" PARENT_SCOPE)
176176
elseif(${MCU_NAME} MATCHES "^(AT)?SAM.*")
177177
set(${_chip_architecture} "arm" PARENT_SCOPE)
178+
elseif(${MCU_NAME} MATCHES "^R7.*")
179+
set(${_chip_architecture} "arm" PARENT_SCOPE)
178180
else()
179181
set(${_chip_architecture} "UNSUPPORTED_CHIP_SELECTED_FOR_FOLLOWING_IMPLEMENTATION" PARENT_SCOPE)
180182
endif()

hal/interface/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ elseif(${MCU_NAME} MATCHES "(^MK(.+)$)")
2525
set(vendor_id "nxp")
2626
elseif(${MCU_NAME} MATCHES "(^TM4C1(.+)$)")
2727
set(vendor_id "tiva")
28+
elseif(${MCU_NAME} MATCHES "(^R7(.+)$)")
29+
set(vendor_id "renesas")
2830
elseif(${MCU_NAME} MATCHES "(^PIC32(.+)$)")
2931
set(vendor_id "pic32")
3032
elseif(${MCU_NAME} MATCHES "(^PIC18(.+)$)")

platform/ring/lib/src/ring.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,12 @@ bool ring_buf8_push( ring_buf8_t *ring, uint8_t data_ )
7070
uint8_t ring_buf8_pop( ring_buf8_t *ring )
7171
{
7272
uint8_t result;
73+
74+
// TODO
75+
// GCC & Clang compiler files for Renesas are not included into the project.
76+
#if ( vendor != renesas )
7377
assert( ring->size > 0 );
78+
#endif
7479

7580
result = ring->buffer[ ring->tail ];
7681
ring->tail = ( ring->tail + 1 ) % ring->capacity;

targets/arm/mikroe/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ elseif(${MCU_NAME} MATCHES "(^MK(.+)$)")
66
elseif(${MCU_NAME} MATCHES "(^TM4C1(.+)$)")
77
## TIVA has only the 71 MCUs already implemented
88
set(vendor_id "tiva")
9+
elseif(${MCU_NAME} MATCHES "(^R7(.+)$)")
10+
set(vendor_id "renesas")
911
elseif(${MCU_NAME} MATCHES "(^(AT)?SAM(.+)$)")
1012
set(vendor_id "sam")
1113
else()

targets/arm/mikroe/common/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ elseif(${MCU_NAME} MATCHES "(^ATSAM(.+)$)")
4141
elseif(${MCU_NAME} MATCHES "(^TM4C1(.+)$)")
4242
set(architecture_macro "TIVA")
4343
set(architecture "TIVA")
44+
elseif(${MCU_NAME} MATCHES "(^R7(.+)$)")
45+
set(architecture_macro "RENESAS")
46+
set(architecture "RENESAS")
4447
endif()
4548

4649
set(header_files "")

0 commit comments

Comments
 (0)