mirror of https://github.com/ARMmbed/mbed-os.git
[NUCLEO_F746ZG] Added CAN support
Added CAN API support for NUCLEO_F746ZG target. Change-Id: Ib9d416125671e3e1f1ef89e88e6da66f4c457f02pull/1773/head
parent
19f0c58514
commit
4d22e94156
|
|
@ -92,6 +92,11 @@ typedef enum {
|
||||||
PWM_14 = (int)TIM14_BASE
|
PWM_14 = (int)TIM14_BASE
|
||||||
} PWMName;
|
} PWMName;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
CAN_1 = (int)CAN1_BASE,
|
||||||
|
CAN_2 = (int)CAN2_BASE
|
||||||
|
} CANName;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -326,3 +326,21 @@ const PinMap PinMap_SPI_SSEL[] = {
|
||||||
{PF_6, SPI_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI5)},
|
{PF_6, SPI_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI5)},
|
||||||
{NC, NC, 0}
|
{NC, NC, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const PinMap PinMap_CAN_RD[] = {
|
||||||
|
{PB_8 , CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
|
||||||
|
{PB_12 , CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
|
||||||
|
{PD_0 , CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
|
||||||
|
{PB_5 , CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
|
||||||
|
{PA_11, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
const PinMap PinMap_CAN_TD[] = {
|
||||||
|
{PB_9 , CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
|
||||||
|
{PB_13 , CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
|
||||||
|
{PD_1 , CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
|
||||||
|
{PB_6 , CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
|
||||||
|
{PA_12, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,8 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define DEVICE_CAN 1
|
||||||
|
|
||||||
//=======================================
|
//=======================================
|
||||||
|
|
||||||
#define DEVICE_ID_LENGTH 24
|
#define DEVICE_ID_LENGTH 24
|
||||||
|
|
|
||||||
|
|
@ -110,6 +110,11 @@ struct pwmout_s {
|
||||||
uint8_t inverted;
|
uint8_t inverted;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct can_s {
|
||||||
|
CANName can;
|
||||||
|
int index;
|
||||||
|
};
|
||||||
|
|
||||||
#include "gpio_object.h"
|
#include "gpio_object.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,8 @@ CAN can1(PD_0, PD_1);
|
||||||
defined(TARGET_NUCLEO_F042K6) || defined(TARGET_NUCLEO_F334R8) || \
|
defined(TARGET_NUCLEO_F042K6) || defined(TARGET_NUCLEO_F334R8) || \
|
||||||
defined(TARGET_NUCLEO_F303RE) || defined(TARGET_NUCLEO_F303K8) || \
|
defined(TARGET_NUCLEO_F303RE) || defined(TARGET_NUCLEO_F303K8) || \
|
||||||
defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_F446RE) || \
|
defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_F446RE) || \
|
||||||
defined(TARGET_DISCO_F429ZI) || defined(TARGET_NUCLEO_F103RB)
|
defined(TARGET_DISCO_F429ZI) || defined(TARGET_NUCLEO_F103RB) || \
|
||||||
|
defined(TARGET_NUCLEO_F746ZG)
|
||||||
CAN can1(PA_11, PA_12);
|
CAN can1(PA_11, PA_12);
|
||||||
#elif defined(TARGET_DISCO_F469NI)
|
#elif defined(TARGET_DISCO_F469NI)
|
||||||
CAN can1(PB_8, PB_9);
|
CAN can1(PB_8, PB_9);
|
||||||
|
|
@ -31,7 +32,7 @@ CAN can2(p34, p33);
|
||||||
#elif defined (TARGET_LPC1768)
|
#elif defined (TARGET_LPC1768)
|
||||||
CAN can2(p30, p29);
|
CAN can2(p30, p29);
|
||||||
#elif defined(TARGET_NUCLEO_F446RE) || defined(TARGET_DISCO_F469NI) || \
|
#elif defined(TARGET_NUCLEO_F446RE) || defined(TARGET_DISCO_F469NI) || \
|
||||||
defined(TARGET_DISCO_F429ZI)
|
defined(TARGET_DISCO_F429ZI) || defined(TARGET_NUCLEO_F746ZG)
|
||||||
CAN can2(PB_5, PB_6);
|
CAN can2(PB_5, PB_6);
|
||||||
#endif
|
#endif
|
||||||
char counter = 0;
|
char counter = 0;
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,8 @@ CAN can1(PD_0, PD_1);
|
||||||
defined(TARGET_NUCLEO_F042K6) || defined(TARGET_NUCLEO_F334R8) || \
|
defined(TARGET_NUCLEO_F042K6) || defined(TARGET_NUCLEO_F334R8) || \
|
||||||
defined(TARGET_NUCLEO_F303RE) || defined(TARGET_NUCLEO_F303K8) || \
|
defined(TARGET_NUCLEO_F303RE) || defined(TARGET_NUCLEO_F303K8) || \
|
||||||
defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_F446RE) || \
|
defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_F446RE) || \
|
||||||
defined(TARGET_DISCO_F429ZI) || defined(TARGET_NUCLEO_F103RB)
|
defined(TARGET_DISCO_F429ZI) || defined(TARGET_NUCLEO_F103RB) || \
|
||||||
|
defined(TARGET_NUCLEO_F746ZG)
|
||||||
CAN can1(PA_11, PA_12);
|
CAN can1(PA_11, PA_12);
|
||||||
#elif defined(TARGET_DISCO_F469NI)
|
#elif defined(TARGET_DISCO_F469NI)
|
||||||
CAN can1(PB_8, PB_9);
|
CAN can1(PB_8, PB_9);
|
||||||
|
|
@ -31,7 +32,7 @@ CAN can2(p34, p33);
|
||||||
#elif defined (TARGET_LPC1768)
|
#elif defined (TARGET_LPC1768)
|
||||||
CAN can2(p30, p29);
|
CAN can2(p30, p29);
|
||||||
#elif defined(TARGET_NUCLEO_F446RE) || defined(TARGET_DISCO_F469NI) || \
|
#elif defined(TARGET_NUCLEO_F446RE) || defined(TARGET_DISCO_F469NI) || \
|
||||||
defined(TARGET_DISCO_F429ZI)
|
defined(TARGET_DISCO_F429ZI) || defined(TARGET_NUCLEO_F746ZG)
|
||||||
CAN can2(PB_5, PB_6);
|
CAN can2(PB_5, PB_6);
|
||||||
#endif
|
#endif
|
||||||
char counter = 0;
|
char counter = 0;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,8 @@ CAN can1(P5_9, P5_10);
|
||||||
defined(TARGET_NUCLEO_F042K6) || defined(TARGET_NUCLEO_F334R8) || \
|
defined(TARGET_NUCLEO_F042K6) || defined(TARGET_NUCLEO_F334R8) || \
|
||||||
defined(TARGET_NUCLEO_F303RE) || defined(TARGET_NUCLEO_F303K8) || \
|
defined(TARGET_NUCLEO_F303RE) || defined(TARGET_NUCLEO_F303K8) || \
|
||||||
defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_F446RE) || \
|
defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_F446RE) || \
|
||||||
defined(TARGET_DISCO_F429ZI) || defined(TARGET_NUCLEO_F103RB)
|
defined(TARGET_DISCO_F429ZI) || defined(TARGET_NUCLEO_F103RB) || \
|
||||||
|
defined(TARGET_NUCLEO_F746ZG)
|
||||||
CAN can1(PA_11, PA_12);
|
CAN can1(PA_11, PA_12);
|
||||||
#elif defined(TARGET_DISCO_F469NI)
|
#elif defined(TARGET_DISCO_F469NI)
|
||||||
CAN can1(PB_8, PB_9);
|
CAN can1(PB_8, PB_9);
|
||||||
|
|
|
||||||
|
|
@ -102,6 +102,7 @@ Wiring:
|
||||||
* DISCO_F469NI: (RX=PB_8, TX=PB_9)
|
* DISCO_F469NI: (RX=PB_8, TX=PB_9)
|
||||||
* DISCO_F4269ZI: (RX=PA_11, TX=PA_12)
|
* DISCO_F4269ZI: (RX=PA_11, TX=PA_12)
|
||||||
* NUCLEO_F103RB: (RX=PA_11, TX=PA_12)
|
* NUCLEO_F103RB: (RX=PA_11, TX=PA_12)
|
||||||
|
* NUCLEO_F746ZG: (RX=PA_11, TX=PA_12)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
TESTS = [
|
TESTS = [
|
||||||
|
|
@ -310,7 +311,7 @@ TESTS = [
|
||||||
"mcu": ["LPC1549", "LPC1768","B96B_F446VE", "VK_RZ_A1H",
|
"mcu": ["LPC1549", "LPC1768","B96B_F446VE", "VK_RZ_A1H",
|
||||||
"NUCLEO_F091RC", "NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8",
|
"NUCLEO_F091RC", "NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8",
|
||||||
"NUCLEO_F303RE", "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE",
|
"NUCLEO_F303RE", "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE",
|
||||||
"DISCO_F469NI", "DISCO_F429ZI", "NUCLEO_F103RB"],
|
"DISCO_F469NI", "DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "MBED_BLINKY", "description": "Blinky",
|
"id": "MBED_BLINKY", "description": "Blinky",
|
||||||
|
|
@ -584,7 +585,7 @@ TESTS = [
|
||||||
"mcu": ["LPC1768", "LPC4088", "LPC1549", "RZ_A1H", "B96B_F446VE", "NUCLEO_F091RC",
|
"mcu": ["LPC1768", "LPC4088", "LPC1549", "RZ_A1H", "B96B_F446VE", "NUCLEO_F091RC",
|
||||||
"NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F303RE",
|
"NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F303RE",
|
||||||
"NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE", "DISCO_F469NI",
|
"NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE", "DISCO_F469NI",
|
||||||
"DISCO_F429ZI", "NUCLEO_F103RB"]
|
"DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "MBED_30", "description": "CAN network test using interrupts",
|
"id": "MBED_30", "description": "CAN network test using interrupts",
|
||||||
|
|
@ -593,7 +594,7 @@ TESTS = [
|
||||||
"mcu": ["LPC1768", "LPC4088", "LPC1549", "RZ_A1H", "B96B_F446VE", "NUCLEO_F091RC",
|
"mcu": ["LPC1768", "LPC4088", "LPC1549", "RZ_A1H", "B96B_F446VE", "NUCLEO_F091RC",
|
||||||
"NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F303RE",
|
"NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F303RE",
|
||||||
"NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE", "DISCO_F469NI",
|
"NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE", "DISCO_F469NI",
|
||||||
"DISCO_F429ZI", "NUCLEO_F103RB"]
|
"DISCO_F429ZI", "NUCLEO_F103RB", "NUCLEO_F746ZG"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "MBED_31", "description": "PWM LED test",
|
"id": "MBED_31", "description": "PWM LED test",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue