QEMU monitor is the controller of the simulation model. To start it, we need add parameter '-monitor xxx' in the command line when we start the QEMU.
Here is the example:
chunxie@chunxie-VirtualBox:~/uboot-mainline/u-boot$ qemu-system-arm -M vexpress-a9 -nographic -m 512 -kernel u-boot -monitor telnet:127.0.0.1:4444,server,nowait
U-Boot 2016.11-rc3 (May 06 2019 - 09:39:05 +0800)
DRAM: 512 MiB
WARNING: Caches not enabled
Flash: 128 MiB
MMC: MMC: 0
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: smc911x-0
Hit any key to stop autoboot: 0
=>
"-monitor telnet:127.0.0.1:4444,server,nowait" means monitor will open a telnet server on port 4444. so we can connect to it by telnet as following.
chunxie@chunxie-VirtualBox:~$ telnet 127.0.0.1 4444
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
QEMU 4.0.50 monitor - type 'help' for more information
(qemu) info status
VM status: running
(qemu) info cpus
* CPU #0: thread_id=2874
(qemu)
We can see monitor is connected by telnet here. And we can use monitor commands now.