Skip to content
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

Enable asynchronous serial with DMA for K66F #11443

Merged
merged 1 commit into from
Sep 10, 2019

Conversation

michalpasztamobica
Copy link
Contributor

Description

Added DMA definitions and usage for UART, based on K64F's code.

We need this to improve the UART's performance when K66F interacts with ESP8266. We've seen a lot of missing packets and device errors reported in UDP tests. This change improves the situation significantly.

@0xc0170 , I'd be grateful if you could check if the license header in dma_reqs.h is fine? The file is copied over from K64F with a minor modification...

Pull request type

[x] Fix
[ ] Refactor
[ ] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

@SeppoTakalo
@AnttiKauppila
@VeijoPesonen

Added DMA definitions and usage for UART, based on K64F's code.
@ciarmcom
Copy link
Member

ciarmcom commented Sep 9, 2019

@michalpasztamobica, thank you for your changes.
@maclobdell @AnttiKauppila @VeijoPesonen @SeppoTakalo @ARMmbed/mbed-os-maintainers please review.

@kjbracey
Copy link
Contributor

Are you actually planning to use the asynchronous serlal? UARTSerial doesn't at present, but maybe there's some other fix here that helps it?

(There is a patch kicking around somewhere that experimentally makes it use asynchronous for TX. RX would be a trickier - not 100% sure it's feasible)

Copy link
Contributor

@kjbracey kjbracey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the assumption that this is indeed copying the K64F code, approved, but should run it by the NXP guys. They would know if there are any important differences between the two chips.

@michalpasztamobica
Copy link
Contributor Author

@kjbracey-arm , yes I copied the K64F code and removed UART5 (K66F only has UART0-4). The DMA callbacks were already declared, but not used, so I think this is safe.

@ARMmbed/team-nxp , your feedback will be very valuable :)

Copy link
Contributor

@0xc0170 0xc0170 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mmahadevan108 Please review

sleep_manager_unlock_deep_sleep();
}
}
#if 0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can this be removed?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feature is not complete and needs to be completed. We can leave it in for now and I will work to update this support to support CHARACTER_MATCH

@mmahadevan108
Copy link
Contributor

@michalpasztamobica Thank you for the update

@0xc0170
Copy link
Contributor

0xc0170 commented Sep 10, 2019

CI started

@mbed-ci
Copy link

mbed-ci commented Sep 10, 2019

Test run: SUCCESS

Summary: 11 of 11 test jobs passed
Build number : 1
Build artifacts

@0xc0170 0xc0170 removed the needs: CI label Sep 10, 2019
@0xc0170 0xc0170 merged commit 4ea7768 into ARMmbed:master Sep 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants