mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'feature/make_monitor' into 'master'
Add 'make monitor' target as used in arduino-esp32 See merge request !355
This commit is contained in:
commit
19fa6e254d
20
README.md
20
README.md
@ -36,6 +36,16 @@ This will flash the entire project (app, bootloader and partition table) to a ne
|
|||||||
|
|
||||||
You don't need to run `make all` before running `make flash`, `make flash` will automatically rebuild anything which needs it.
|
You don't need to run `make all` before running `make flash`, `make flash` will automatically rebuild anything which needs it.
|
||||||
|
|
||||||
|
# Viewing Serial Output
|
||||||
|
|
||||||
|
The `make monitor` target will use the already-installed [miniterm](http://pyserial.readthedocs.io/en/latest/tools.html#module-serial.tools.miniterm) (a part of pyserial) to display serial output from the ESP32 on the terminal console.
|
||||||
|
|
||||||
|
Exit miniterm by typing Ctrl-].
|
||||||
|
|
||||||
|
To flash and monitor output in one pass, you can run:
|
||||||
|
|
||||||
|
`make flash monitor`
|
||||||
|
|
||||||
# Compiling & Flashing Just the App
|
# Compiling & Flashing Just the App
|
||||||
|
|
||||||
After the initial flash, you may just want to build and flash just your app, not the bootloader and partition table:
|
After the initial flash, you may just want to build and flash just your app, not the bootloader and partition table:
|
||||||
@ -47,6 +57,16 @@ After the initial flash, you may just want to build and flash just your app, not
|
|||||||
|
|
||||||
(There's no downside to reflashing the bootloader and partition table each time, if they haven't changed.)
|
(There's no downside to reflashing the bootloader and partition table each time, if they haven't changed.)
|
||||||
|
|
||||||
|
# Parallel Builds
|
||||||
|
|
||||||
|
esp-idf supports compiling multiple files in parallel, so all of the above commands can be run as `make -jN` where `N` is the number of parallel make processes to run (generally N should be equal to or one more than the number of CPU cores in your system.)
|
||||||
|
|
||||||
|
Multiple make functions can be combined into one. For example: to build the app & bootloader using 5 jobs in parallel, then flash everything, and then display serial output from the ESP32 run:
|
||||||
|
|
||||||
|
```
|
||||||
|
make -j5 flash monitor
|
||||||
|
```
|
||||||
|
|
||||||
# The Partition Table
|
# The Partition Table
|
||||||
|
|
||||||
Once you've compiled your project, the "build" directory will contain a binary file with a name like "my_app.bin". This is an ESP32 image binary that can be loaded by the bootloader.
|
Once you've compiled your project, the "build" directory will contain a binary file with a name like "my_app.bin". This is an ESP32 image binary that can be loaded by the bootloader.
|
||||||
|
@ -178,4 +178,44 @@ config ESPTOOLPY_AFTER
|
|||||||
default "hard_reset" if ESPTOOLPY_AFTER_RESET
|
default "hard_reset" if ESPTOOLPY_AFTER_RESET
|
||||||
default "no_reset" if ESPTOOLPY_AFTER_NORESET
|
default "no_reset" if ESPTOOLPY_AFTER_NORESET
|
||||||
|
|
||||||
|
choice MONITOR_BAUD
|
||||||
|
prompt "'make monitor' baud rate"
|
||||||
|
default MONITOR_BAUD_115200B
|
||||||
|
help
|
||||||
|
Baud rate to use when running 'make monitor' to view serial output
|
||||||
|
from a running chip.
|
||||||
|
|
||||||
|
Can override by setting the MONITORBAUD environment variable.
|
||||||
|
|
||||||
|
config MONITOR_BAUD_9600B
|
||||||
|
bool "9600 bps"
|
||||||
|
config MONITOR_BAUD_57600B
|
||||||
|
bool "57600 bps"
|
||||||
|
config MONITOR_BAUD_115200B
|
||||||
|
bool "115200 bps"
|
||||||
|
config MONITOR_BAUD_230400B
|
||||||
|
bool "230400 bps"
|
||||||
|
config MONITOR_BAUD_921600B
|
||||||
|
bool "921600 bps"
|
||||||
|
config MONITOR_BAUD_2MB
|
||||||
|
bool "2 Mbps"
|
||||||
|
config MONITOR_BAUD_OTHER
|
||||||
|
bool "Custom baud rate"
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
config MONITOR_BAUD_OTHER_VAL
|
||||||
|
int "Custom baud rate value" if MONITOR_BAUD_OTHER
|
||||||
|
default 115200
|
||||||
|
|
||||||
|
config MONITOR_BAUD
|
||||||
|
int
|
||||||
|
default 9600 if MONITOR_BAUD_9600B
|
||||||
|
default 57600 if MONITOR_BAUD_57600B
|
||||||
|
default 115200 if MONITOR_BAUD_115200B
|
||||||
|
default 230400 if MONITOR_BAUD_230400B
|
||||||
|
default 921600 if MONITOR_BAUD_921600B
|
||||||
|
default 2000000 if MONITOR_BAUD_2MB
|
||||||
|
default MONITOR_BAUD_OTHER_VAL if MONITOR_BAUD_OTHER
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
@ -67,4 +67,12 @@ erase_flash:
|
|||||||
@echo "Erasing entire flash..."
|
@echo "Erasing entire flash..."
|
||||||
$(ESPTOOLPY_SERIAL) erase_flash
|
$(ESPTOOLPY_SERIAL) erase_flash
|
||||||
|
|
||||||
|
MONITORBAUD ?= $(CONFIG_MONITOR_BAUD)
|
||||||
|
|
||||||
|
# note: if you want to run miniterm from command line, can simply run
|
||||||
|
# miniterm.py on the console. The '$(PYTHON) -m serial.tools.miniterm'
|
||||||
|
# is to allow for the $(PYTHON) variable overriding the python path.
|
||||||
|
monitor: $(call prereq_if_explicit,%flash)
|
||||||
|
$(PYTHON) -m serial.tools.miniterm --rts 0 --dtr 0 --raw $(ESPPORT) $(MONITORBAUD)
|
||||||
|
|
||||||
.PHONY: erase_flash
|
.PHONY: erase_flash
|
||||||
|
@ -30,6 +30,7 @@ help:
|
|||||||
@echo "make clean - Remove all build output"
|
@echo "make clean - Remove all build output"
|
||||||
@echo "make size - Display the memory footprint of the app"
|
@echo "make size - Display the memory footprint of the app"
|
||||||
@echo "make erase_flash - Erase entire flash contents"
|
@echo "make erase_flash - Erase entire flash contents"
|
||||||
|
@echo "make monitor - Display serial output on terminal console"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "make app - Build just the app"
|
@echo "make app - Build just the app"
|
||||||
@echo "make app-flash - Flash just the app"
|
@echo "make app-flash - Flash just the app"
|
||||||
|
Loading…
Reference in New Issue
Block a user