在线时间5 小时
UID1875981
注册时间2016-12-19
NXP金币0
该用户从未签到
注册会员
- 积分
- 113
- 最后登录
- 2022-12-8
|
之前用Jlink SWD三线可以识别RT1021,无法下载。搞了好久,最后用一块开发板的DAP完成下载。
换成开发板的DAP下载OK:
先从点灯开始,开发板的SCH LED
- nt main(void)
- {
- DisableGlobalIRQ();
- board_init(); //务必保留,本函数用于初始化MPU 时钟 调试串口
-
-
- //初始化GPIO C14 为输出 默认输出低电平 使用默认引脚配置GPIO_PIN_CONFIG
- gpio_init(C14,GPO,0,GPIO_PIN_CONFIG);
-
- //初始化GPIO C15 为输出 默认输出高电平 使用默认引脚配置GPIO_PIN_CONFIG
- gpio_init(C15,GPO,1,GPIO_PIN_CONFIG);
-
-
-
-
- //初始化GPIO D5 D7 为输入引脚
- gpio_init(D5 ,GPI,0,GPIO_PIN_CONFIG);
- gpio_init(D7 ,GPI,0,GPIO_PIN_CONFIG);
-
- EnableGlobalIRQ(0);
-
-
-
- while(1)
- {
- gpio_set(C14,1);//设置引脚电平为高电平
- systick_delay_ms(100);
- gpio_set(C14,0);//设置引脚电平为低电平
- systick_delay_ms(100);
- gpio_toggle(C14);//翻转引脚电平
- systick_delay_ms(100);
-
-
- gpio_set(C15,1);//设置引脚电平为高电平
- systick_delay_ms(100);
- gpio_set(C15,0);//设置引脚电平为低电平
- systick_delay_ms(100);
- gpio_toggle(C15);//翻转引脚电平
- systick_delay_ms(100);
-
-
- gpio_status = gpio_get(D5);//获取引脚电平
- systick_delay_ms(100);
-
- }
-
- }
复制代码- void BOARD_InitPins(void) {
- CLOCK_EnableClock(kCLOCK_Iomuxc); /* iomuxc clock (iomuxc_clk_enable): 0x03u */
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_AD_B0_06_LPUART1_TX, /* GPIO_AD_B0_06 is configured as LPUART1_TX */
- 0U); /* Software Input On Field: Input Path is determined by functionality */
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_AD_B0_07_LPUART1_RX, /* GPIO_AD_B0_07 is configured as LPUART1_RX */
- 0U); /* Software Input On Field: Input Path is determined by functionality */
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_SD_B1_05_FLEXSPI_A_DQS, /* GPIO_SD_B1_05 is configured as FLEXSPI_A_DQS */
- 1U); /* Software Input On Field: Force input path of pad GPIO_SD_B1_05 */
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_SD_B1_06_FLEXSPI_A_DATA03, /* GPIO_SD_B1_06 is configured as FLEXSPI_A_DATA03 */
- 1U); /* Software Input On Field: Force input path of pad GPIO_SD_B1_06 */
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_SD_B1_07_FLEXSPI_A_SCLK, /* GPIO_SD_B1_07 is configured as FLEXSPI_A_SCLK */
- 1U); /* Software Input On Field: Force input path of pad GPIO_SD_B1_07 */
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_SD_B1_08_FLEXSPI_A_DATA00, /* GPIO_SD_B1_08 is configured as FLEXSPI_A_DATA00 */
- 1U); /* Software Input On Field: Force input path of pad GPIO_SD_B1_08 */
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_SD_B1_09_FLEXSPI_A_DATA02, /* GPIO_SD_B1_09 is configured as FLEXSPI_A_DATA02 */
- 1U); /* Software Input On Field: Force input path of pad GPIO_SD_B1_09 */
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_SD_B1_10_FLEXSPI_A_DATA01, /* GPIO_SD_B1_10 is configured as FLEXSPI_A_DATA01 */
- 1U); /* Software Input On Field: Force input path of pad GPIO_SD_B1_10 */
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_SD_B1_11_FLEXSPI_A_SS0_B, /* GPIO_SD_B1_11 is configured as FLEXSPI_A_SS0_B */
- 1U); /* Software Input On Field: Force input path of pad GPIO_SD_B1_11 */
- IOMUXC_SetPinConfig(
- IOMUXC_GPIO_AD_B0_06_LPUART1_TX, /* GPIO_AD_B0_06 PAD functional properties : */
- 0x10B0u); /* Slew Rate Field: Slow Slew Rate
- Drive Strength Field: R0/6
- Speed Field: medium(100MHz)
- Open Drain Enable Field: Open Drain Disabled
- Pull / Keep Enable Field: Pull/Keeper Enabled
- Pull / Keep Select Field: Keeper
- Pull Up / Down Config. Field: 100K Ohm Pull Down
- Hyst. Enable Field: Hysteresis Disabled */
- IOMUXC_SetPinConfig(
- IOMUXC_GPIO_AD_B0_07_LPUART1_RX, /* GPIO_AD_B0_07 PAD functional properties : */
- 0x10B0u); /* Slew Rate Field: Slow Slew Rate
- Drive Strength Field: R0/6
- Speed Field: medium(100MHz)
- Open Drain Enable Field: Open Drain Disabled
- Pull / Keep Enable Field: Pull/Keeper Enabled
- Pull / Keep Select Field: Keeper
- Pull Up / Down Config. Field: 100K Ohm Pull Down
- Hyst. Enable Field: Hysteresis Disabled */
- IOMUXC_SetPinConfig(
- IOMUXC_GPIO_SD_B1_05_FLEXSPI_A_DQS, /* GPIO_SD_B1_05 PAD functional properties : */
- 0x10F1u); /* Slew Rate Field: Fast Slew Rate
- Drive Strength Field: R0/6
- Speed Field: max(200MHz)
- Open Drain Enable Field: Open Drain Disabled
- Pull / Keep Enable Field: Pull/Keeper Enabled
- Pull / Keep Select Field: Keeper
- Pull Up / Down Config. Field: 100K Ohm Pull Down
- Hyst. Enable Field: Hysteresis Disabled */
- IOMUXC_SetPinConfig(
- IOMUXC_GPIO_SD_B1_06_FLEXSPI_A_DATA03, /* GPIO_SD_B1_06 PAD functional properties : */
- 0x10F1u); /* Slew Rate Field: Fast Slew Rate
- Drive Strength Field: R0/6
- Speed Field: max(200MHz)
- Open Drain Enable Field: Open Drain Disabled
- Pull / Keep Enable Field: Pull/Keeper Enabled
- Pull / Keep Select Field: Keeper
- Pull Up / Down Config. Field: 100K Ohm Pull Down
- Hyst. Enable Field: Hysteresis Disabled */
- IOMUXC_SetPinConfig(
- IOMUXC_GPIO_SD_B1_07_FLEXSPI_A_SCLK, /* GPIO_SD_B1_07 PAD functional properties : */
- 0x10F1u); /* Slew Rate Field: Fast Slew Rate
- Drive Strength Field: R0/6
- Speed Field: max(200MHz)
- Open Drain Enable Field: Open Drain Disabled
- Pull / Keep Enable Field: Pull/Keeper Enabled
- Pull / Keep Select Field: Keeper
- Pull Up / Down Config. Field: 100K Ohm Pull Down
- Hyst. Enable Field: Hysteresis Disabled */
- IOMUXC_SetPinConfig(
- IOMUXC_GPIO_SD_B1_08_FLEXSPI_A_DATA00, /* GPIO_SD_B1_08 PAD functional properties : */
- 0x10F1u); /* Slew Rate Field: Fast Slew Rate
- Drive Strength Field: R0/6
- Speed Field: max(200MHz)
- Open Drain Enable Field: Open Drain Disabled
- Pull / Keep Enable Field: Pull/Keeper Enabled
- Pull / Keep Select Field: Keeper
- Pull Up / Down Config. Field: 100K Ohm Pull Down
- Hyst. Enable Field: Hysteresis Disabled */
- IOMUXC_SetPinConfig(
- IOMUXC_GPIO_SD_B1_09_FLEXSPI_A_DATA02, /* GPIO_SD_B1_09 PAD functional properties : */
- 0x10F1u); /* Slew Rate Field: Fast Slew Rate
- Drive Strength Field: R0/6
- Speed Field: max(200MHz)
- Open Drain Enable Field: Open Drain Disabled
- Pull / Keep Enable Field: Pull/Keeper Enabled
- Pull / Keep Select Field: Keeper
- Pull Up / Down Config. Field: 100K Ohm Pull Down
- Hyst. Enable Field: Hysteresis Disabled */
- IOMUXC_SetPinConfig(
- IOMUXC_GPIO_SD_B1_10_FLEXSPI_A_DATA01, /* GPIO_SD_B1_10 PAD functional properties : */
- 0x10F1u); /* Slew Rate Field: Fast Slew Rate
- Drive Strength Field: R0/6
- Speed Field: max(200MHz)
- Open Drain Enable Field: Open Drain Disabled
- Pull / Keep Enable Field: Pull/Keeper Enabled
- Pull / Keep Select Field: Keeper
- Pull Up / Down Config. Field: 100K Ohm Pull Down
- Hyst. Enable Field: Hysteresis Disabled */
- IOMUXC_SetPinConfig(
- IOMUXC_GPIO_SD_B1_11_FLEXSPI_A_SS0_B, /* GPIO_SD_B1_11 PAD functional properties : */
- 0x10F1u); /* Slew Rate Field: Fast Slew Rate
- Drive Strength Field: R0/6
- Speed Field: max(200MHz)
- Open Drain Enable Field: Open Drain Disabled
- Pull / Keep Enable Field: Pull/Keeper Enabled
- Pull / Keep Select Field: Keeper
- Pull Up / Down Config. Field: 100K Ohm Pull Down
- Hyst. Enable Field: Hysteresis Disabled */
-
-
-
- }
复制代码
时钟配置比STM32复杂下,052的IO配置相对ST的芯片更加复杂,但也更加灵活。
FSL SDK的GPIO配置主要涉及两个库文件,fsl_iomux和fsl_gpioIOMUX文件主要是关于IO的上下拉,驱动力和速率的一些复用功能的设置。
GPIO就是配置IO的输入输出方向,和IO状态的读取,基本的IO配置流程就是开启IO时钟(pin_mux.c文件下已经开启,如果没开需要加上CLOCK_EnableClock(kCLOCK_Iomuxc);),设置IO 普通IO或复用功能,设置上下拉等,最后设置IO输入输出。
|
|