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

K64F: Add support for SERIAL ASYNCH API #3438

Merged
merged 1 commit into from
Jan 9, 2017

Conversation

mmahadevan108
Copy link
Contributor

@mmahadevan108 mmahadevan108 commented Dec 13, 2016

Description

K64F: Add support for SERIAL ASYNCH API

Status

**READY

@mmahadevan108
Copy link
Contributor Author

@sg-
Copy link
Contributor

sg- commented Dec 15, 2016

@AlessandroA Review of DMA usage?

/morph test

@mbed-bot
Copy link

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph test

Output

mbed Build Number: 1272

All builds and test passed!

@AlessandroA
Copy link
Contributor

@sg- @0xc0170 @meriac From the uVisor point of view our expectation is that all uVisor K64F tests should fail because of this PR, as they all use the serial port via printf.

Since all uVisor tests pass we guess that the async/DMA'd version of the APIs is not actually used by default. If that's the case, it would be useful for us to see an example snippet that uses Serial or RawSerial with DMA. We would turn that snippet into a uVisor test: For the security model, it's important to see that test fail because of this PR.

Once these assumptions are confirmed, we will create a fix to uVisor (similar to this previous one) that allows DMA to work when uVisor is enabled.

@0xc0170
Copy link
Contributor

0xc0170 commented Dec 21, 2016

Since all uVisor tests pass we guess that the async/DMA'd version of the APIs is not actually used by default. If that's the case, it would be useful for us to see an example snippet that uses Serial or RawSerial with DMA. We would turn that snippet into a uVisor test: For the security model, it's important to see that test fail because of this PR.

This is for async methods that are not used for stdout/in, therefore we need an example snippet so you can test it.
@mmahadevan108 Can you provide here the code snippet ? That redirects stdout to own Serial instance and uses async methods to send data ?

@mmahadevan108
Copy link
Contributor Author

Tested both DMA and interrupt implementation using test code from below link:
https://developer.mbed.org/teams/SiliconLabs/code/Serial-LowPower-Demo/file/7136baf24c9c/main.cpp

The code in the above link uses interrupts. To test DMA, I added the below 2 lines before calling read() in the main function.


test_connection.set_dma_usage_rx(DMA_USAGE_ALWAYS);
test_connection.set_dma_usage_tx(DMA_USAGE_ALWAYS);

@0xc0170
Copy link
Contributor

0xc0170 commented Dec 21, 2016

@mmahadevan108 We merged the renaming that causing now conflicts?

@mmahadevan108
Copy link
Contributor Author

I have updated the branch to resolve merge conflicts

@bridadan
Copy link
Contributor

/morph test

@mbed-bot
Copy link

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph test

Output

mbed Build Number: 1330

All builds and test passed!

@mmahadevan108
Copy link
Contributor Author

Anything more needed for this PR?

@bridadan
Copy link
Contributor

bridadan commented Jan 3, 2017

@AlessandroA I wasn't sure of your stance on this PR based on your previous comment, could you please review?

@meriac
Copy link
Contributor

meriac commented Jan 4, 2017

@bridadan Please merge the DMA pull request if it works for you - we will fix resulting uVisor (test) breakage. @AlessandroA

@sg- sg- merged commit be28fd8 into ARMmbed:master Jan 9, 2017
@mmahadevan108 mmahadevan108 deleted the SERIAL_ASYNC_API branch January 12, 2017 18:45
aisair pushed a commit to aisair/mbed that referenced this pull request Apr 30, 2024
Ports for Upcoming Targets


Fixes and Changes

3488: Dev stm i2c v2 unitary functions ARMmbed/mbed-os#3488
3492: Fix #3463 CAN read() return value ARMmbed/mbed-os#3492
3503: [LPC15xx] Ensure that PWM=1 is resolved correctly ARMmbed/mbed-os#3503
3504: [LPC15xx] CAN implementation improvements ARMmbed/mbed-os#3504
3539: NUCLEO_F412ZG - Add support of TRNG peripheral ARMmbed/mbed-os#3539
3540: STM: SPI: Initialize Rx in spi_master_write ARMmbed/mbed-os#3540
3438: K64F: Add support for SERIAL ASYNCH API ARMmbed/mbed-os#3438
3519: MCUXpresso: Fix ENET driver to enable interrupts after interrupt handler is set ARMmbed/mbed-os#3519
3544: STM32L4 deepsleep improvement ARMmbed/mbed-os#3544
3546: NUCLEO-F412ZG - Add CAN peripheral ARMmbed/mbed-os#3546
3551: Fix I2C driver for RZ/A1H ARMmbed/mbed-os#3551
3558: K64F UART Asynch API: Fix synchronization issue ARMmbed/mbed-os#3558
3563: LPC4088 - Fix vector checksum ARMmbed/mbed-os#3563
3567: Dev stm32 F0 v1.7.0 ARMmbed/mbed-os#3567
3577: Fixes linking errors when building with debug profile ARMmbed/mbed-os#3577
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