]> git.dujemihanovic.xyz Git - u-boot.git/commit
tools: kwboot: Fix sending and processing debug message pattern (-d option)
authorPali Rohár <pali@kernel.org>
Wed, 2 Mar 2022 10:49:22 +0000 (11:49 +0100)
committerStefan Roese <sr@denx.de>
Fri, 4 Mar 2022 12:12:13 +0000 (13:12 +0100)
commit93976af58926626077eca8b7bbd1aa592649ec01
tree0b4ab2953d3c79c9f704114addca7a27b2def636
parent913866af6c97c37bbdb8165c32d8046b8ec2c5e1
tools: kwboot: Fix sending and processing debug message pattern (-d option)

-d option is currently broken. In most cases BootROM does not detect this
message pattern. For sending debug message pattern it is needed to do same
steps as for boot message pattern.

Implement sending debug message pattern via same separate thread like it is
for boot message pattern.

Checking if BootROM entered into UART debug mode is different than
detecting UART boot mode. When in boot mode, BootROM sends xmodem NAK
bytes. When in debug mode, BootROM activates console echo and reply back
every written byte (extept \r\n which is interpreted as executing command
and \b which is interpreting as removing the last sent byte).

So in kwboot, check that BootROM send back at least 4 debug message
patterns as a echo reply for debug message patterns which kwboot is sending
in the loop.

Then there is another observation, if host writes too many bytes (as
command) then BootROM command line buffer may overflow after trying to
execute such long command. To workaround this overflow, it is enough to
remove bytes from the input line buffer by sending 3 \b bytes for every
sent character. So do it.

With this change, it is possbile to enter into the UART debug mode with
kwboot -d option.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Stefan Roese <sr@denx.de>
tools/kwboot.c