-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
Add IPM console #27804
Add IPM console #27804
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm super confused.
Something wrong with the existing IPM console driver?
See drivers/console/ipm_console_sender.c, drivers/console/ipm_console_receiver.c
@andrewboie I can modify this So it was easier to write proper ipm_console then modify those console senders and receivers and also tests. @andyross also does not like the method used to send character: See |
No, it's not a test library. We used it to forward console output on Arduino 101 from the ARC CPU to the Lakemont, it was enabled by the default for that board. The name "sender" is the side sending the console messages (on Arduino 101, the ARC CPU) I don't care if you rewrite it but if you want to rewrite how IPM console works to make it line-buffered you need to remove all of this code or amend it. Not have two completely different implementations for the same thing in-tree, that's a hard NACK. |
But now it is enabled only by test.
As I said @andyross gave strong NACK with So at the moment nobody uses this code, if everybody OK I will remove it. I am also OK reusing console sender, I still have support in my python terminal tool with getting console characters in ID field. I just need for that enabling console sender and removing or modifying test. |
efaa9e3
to
8129bf2
Compare
arch/arm/core/aarch64/Kconfig
Outdated
@@ -58,9 +58,6 @@ config CMSIS_V2_THREAD_MAX_STACK_SIZE | |||
config CMSIS_V2_THREAD_DYNAMIC_STACK_SIZE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this being removed? I know it was used in A101, but there is nothing here that is related to 101 and we have a test. So I would leave it, we might get users for this in the future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nashif Do you mean drop the commit 58e0c009ab5fb0df07d33fa365f655d1d0956b6f ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes
Add console over Inter Processor Mailboxes (IPM). This is useful for AMP processors like ADSP found on up_squared board. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Add @finikorg as codeowner for ipm_console. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Add tool which can access ADSP console over IPM using Python device library and polling Doorbell registers. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Add defaults for IPM and IPM_CONSOLE when IPM and CONSOLE are enabled. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Tweak ADSP initialization to catch early console output. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Add default which takes the target device from DTS similar way to UART console. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Add IPM console DTS binding. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Add IPM console to the board. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
By default, subprocess.Popen commands are supplied as a list of strings. Using split() allows to use command with arguments, for example it is possible to use following: sanitycheck ... \ --device-serial-pty="set_ambient read_terminal.py" \ ... Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
1e05b0d
to
aa2458d
Compare
Remove now unused configuration option. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
This PR adds IPM console which might be tested with up_squared_adsp.
Following options need to be enabled: CONSOLE & IPM and disable LOG_PRINTK
After that you can "flash" the board with:
And in another terminal
Can be used with
sanitycheck
also, for example from inside zephyrproject:where
$HOME/set_ambient
is described here: #22724 (comment)