mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-12-11 07:40:47 +08:00
Merge branch 'feature/disable_jtag_io_when_boot_v3.1' into 'release/v3.1'
feat(bootloader): add option to disable JTAG I/O when boot (backport v3.1) See merge request sdk/ESP8266_RTOS_SDK!1421
This commit is contained in:
@@ -10,6 +10,15 @@ config BOOTLOADER_INIT_SPI_FLASH
|
||||
If your system bootloader is based on v3.0, the option must not be enable, because the v3.0 bootloader don't support
|
||||
this function.
|
||||
|
||||
config BOOTLOADER_DISABLE_JTAG_IO
|
||||
bool "Bootloader disable JTAG I/O"
|
||||
default n
|
||||
help
|
||||
Enable this option, when SoC brings up and bootloader initializes hardware, it will
|
||||
disable JTAG's I/O and set these GPIOs to be normal I/O with inputting mode.
|
||||
|
||||
If users use JTAG to help develop, please disable this option.
|
||||
|
||||
choice LOG_BOOTLOADER_LEVEL
|
||||
bool "Bootloader log verbosity"
|
||||
default LOG_BOOTLOADER_LEVEL_INFO
|
||||
|
||||
@@ -613,6 +613,17 @@ esp_err_t bootloader_init()
|
||||
|
||||
static esp_err_t bootloader_main()
|
||||
{
|
||||
#ifdef CONFIG_BOOTLOADER_DISABLE_JTAG_IO
|
||||
/* Set GPIO 12-15 to be normal GPIO */
|
||||
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12);
|
||||
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, FUNC_GPIO13);
|
||||
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14);
|
||||
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, FUNC_GPIO15);
|
||||
|
||||
/* Set GPIO 12-15 to be input mode */
|
||||
GPIO_REG_WRITE(GPIO_ENABLE_W1TC_ADDRESS, BIT12 | BIT13 | BIT14 | BIT15);
|
||||
#endif
|
||||
|
||||
uart_console_configure();
|
||||
|
||||
esp_image_header_t fhdr;
|
||||
|
||||
@@ -27,3 +27,14 @@ You need to disable the sniffer/promiscuous mode at first, then read/write/erase
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
ESP8285 or ESP8266 + 1MB flash can use "Copy OTA Mode" for OTA, more details are in the `examples/system/ota <https://github.com/espressif/ESP8266_RTOS_SDK/tree/master/examples/system/ota/>`_.
|
||||
|
||||
4. JTAG I/O
|
||||
^^^^^^^^^^^
|
||||
|
||||
In some cases, if enable JTAG I/O (default options), it will cost some more current so that the hardware will cost more power.
|
||||
So if users don't use Jtag or these GPIOs directly and want to save more power, please enable this option in the menuconfig:
|
||||
|
||||
::
|
||||
|
||||
"Bootloader config --->
|
||||
[ ] Bootloader disable JTAG I/O"
|
||||
|
||||
Reference in New Issue
Block a user