Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 13 additions & 8 deletions bsp/nxp/imx/imxrt/imxrt1180-nxp-evk/cm33/.config
Original file line number Diff line number Diff line change
Expand Up @@ -238,10 +238,11 @@ CONFIG_RT_USING_DEVICE_IPC=y
CONFIG_RT_UNAMED_PIPE_NUMBER=64
# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set
CONFIG_RT_USING_SERIAL=y
CONFIG_RT_USING_SERIAL_V1=y
# CONFIG_RT_USING_SERIAL_V2 is not set
# CONFIG_RT_SERIAL_USING_DMA is not set
CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_SERIAL_V1 is not set
CONFIG_RT_USING_SERIAL_V2=y
# CONFIG_RT_SERIAL_BUF_STRATEGY_DROP is not set
CONFIG_RT_SERIAL_BUF_STRATEGY_OVERWRITE=y
CONFIG_RT_SERIAL_USING_DMA=y
# CONFIG_RT_USING_SERIAL_BYPASS is not set
# CONFIG_RT_USING_CAN is not set
# CONFIG_RT_USING_CLOCK_TIME is not set
Expand Down Expand Up @@ -273,6 +274,7 @@ CONFIG_RT_USING_ADC=y
# CONFIG_RT_USING_BLK is not set
# CONFIG_RT_USING_REGULATOR is not set
# CONFIG_RT_USING_POWER_SUPPLY is not set

CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_CHERRYUSB is not set
# end of Device Drivers
Expand Down Expand Up @@ -1469,15 +1471,18 @@ CONFIG_BSP_USING_DMA=y
CONFIG_BSP_USING_LPADC=y
CONFIG_BSP_USING_LPADC1=y
CONFIG_BSP_LPADC1_USING_DMA=y
# CONFIG_BSP_USING_GPIO is not set
CONFIG_BSP_USING_GPIO=y
# CONFIG_BSP_USING_RTC is not set
# CONFIG_BSP_USING_USB is not set
# CONFIG_BSP_USING_SDIO is not set
CONFIG_BSP_USING_LPUART=y
CONFIG_BSP_USING_LPUART1=y
# CONFIG_BSP_LPUART1_RX_USING_DMA is not set
# CONFIG_BSP_LPUART1_TX_USING_DMA is not set
# CONFIG_BSP_USING_LPUART3 is not set
CONFIG_BSP_LPUART1_RX_USING_DMA=y
CONFIG_BSP_LPUART1_RX_DMA_CHANNEL=0
CONFIG_BSP_LPUART1_TX_USING_DMA=y
CONFIG_BSP_LPUART1_TX_DMA_CHANNEL=1
# CONFIG_BSP_USING_LPUART10 is not set
# CONFIG_BSP_USING_LPUART12 is not set
# CONFIG_BSP_USING_CAN is not set
# CONFIG_BSP_USING_FLEXSPI is not set
# end of On-chip Peripheral Drivers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,21 @@
#include <rtthread.h>
#include <rtdevice.h>
#include <drv_gpio.h>
#include <fsl_rgpio.h>

#define LED_PIN GET_PIN(4, 27)

int main(void)
{
rt_kprintf("MIMXRT1180_CM33 Hello_World\r\n");
rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT);

while (1)
{
rt_pin_write(LED_PIN, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(LED_PIN, PIN_LOW);
rt_thread_mdelay(500);
}
}


84 changes: 56 additions & 28 deletions bsp/nxp/imx/imxrt/imxrt1180-nxp-evk/cm33/board/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -118,34 +118,62 @@ menu "On-chip Peripheral Drivers"
int "Set LPUART1 TX DMA channel (0-32)"
default 1

config BSP_USING_LPUART3
bool "Enable LPUART3"
default n

config BSP_LPUART3_RX_USING_DMA
bool "Enable LPUART3 RX DMA"
depends on BSP_USING_LPUART3
select BSP_USING_DMA
select RT_SERIAL_USING_DMA
default n

config BSP_LPUART3_RX_DMA_CHANNEL
depends on BSP_LPUART3_RX_USING_DMA
int "Set LPUART3 RX DMA channel (0-32)"
default 0

config BSP_LPUART3_TX_USING_DMA
bool "Enable LPUART3 TX DMA"
depends on BSP_USING_LPUART3
select BSP_USING_DMA
select RT_SERIAL_USING_DMA
default n

config BSP_LPUART3_TX_DMA_CHANNEL
depends on BSP_LPUART3_TX_USING_DMA
int "Set LPUART3 TX DMA channel (0-32)"
default 1
endif
config BSP_USING_LPUART10
bool "Enable LPUART10"
default n

config BSP_LPUART10_RX_USING_DMA
bool "Enable LPUART10 RX DMA"
depends on BSP_USING_LPUART10
select BSP_USING_DMA
select RT_SERIAL_USING_DMA
default n

config BSP_LPUART10_RX_DMA_CHANNEL
depends on BSP_LPUART10_RX_USING_DMA
int "Set LPUART10 RX DMA channel (0-32)"
default 0

config BSP_LPUART10_TX_USING_DMA
bool "Enable LPUART10 TX DMA"
depends on BSP_USING_LPUART10
select BSP_USING_DMA
select RT_SERIAL_USING_DMA
default n

config BSP_LPUART10_TX_DMA_CHANNEL
depends on BSP_LPUART10_TX_USING_DMA
int "Set LPUART10 TX DMA channel (0-32)"
default 1

config BSP_USING_LPUART12
bool "Enable LPUART12"
default n

config BSP_LPUART12_RX_USING_DMA
bool "Enable LPUART12 RX DMA"
depends on BSP_USING_LPUART12
select BSP_USING_DMA
select RT_SERIAL_USING_DMA
default n

config BSP_LPUART12_RX_DMA_CHANNEL
depends on BSP_LPUART12_RX_USING_DMA
int "Set LPUART12 RX DMA channel (0-32)"
default 2

config BSP_LPUART12_TX_USING_DMA
bool "Enable LPUART12 TX DMA"
depends on BSP_USING_LPUART12
select BSP_USING_DMA
select RT_SERIAL_USING_DMA
default n

config BSP_LPUART12_TX_DMA_CHANNEL
depends on BSP_LPUART12_TX_USING_DMA
int "Set LPUART12 TX DMA channel (0-32)"
default 3
endif

menuconfig BSP_USING_I2C
bool "Enable I2C"
Expand Down
120 changes: 57 additions & 63 deletions bsp/nxp/imx/imxrt/imxrt1180-nxp-evk/cm33/board/MCUX_Config/pin_mux.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ processor_version: 0.15.9
#include "pin_mux.h"

/* FUNCTION ************************************************************************************************************
*
*
* Function Name : BOARD_InitBootPins
* Description : Calls initialization functions.
*
*
* END ****************************************************************************************************************/
void BOARD_InitBootPins(void) {
BOARD_InitPins();
Expand Down Expand Up @@ -57,75 +57,69 @@ void BOARD_InitPins(void) {
CLOCK_EnableClock(kCLOCK_Iomuxc1); /* Turn on LPCG: LPCG is ON. */
CLOCK_EnableClock(kCLOCK_Iomuxc2); /* Turn on LPCG: LPCG is ON. */

// /* GPIO configuration on GPIO_AD_27 (pin M16) */
// rgpio_pin_config_t gpio4_pinM16_config = {
// .pinDirection = kRGPIO_DigitalOutput,
// .outputLogic = 1U,
// };
// /* Initialize GPIO functionality on GPIO_AD_27 (pin M16) */
// RGPIO_PinInit(RGPIO4, 27U, &gpio4_pinM16_config);

// IOMUXC_SetPinMux(
// IOMUXC_GPIO_AD_27_GPIO4_IO27, /* GPIO_AD_27 is configured as GPIO4_IO27 */
// 0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AON_08_LPUART1_TX, /* GPIO_AON_08 is configured as LPUART1_TX */
0U); /* Software Input On Field: Input Path is determined by functionality */
IOMUXC_GPIO_AON_08_LPUART1_TX,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AON_09_LPUART1_RX, /* GPIO_AON_09 is configured as LPUART1_RX */
0U); /* Software Input On Field: Input Path is determined by functionality */
IOMUXC_GPIO_AON_09_LPUART1_RX,
0U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AON_08_LPUART1_TX, /* GPIO_AON_08 PAD functional properties : */
0x02U); /* Slew Rate Field: Fast Slew Rate
Drive Strength Field: high driver
Pull / Keep Select Field: Pull Disable, Highz
Pull Up / Down Config. Field: Weak pull down
Open Drain Field: Disabled */
IOMUXC_GPIO_AON_08_LPUART1_TX,
0x02U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AON_09_LPUART1_RX, /* GPIO_AON_09 PAD functional properties : */
0x02U); /* Slew Rate Field: Fast Slew Rate
Drive Strength Field: high driver
Pull / Keep Select Field: Pull Disable, Highz
Pull Up / Down Config. Field: Weak pull down
Open Drain Field: Disabled */
IOMUXC_GPIO_AON_09_LPUART1_RX,
0x02U);

IOMUXC_SetPinMux(
IOMUXC_GPIO_AON_16_LPI2C2_SCL, /* GPIO_AON_16 is configured as LPI2C2_SCL */
1U); /* Software Input On Field: Force input path of pad GPIO_AON_16 */
IOMUXC_GPIO_AD_32_LPUART10_TX,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AON_15_LPI2C2_SDA, /* GPIO_AON_15 is configured as LPI2C2_SDA */
1U); /* Software Input On Field: Force input path of pad GPIO_AON_15 */
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AON_16_LPI2C2_SCL, /* GPIO_AON_16 PAD functional properties : */
0x1DU); /* Slew Rate Field: Slow Slew Rate
Pull Enable Field: Pull Enable
Pull Up / Down Config. Field: Weak pull up
Open Drain Field: Enabled */
IOMUXC_GPIO_AD_33_LPUART10_RX,
0U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AON_15_LPI2C2_SDA, /* GPIO_AON_15 PAD functional properties : */
0x1DU); /* Slew Rate Field: Slow Slew Rate
Pull Enable Field: Pull Enable
Pull Up / Down Config. Field: Weak pull up
Open Drain Field: Enabled */
IOMUXC_GPIO_AD_32_LPUART10_TX,
0x02U);
IOMUXC_GPIO_AD_33_LPUART10_RX,
0x02U);

IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_18_LPI2C3_SCL, /* GPIO_AD_18 is configured as LPI2C3_SCL */
0U); /* Software Input On Field: Input Path is determined by functionality */
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_19_LPI2C3_SDA, /* GPIO_AD_19 is configured as LPI2C3_SDA */
0U); /* Software Input On Field: Input Path is determined by functionality */
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_18_LPI2C3_SCL, /* GPIO_AD_18 PAD functional properties : */
0x1DU); /* Slew Rate Field: Slow Slew Rate
Pull Enable Field: Pull Enable
Pull Up / Down Config. Field: Weak pull up
Open Drain Field: Enabled */
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_19_LPI2C3_SDA, /* GPIO_AD_19 PAD functional properties : */
0x1DU); /* Slew Rate Field: Slow Slew Rate
Pull Enable Field: Pull Enable
Pull Up / Down Config. Field: Weak pull up
Open Drain Field: Enabled */
IOMUXC_SetPinMux(
IOMUXC_GPIO_AON_19_LPUART12_TX,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AON_20_LPUART12_RX,
0U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AON_19_LPUART12_TX,
0x02U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AON_20_LPUART12_RX,
0x02U);

IOMUXC_SetPinMux(
IOMUXC_GPIO_AON_16_LPI2C2_SCL,
1U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AON_15_LPI2C2_SDA,
1U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AON_16_LPI2C2_SCL,
0x1DU);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AON_15_LPI2C2_SDA,
0x1DU);

IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_18_LPI2C3_SCL,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_19_LPI2C3_SDA,
0U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_18_LPI2C3_SCL,
0x1DU);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_19_LPI2C3_SDA,
0x1DU);
}

void BOARD_InitLeds(void) {
Expand All @@ -142,7 +136,7 @@ void BOARD_InitLeds(void) {

IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_27_GPIO4_IO27, /* GPIO_AD_27 is configured as GPIO4_IO27 */
0U);
0U);
}


Expand Down
6 changes: 4 additions & 2 deletions bsp/nxp/imx/imxrt/imxrt1180-nxp-evk/cm33/board/board.c
Original file line number Diff line number Diff line change
Expand Up @@ -1269,6 +1269,10 @@ void rt_hw_board_init()
rt_components_board_init();
#endif

#ifdef RT_USING_HEAP
rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END);
#endif

#ifdef RT_USING_CONSOLE
rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
#endif
Expand All @@ -1278,8 +1282,6 @@ void rt_hw_board_init()
rt_kprintf("Heap: 0x%08x - 0x%08x (Size: %d bytes)\n",
HEAP_BEGIN, HEAP_END,
(uint32_t)HEAP_END - (uint32_t)HEAP_BEGIN);

rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END);
#endif

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
#if defined(__heap_size__)
#define heap_size __heap_size__
#else
#define heap_size 0x04000
#define heap_size 0x20000
#endif

/* Target specific definition, code & data allocation */
Expand Down
Loading
Loading