Skip to content

Conversation

@bcantrill
Copy link
Collaborator

No description provided.

Copy link
Collaborator

@cbiffle cbiffle left a comment

Choose a reason for hiding this comment

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

I second Laura's concern about kernel panics becoming silent with this change, but otherwise it looks good.

@bcantrill
Copy link
Collaborator Author

At this point, this is good to go, with ITM having been verified as functioning correctly on both the STM32F407 (via STLink/v2 + Humility) and the LPC55S69 (via a cross-linked STLink/v2 + Humility).

Copy link
Collaborator

@cbiffle cbiffle left a comment

Choose a reason for hiding this comment

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

This looks good. As a robustness thing, I feel like we ought to

  • Set bit 0 of the ITM_TPR to block unprivileged (i.e. task) accesses to stimulus ports 0-7
  • Move user logging to port 8.

Just because having a user insert stuff into what is otherwise the kernel (or msg trace!) log stream would be confusing.

This can be a followup if you'd like afaic.

@bcantrill
Copy link
Collaborator Author

That's a very good suggestion, but if you don't mind, I might defer that to my current work on ITM-based system call tracing, in which I would like to rationalize stimulus port usage across the entire system. In particular, we may wish logging to be done outside of a task and by a single entity: the ITM FIFO is shared by all stimulus ports, giving rise to a potential race condition whereby the FIFO can be overflowed when it is allowed to be written to by multiple tasks.

@bcantrill bcantrill merged commit c8f09f2 into master Jun 13, 2020
@mx-shift mx-shift deleted the itm branch October 19, 2021 20:47
clockdomain pushed a commit to clockdomain/hubris that referenced this pull request Sep 25, 2025
…rver

[feat] Ast1060 App with Mock I2C Driver
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants