mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-12-13 08:51:03 +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
|
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.
|
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
|
choice LOG_BOOTLOADER_LEVEL
|
||||||
bool "Bootloader log verbosity"
|
bool "Bootloader log verbosity"
|
||||||
default LOG_BOOTLOADER_LEVEL_INFO
|
default LOG_BOOTLOADER_LEVEL_INFO
|
||||||
|
|||||||
@@ -613,6 +613,17 @@ esp_err_t bootloader_init()
|
|||||||
|
|
||||||
static esp_err_t bootloader_main()
|
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();
|
uart_console_configure();
|
||||||
|
|
||||||
esp_image_header_t fhdr;
|
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/>`_.
|
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