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

Rework SWO output #1534

Merged
merged 1 commit into from
Dec 26, 2019
Merged

Rework SWO output #1534

merged 1 commit into from
Dec 26, 2019

Conversation

josesimoes
Copy link
Member

Description

  • Replace initial checks for ITM port enable (waste of time on each call) with ASSERT. This will cause the assertion to fire in debug mode in case the SwoInit wasn't called for some reason.
  • Rework while conditions.
  • Replace call to CMSIS ITM_SendChar with our own implementation (the CMSIS code has the potential to trap execution on a endless loop if the ITM trace buffer gets filled).
  • Rework loop in GenericPort_Write_CMSIS has the check for the ITM trace buffer being full has the potential to trap execution on a endless loop.

Motivation and Context

How Has This Been Tested?

Screenshots

Types of changes

  • Improvement (non-breaking change that improves a feature, code or algorithm)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Signed-off-by: José Simões jose.simoes@eclo.solutions

- Replace initial checks for ITM port enable (waste of time on each call) with ASSERT. This will cause the assertion to fire in debug mode in case the SwoInit wasn't called for some reason.
- Rework while conditions.
- Replace call to CMSIS `ITM_SendChar` with our own implementation (the CMSIS code has the potential to trap execution on a endless loop if the ITM trace buffer gets filled).
- Rework loop in `GenericPort_Write_CMSIS` has the check for the ITM trace buffer being full has the potential to trap execution on a endless loop.
@josesimoes josesimoes added Type: bug Series: STM32xx Everything related specifically with STM32 targets labels Dec 26, 2019
@nfbot
Copy link
Member

nfbot commented Dec 26, 2019

Hi @josesimoes,

I'm nanoFramework bot.
Thank you for your contribution!

A human will be reviewing it shortly. 😉

@josesimoes josesimoes merged commit 459efd6 into develop Dec 26, 2019
@josesimoes josesimoes deleted the fix-598 branch December 26, 2019 15:49
@josesimoes josesimoes mentioned this pull request Jan 3, 2020
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Series: STM32xx Everything related specifically with STM32 targets Type: bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

NucleoF411RE after disconnect from power it do not start more and have to re flash nanoframework
2 participants