diff options
| author | supperthomas <[email protected]> | 2020-11-25 00:09:50 +0800 |
|---|---|---|
| committer | supperthomas <[email protected]> | 2021-03-17 21:15:00 +0800 |
| commit | a6c57d964040eab44eeb39e7c5bd63575d78262e (patch) | |
| tree | de5848aa267284a1ed1c4e97cfe50a3e79476a54 /bsp | |
| parent | 7fc7600ecafd03146d9a7cfec304baf4ae8acc10 (diff) | |
[bsp/stm32] add art-pi uart3
Diffstat (limited to 'bsp')
8 files changed, 239 insertions, 28 deletions
diff --git a/bsp/stm32/stm32h750-artpi-h750/.config b/bsp/stm32/stm32h750-artpi-h750/.config index 38d0bf68b8..c31157512a 100644 --- a/bsp/stm32/stm32h750-artpi-h750/.config +++ b/bsp/stm32/stm32h750-artpi-h750/.config @@ -115,7 +115,7 @@ CONFIG_RT_USING_DEVICE_IPC=y CONFIG_RT_PIPE_BUFSZ=512 # CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set CONFIG_RT_USING_SERIAL=y -CONFIG_RT_SERIAL_USING_DMA=y +# CONFIG_RT_SERIAL_USING_DMA is not set CONFIG_RT_SERIAL_RB_BUFSZ=64 # CONFIG_RT_USING_CAN is not set # CONFIG_RT_USING_HWTIMER is not set @@ -442,7 +442,7 @@ CONFIG_SOC_SERIES_STM32H7=y # # Hardware Drivers Config # -CONFIG_SOC_STM32H750IB=y +CONFIG_SOC_STM32H750XB=y # # Onboard Peripheral Drivers @@ -454,7 +454,7 @@ CONFIG_SOC_STM32H750IB=y # CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_UART=y -CONFIG_BSP_USING_UART1=y +CONFIG_BSP_USING_UART3=y CONFIG_BSP_USING_UART4=y # CONFIG_BSP_USING_SDIO is not set # CONFIG_BSP_USING_CRC is not set diff --git a/bsp/stm32/stm32h750-artpi-h750/README.md b/bsp/stm32/stm32h750-artpi-h750/README.md index 6d736073b6..fd7c920579 100644 --- a/bsp/stm32/stm32h750-artpi-h750/README.md +++ b/bsp/stm32/stm32h750-artpi-h750/README.md @@ -45,7 +45,7 @@ STM32H750 是RTTHREAD推出的一款基于 ARM Cortex-M7 内核的开发板,� | LCD RG888 | 待支持 | 显示屏接口 | | **片上外设** | **支持情况** | **备注** | | GPIO | 支持 | | -| UART | 支持 | UART1 | +| UART | 支持 | UART4 UART3 | | SPI | 支持 | SPI | | QSPI | 支持 | | | | | | diff --git a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c b/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c index 1e241b9160..77a19bb14b 100644 --- a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c +++ b/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c @@ -113,6 +113,9 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart) GPIO_InitStruct.Alternate = GPIO_AF8_UART4; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + /* UART4 interrupt Init */ + HAL_NVIC_SetPriority(UART4_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(UART4_IRQn); /* USER CODE BEGIN UART4_MspInit 1 */ /* USER CODE END UART4_MspInit 1 */ @@ -147,6 +150,11 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart) GPIO_InitStruct.Alternate = GPIO_AF7_USART3; HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + /* USART3 interrupt Init */ + HAL_NVIC_SetPriority(USART3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(USART3_IRQn); + + NVIC_EnableIRQ(USART3_IRQn); /* USER CODE BEGIN USART3_MspInit 1 */ /* USER CODE END USART3_MspInit 1 */ @@ -178,6 +186,8 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0); + /* UART4 interrupt DeInit */ + HAL_NVIC_DisableIRQ(UART4_IRQn); /* USER CODE BEGIN UART4_MspDeInit 1 */ /* USER CODE END UART4_MspDeInit 1 */ @@ -200,6 +210,8 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) HAL_GPIO_DeInit(GPIOD, GPIO_PIN_11|GPIO_PIN_12); + /* USART3 interrupt DeInit */ + HAL_NVIC_DisableIRQ(USART3_IRQn); /* USER CODE BEGIN USART3_MspDeInit 1 */ /* USER CODE END USART3_MspDeInit 1 */ diff --git a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_it.c b/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_it.c index 20d2455bb8..01b01ae206 100644 --- a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_it.c +++ b/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/Core/Src/stm32h7xx_it.c @@ -56,7 +56,8 @@ /* USER CODE END 0 */ /* External variables --------------------------------------------------------*/ - +extern UART_HandleTypeDef huart4; +extern UART_HandleTypeDef huart3; /* USER CODE BEGIN EV */ /* USER CODE END EV */ @@ -197,6 +198,34 @@ void SysTick_Handler(void) /* please refer to the startup file (startup_stm32h7xx.s). */ /******************************************************************************/ +/** + * @brief This function handles USART3 global interrupt. + */ +void USART3_IRQHandler(void) +{ + /* USER CODE BEGIN USART3_IRQn 0 */ + + /* USER CODE END USART3_IRQn 0 */ + HAL_UART_IRQHandler(&huart3); + /* USER CODE BEGIN USART3_IRQn 1 */ + + /* USER CODE END USART3_IRQn 1 */ +} + +/** + * @brief This function handles UART4 global interrupt. + */ +void UART4_IRQHandler(void) +{ + /* USER CODE BEGIN UART4_IRQn 0 */ + + /* USER CODE END UART4_IRQn 0 */ + HAL_UART_IRQHandler(&huart4); + /* USER CODE BEGIN UART4_IRQn 1 */ + + /* USER CODE END UART4_IRQn 1 */ +} + /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ diff --git a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/CubeMX_Config.ioc b/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/CubeMX_Config.ioc index 068dfa869e..a71fd18402 100644 --- a/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/CubeMX_Config.ioc +++ b/bsp/stm32/stm32h750-artpi-h750/board/CubeMX_Config/CubeMX_Config.ioc @@ -14,15 +14,16 @@ Mcu.Name=STM32H750XBHx Mcu.Package=TFBGA240 Mcu.Pin0=PI9 Mcu.Pin1=PI8 -Mcu.Pin2=PH1-OSC_OUT (PH1) -Mcu.Pin3=PH0-OSC_IN (PH0) -Mcu.Pin4=PA0 -Mcu.Pin5=PB10 -Mcu.Pin6=PB11 -Mcu.Pin7=PD11 -Mcu.Pin8=PD12 -Mcu.Pin9=VP_SYS_VS_Systick -Mcu.PinsNb=10 +Mcu.Pin10=VP_SYS_VS_Systick +Mcu.Pin2=PI11 +Mcu.Pin3=PH1-OSC_OUT (PH1) +Mcu.Pin4=PH0-OSC_IN (PH0) +Mcu.Pin5=PA0 +Mcu.Pin6=PB10 +Mcu.Pin7=PB11 +Mcu.Pin8=PD11 +Mcu.Pin9=PD12 +Mcu.PinsNb=11 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32H750XBHx @@ -38,6 +39,8 @@ NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true +NVIC.UART4_IRQn=true\:0\:0\:false\:false\:true\:true\:true +NVIC.USART3_IRQn=true\:0\:0\:false\:false\:true\:true\:true NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false PA0.Locked=true PA0.Mode=Asynchronous @@ -56,6 +59,8 @@ PH0-OSC_IN\ (PH0).Mode=HSE-External-Oscillator PH0-OSC_IN\ (PH0).Signal=RCC_OSC_IN PH1-OSC_OUT\ (PH1).Mode=HSE-External-Oscillator PH1-OSC_OUT\ (PH1).Signal=RCC_OSC_OUT +PI11.Locked=true +PI11.Signal=GPIO_Output PI8.Locked=true PI8.Signal=GPIO_Output PI9.Locked=true diff --git a/bsp/stm32/stm32h750-artpi-h750/board/Kconfig b/bsp/stm32/stm32h750-artpi-h750/board/Kconfig index 18fc3b4603..2d07f8c8e3 100644 --- a/bsp/stm32/stm32h750-artpi-h750/board/Kconfig +++ b/bsp/stm32/stm32h750-artpi-h750/board/Kconfig @@ -10,7 +10,7 @@ config SOC_STM32H750XB menu "Onboard Peripheral Drivers" config BSP_USING_QSPI_FLASH - bool "Enable QSPI FLASH (W25Q256)" + bool "Enable QSPI FLASH (W25Q64)" select BSP_USING_QSPI select RT_USING_SFUD select RT_SFUD_USING_QSPI @@ -29,8 +29,8 @@ menu "On-chip Peripheral Drivers" default y select RT_USING_SERIAL if BSP_USING_UART - config BSP_USING_UART1 - bool "Enable UART1" + config BSP_USING_UART3 + bool "Enable UART3" default y config BSP_USING_UART4 diff --git a/bsp/stm32/stm32h750-artpi-h750/project.uvoptx b/bsp/stm32/stm32h750-artpi-h750/project.uvoptx index 49a4577940..32aea0646d 100644 --- a/bsp/stm32/stm32h750-artpi-h750/project.uvoptx +++ b/bsp/stm32/stm32h750-artpi-h750/project.uvoptx @@ -119,6 +119,26 @@ <TargetDriverDllRegistry> <SetRegEntry> <Number>0</Number> + <Key>ARMRTXEVENTFLAGS</Key> + <Name>-L70 -Z18 -C0 -M0 -T1</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>DLGTARM</Key> + <Name>(1010=-1,-1,-1,-1,0)(6017=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(6016=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>ARMDBGFLAGS</Key> + <Name></Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>DLGUARM</Key> + <Name>(105=-1,-1,-1,-1,0)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> <Key>UL2CM3</Key> <Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32H7x_128k -FL020000 -FS08000000 -FP0($$Device:STM32H750XBHx$CMSIS\Flash\STM32H7x_128k.FLM)</Name> </SetRegEntry> @@ -128,19 +148,159 @@ <Name>-U066BFF393732484257162540 -O206 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32H7x_128k -FS08000000 -FL020000</Name> </SetRegEntry> </TargetDriverDllRegistry> - <Breakpoint/> + <Breakpoint> + <Bp> + <Number>0</Number> + <Type>0</Type> + <LineNumber>516</LineNumber> + <EnabledFlag>1</EnabledFlag> + <Address>134238434</Address> + <ByteObject>0</ByteObject> + <HtxType>0</HtxType> + <ManyObjects>0</ManyObjects> + <SizeOfObject>0</SizeOfObject> + <BreakByAccess>0</BreakByAccess> + <BreakIfRCount>1</BreakIfRCount> + <Filename>..\libraries\HAL_Drivers\drv_usart.c</Filename> + <ExecCommand></ExecCommand> + <Expression>\\rt_thread\../libraries/HAL_Drivers/drv_usart.c\516</Expression> + </Bp> + <Bp> + <Number>1</Number> + <Type>0</Type> + <LineNumber>105</LineNumber> + <EnabledFlag>1</EnabledFlag> + <Address>134264914</Address> + <ByteObject>0</ByteObject> + <HtxType>0</HtxType> + <ManyObjects>0</ManyObjects> + <SizeOfObject>0</SizeOfObject> + <BreakByAccess>0</BreakByAccess> + <BreakIfRCount>1</BreakIfRCount> + <Filename>applications\main.c</Filename> + <ExecCommand></ExecCommand> + <Expression>\\rt_thread\applications/main.c\105</Expression> + </Bp> + <Bp> + <Number>2</Number> + <Type>0</Type> + <LineNumber>108</LineNumber> + <EnabledFlag>1</EnabledFlag> + <Address>134262562</Address> + <ByteObject>0</ByteObject> + <HtxType>0</HtxType> + <ManyObjects>0</ManyObjects> + <SizeOfObject>0</SizeOfObject> + <BreakByAccess>0</BreakByAccess> + <BreakIfRCount>1</BreakIfRCount> + <Filename>..\libraries\HAL_Drivers\drv_usart.c</Filename> + <ExecCommand></ExecCommand> + <Expression>\\rt_thread\../libraries/HAL_Drivers/drv_usart.c\108</Expression> + </Bp> + <Bp> + <Number>3</Number> + <Type>0</Type> + <LineNumber>115</LineNumber> + <EnabledFlag>1</EnabledFlag> + <Address>134262586</Address> + <ByteObject>0</ByteObject> + <HtxType>0</HtxType> + <ManyObjects>0</ManyObjects> + <SizeOfObject>0</SizeOfObject> + <BreakByAccess>0</BreakByAccess> + <BreakIfRCount>1</BreakIfRCount> + <Filename>..\libraries\HAL_Drivers\drv_usart.c</Filename> + <ExecCommand></ExecCommand> + <Expression>\\rt_thread\../libraries/HAL_Drivers/drv_usart.c\115</Expression> + </Bp> + <Bp> + <Number>4</Number> + <Type>0</Type> + <LineNumber>164</LineNumber> + <EnabledFlag>1</EnabledFlag> + <Address>134262714</Address> + <ByteObject>0</ByteObject> + <HtxType>0</HtxType> + <ManyObjects>0</ManyObjects> + <SizeOfObject>0</SizeOfObject> + <BreakByAccess>0</BreakByAccess> + <BreakIfRCount>1</BreakIfRCount> + <Filename>..\libraries\HAL_Drivers\drv_usart.c</Filename> + <ExecCommand></ExecCommand> + <Expression>\\rt_thread\../libraries/HAL_Drivers/drv_usart.c\164</Expression> + </Bp> + <Bp> + <Number>5</Number> + <Type>0</Type> + <LineNumber>222</LineNumber> + <EnabledFlag>1</EnabledFlag> + <Address>134262916</Address> + <ByteObject>0</ByteObject> + <HtxType>0</HtxType> + <ManyObjects>0</ManyObjects> + <SizeOfObject>0</SizeOfObject> + <BreakByAccess>0</BreakByAccess> + <BreakIfRCount>1</BreakIfRCount> + <Filename>..\libraries\HAL_Drivers\drv_usart.c</Filename> + <ExecCommand></ExecCommand> + <Expression>\\rt_thread\../libraries/HAL_Drivers/drv_usart.c\222</Expression> + </Bp> + <Bp> + <Number>6</Number> + <Type>0</Type> + <LineNumber>224</LineNumber> + <EnabledFlag>1</EnabledFlag> + <Address>134262950</Address> + <ByteObject>0</ByteObject> + <HtxType>0</HtxType> + <ManyObjects>0</ManyObjects> + <SizeOfObject>0</SizeOfObject> + <BreakByAccess>0</BreakByAccess> + <BreakIfRCount>1</BreakIfRCount> + <Filename>..\libraries\HAL_Drivers\drv_usart.c</Filename> + <ExecCommand></ExecCommand> + <Expression>\\rt_thread\../libraries/HAL_Drivers/drv_usart.c\224</Expression> + </Bp> + </Breakpoint> + <WatchWindow1> + <Ww> + <count>0</count> + <WinNumber>1</WinNumber> + <ItemText>uart</ItemText> + </Ww> + <Ww> + <count>1</count> + <WinNumber>1</WinNumber> + <ItemText>baud_rate</ItemText> + </Ww> + <Ww> + <count>2</count> + <WinNumber>1</WinNumber> + <ItemText>cfg->baud_rate,0x0A</ItemText> + </Ww> + <Ww> + <count>3</count> + <WinNumber>1</WinNumber> + <ItemText>huart</ItemText> + </Ww> + <Ww> + <count>4</count> + <WinNumber>1</WinNumber> + <ItemText>uart->handle</ItemText> + </Ww> + </WatchWindow1> <Tracepoint> <THDelay>0</THDelay> </Tracepoint> <DebugFlag> <trace>0</trace> <periodic>0</periodic> - <aLwin>0</aLwin> + <aLwin>1</aLwin> <aCover>0</aCover> <aSer1>0</aSer1> <aSer2>0</aSer2> <aPa>0</aPa> - <viewmode>0</viewmode> + <viewmode>1</viewmode> <vrSel>0</vrSel> <aSym>0</aSym> <aTbox>0</aTbox> @@ -171,6 +331,12 @@ <pszMrulep></pszMrulep> <pSingCmdsp></pSingCmdsp> <pMultCmdsp></pMultCmdsp> + <SystemViewers> + <Entry> + <Name>System Viewer\USART3</Name> + <WinId>35905</WinId> + </Entry> + </SystemViewers> <DebugDescription> <Enable>1</Enable> <EnableFlashSeq>1</EnableFlashSeq> @@ -203,7 +369,7 @@ <Group> <GroupName>cpu</GroupName> - <tvExp>0</tvExp> + <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> @@ -479,7 +645,7 @@ <Group> <GroupName>finsh</GroupName> - <tvExp>0</tvExp> + <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> @@ -523,7 +689,7 @@ <Group> <GroupName>Kernel</GroupName> - <tvExp>0</tvExp> + <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> @@ -699,7 +865,7 @@ <Group> <GroupName>libc</GroupName> - <tvExp>0</tvExp> + <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> @@ -719,7 +885,7 @@ <Group> <GroupName>STM32_HAL</GroupName> - <tvExp>0</tvExp> + <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> diff --git a/bsp/stm32/stm32h750-artpi-h750/rtconfig.h b/bsp/stm32/stm32h750-artpi-h750/rtconfig.h index af67cf3d40..8d75171203 100644 --- a/bsp/stm32/stm32h750-artpi-h750/rtconfig.h +++ b/bsp/stm32/stm32h750-artpi-h750/rtconfig.h @@ -78,7 +78,6 @@ #define RT_USING_DEVICE_IPC #define RT_PIPE_BUFSZ 512 #define RT_USING_SERIAL -#define RT_SERIAL_USING_DMA #define RT_SERIAL_RB_BUFSZ 64 #define RT_USING_PIN @@ -153,7 +152,7 @@ /* Hardware Drivers Config */ -#define SOC_STM32H750IB +#define SOC_STM32H750XB /* Onboard Peripheral Drivers */ @@ -162,7 +161,7 @@ #define BSP_USING_GPIO #define BSP_USING_UART -#define BSP_USING_UART1 +#define BSP_USING_UART3 #define BSP_USING_UART4 /* Board extended module Drivers */ |
