I want to read the output of NuttX’s hexdump to see if a binary file was generated correctly. Unfortunately using “minicom” to select and read text it not an option.
Then I decided to use Linux “screen” command to see the serial console of my board running NuttX.
First install screen:
$ sudo apt-get install screen
Now you need to execute the “script” command to copy everything from your Linux console:
$ script Script started, file is typescript
Then just run screen:
$ screen /dev/ttyUSB0 115200
In the NuttX prompt execute the hexdump command:
nsh> ls -l /mnt: -rw-rw-rw- 13 TESTE.TXT -rw-rw-rw- 36160 TRKLOG.DB -rw-rw-rw- 640 HEADER.TXT nsh> hexdump /mnt/TRKLOG.DB ... 01f0: 58 5e 3d c2 ec 96 82 94 ff a0 9c 8c b1 5a 04 6c X^=..........Z.l /mnt/TRKLOG.DB at 00008c00: 0000: 13 82 ee 1e 8c 80 47 56 00 00 00 00 00 00 00 00 ......GV........ 0010: 00 00 00 00 00 00 00 00 00 00 00 00 e0 2e 74 0e ..............t. ...
To exit from “screen” press the sequence: Ctrl + a + k
It will show>
Really kill this window [y/n] y [screen is terminating]
Now leave the “script” command:
$ exit exit Script done, file is typescript
If you open typescript you will see the complete dump:
$ vi typescript Script started on Sat 14 Nov 2015 05:23:08 PM BRST $ screen /dev/ttyUSB0 115200^M ^[[r^[[m^[[2J^[[H^[[?7h^[[?1;4;6l^[[?1049h^[[4l^[[?1h^[=^[[0m^[(B^[[1;27r^[[H^[[2J^[[H^[[2J nsh> ^[[Kls -l^M /mnt:^M -rw-rw-rw- 13 TESTE.TXT^M -rw-rw-rw- 36160 TRKLOG.DB^M -rw-rw-rw- 640 HEADER.TXT^M nsh> ^[[Khexdump TRKLOG.DB^M nsh: hexdump: open failed: 2^M nsh> ^[[Khexdump TRKLOG.DB^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[Khexdump TRKLOG.DB^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[Khexdump TRKLOG.DB^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[Khexdump TRKLOG.DB^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K^H^[[K/mnt/TRKLOG.DB^M /mnt/TRKLOG.DB at 00000000:^M 0000: 13 82 ee 1e 33 06 93 b9 00 00 00 00 00 00 00 00 ....3...........^M 0010: 00 00 00 00 00 00 00 00 00 00 00 00 e0 2e 74 0e ..............t.^M 0020: cc 79 7e 45 25 9a 7b cb 2b 6e aa 00 00 00 00 aa .y~E%.{.+n......^M 0030: 58 5e 3d c2 ec 96 82 94 ff a0 9c 8c b1 5a 04 6c X^=..........Z.l^M
Nice, but we need to remove the header (use the editor to remove o header) and these lines starting with /mnt/TRKLOG.DB :
$ sed -i '/^\/mnt/d' typescript
Good, now we need to remove the first 6 characters at beginning of each line:
$ sed -i 's/^.\{,6\}//' typescript
Also the last 17 characters at end of line:
$ sed -i 's/.\{,17\}$//' typescript
Finally we have only the useful information:
13 82 ee 1e 8f 80 47 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0 2e 74 0e cc 79 7e 45 25 9a 7b cb 2b 6e aa 00 00 00 00 aa 58 5e 3d c2 ec 96 82 94 ff a0 9c 8c b1 5a 04 6c 13 82 ee 1e 90 80 47 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0 2e 74 0e cc 79 7e 45 25 9a 7b cb 2b 6e aa 00 00 00 00 aa 58 5e 3d c2 ec 96 82 94 ff a0 9c 8c b1 5a 04 6c
One thought on “Using the Linux screen command as terminal emulator to serial console”