-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
stm32h7: issue with CONFIG_UART_ASYNC_API=y #34672
Comments
@manoj153 When setting CONFIG_UART_ASYNC_API, you need to provide a valid configuration for dma channels, do you have that ? |
For instance look at: |
yes, I do have them, my uart_rx is working in the async method, which gives an indication it works? and my logging works on that UART with the DMA setting applied on DT |
additional info about this bug:
|
@manoj153 This could be because SHELL subsys selects UART_INTERRUPT_DRIVEN. Maybe you can have a check in that direction ? |
@erwango okay yes it does select UART_INTERRUPT_DRIVEN, how can I force it to at least use the polling API instead? |
@manoj153 I don't think this something doable. At minimum it would require some shell driver rework. Let's ask the shell codeowners: @jakub-uC @nordic-krch. |
I am also thinking if INTERUPT and ASYNC can work at the same time?, that means interrupt uart call API works smoothly |
@erwango, what is the possibility of enabling UART mode per peripheral, what I am trying to say is that each UART peripheral can be set as ASYNC or INTERRUPT. Is this something achievable? |
@manoj153 Indeed, we should be able to have both enabled and use ASYNC on one instance and INTERRUPT on other. |
Yes its not working in this way I can assure that. Limitations root-cause I have a feeling it's the driver from STM32. |
I have the starting point now, it's because of the way async or interrupt is handled, they are not handled per instance zephyr/drivers/serial/uart_stm32.c Lines 1408 to 1421 in ebfe9be
I am going to think, how we're going to solve this as a whole. Is this a feature request and I shall open a new issue? |
@manoj153 Let's open a new issue mentioning that UART_INTERRUPT_DRIVEN and UART_ASYNC_API can't be used at same time on different instances |
and we can close this one. |
just a comment from my side. On nordic drivers it is a per instance choice (e.g. instance 0 can work with async while instance 1 with interrupt driven). |
Yes, I expect to be the case as well on STM32. I know this works that way on SPI. |
okay closing this and proceeding with a proper issue relating to serial driver |
As per the title, I am on an STM32H723 mcu,
uart_tx
anduart_rx
is working fine on application codesetting
CONFIG_UART_STM32=y
and disabling the async allow the shell to be functional.What are steps i could possibly do to get the shell work on async_uart?
The text was updated successfully, but these errors were encountered: