kopia lustrzana https://github.com/espressif/esp-idf
docs(esp32p4): added building docs for ESP32-P4
rodzic
080087a9a0
commit
27baef2424
|
@ -86,7 +86,7 @@ check_docs_lang_sync:
|
|||
parallel:
|
||||
matrix:
|
||||
- DOCLANG: ["en", "zh_CN"]
|
||||
DOCTGT: ["esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32h2"]
|
||||
DOCTGT: ["esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32h2", "esp32p4"]
|
||||
|
||||
check_docs_gh_links:
|
||||
image: $ESP_IDF_DOC_ENV_IMAGE
|
||||
|
@ -129,7 +129,7 @@ build_docs_html_partial:
|
|||
- DOCLANG: "en"
|
||||
DOCTGT: "esp32"
|
||||
- DOCLANG: "zh_CN"
|
||||
DOCTGT: "esp32c6"
|
||||
DOCTGT: "esp32p4"
|
||||
|
||||
build_docs_pdf:
|
||||
extends:
|
||||
|
|
|
@ -239,7 +239,7 @@ FORCE_INLINE_ATTR void esp_cpu_intr_set_ivt_addr(const void *ivt_addr)
|
|||
/**
|
||||
* @brief Set the base address of the current CPU's Interrupt Vector Table (MTVT)
|
||||
*
|
||||
* @param ivt_addr Interrupt Vector Table's base address
|
||||
* @param mtvt_addr Interrupt Vector Table's base address
|
||||
*/
|
||||
FORCE_INLINE_ATTR void esp_cpu_intr_set_mtvt_addr(const void *mtvt_addr)
|
||||
{
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
choice ESP32P4_UNIVERSAL_MAC_ADDRESSES
|
||||
bool "Number of universally administered (by IEEE) MAC address"
|
||||
default ESP32P4_UNIVERSAL_MAC_ADDRESSES_TWO
|
||||
help
|
||||
TODO IDF-6514
|
||||
|
||||
config ESP32P4_UNIVERSAL_MAC_ADDRESSES_TWO
|
||||
bool "Two"
|
||||
select ESP_MAC_UNIVERSAL_MAC_ADDRESSES_TWO
|
||||
select ESP_MAC_ADDR_UNIVERSE_ETH
|
||||
endchoice
|
||||
|
||||
config ESP32P4_UNIVERSAL_MAC_ADDRESSES
|
||||
int
|
||||
default 2 if ESP32P4_UNIVERSAL_MAC_ADDRESSES_TWO
|
|
@ -370,7 +370,6 @@
|
|||
// host_id = 0 -> SPI0/SPI1, host_id = 1 -> SPI2,
|
||||
#define SOC_SPI_PERIPH_SUPPORT_MULTILINE_MODE(host_id) ({(void)host_id; 1;})
|
||||
|
||||
#define SOC_MEMSPI_IS_INDEPENDENT 1
|
||||
#define SOC_SPI_MAX_PRE_DIVIDER 16
|
||||
|
||||
/*-------------------------- SPI MEM CAPS ---------------------------------------*/
|
||||
|
|
|
@ -168,6 +168,10 @@ ESP32C2_DOCS = ['api-guides/RF_calibration.rst']
|
|||
ESP32C6_DOCS = ['api-guides/RF_calibration.rst',
|
||||
'api-reference/peripherals/sd_pullup_requirements.rst']
|
||||
|
||||
ESP32H2_DOCS = ['api-guides/RF_calibration.rst']
|
||||
|
||||
ESP32P4_DOCS = ['api-reference/system/ipc.rst']
|
||||
|
||||
# format: {tag needed to include: documents to included}, tags are parsed from sdkconfig and peripheral_caps.h headers
|
||||
conditional_include_dict = {'SOC_BT_SUPPORTED':BT_DOCS,
|
||||
'SOC_BLE_SUPPORTED':BLE_DOCS,
|
||||
|
@ -212,7 +216,9 @@ conditional_include_dict = {'SOC_BT_SUPPORTED':BT_DOCS,
|
|||
'esp32s3':ESP32S3_DOCS,
|
||||
'esp32c2':ESP32C2_DOCS,
|
||||
'esp32c3':ESP32C3_DOCS,
|
||||
'esp32c6':ESP32C6_DOCS}
|
||||
'esp32c6':ESP32C6_DOCS,
|
||||
'esp32h2':ESP32H2_DOCS,
|
||||
'esp32p4':ESP32P4_DOCS}
|
||||
|
||||
extensions += ['sphinx_copybutton',
|
||||
'sphinxcontrib.wavedrom',
|
||||
|
@ -242,7 +248,7 @@ html_context['github_repo'] = 'esp-idf'
|
|||
project_slug = 'esp-idf'
|
||||
versions_url = 'https://dl.espressif.com/dl/esp-idf/idf_versions.js'
|
||||
|
||||
idf_targets = ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c2', 'esp32c6']
|
||||
idf_targets = ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c2', 'esp32c6', 'esp32p4']
|
||||
languages = ['en', 'zh_CN']
|
||||
|
||||
google_analytics_id = os.environ.get('CI_GOOGLE_ANALYTICS_ID', None)
|
||||
|
|
|
@ -0,0 +1,279 @@
|
|||
languages.rst
|
||||
contribute/esp-idf-tests-with-pytest.rst
|
||||
contribute/contributor-agreement.rst
|
||||
contribute/documenting-code.rst
|
||||
contribute/creating-examples.rst
|
||||
contribute/style-guide.rst
|
||||
contribute/copyright-guide.rst
|
||||
contribute/install-pre-commit-hook.rst
|
||||
contribute/index.rst
|
||||
api-guides/core_dump_internals.rst
|
||||
api-guides/performance/speed.rst
|
||||
api-guides/performance/size.rst
|
||||
api-guides/performance/ram-usage.rst
|
||||
api-guides/performance/index.rst
|
||||
api-guides/jtag-debugging/debugging-examples.rst
|
||||
api-guides/jtag-debugging/configure-ft2232h-jtag.rst
|
||||
api-guides/jtag-debugging/tips-and-quirks.rst
|
||||
api-guides/jtag-debugging/using-debugger.rst
|
||||
api-guides/jtag-debugging/building-openocd-macos.rst
|
||||
api-guides/jtag-debugging/building-openocd-linux.rst
|
||||
api-guides/jtag-debugging/esp32p4.inc
|
||||
api-guides/jtag-debugging/configure-other-jtag.rst
|
||||
api-guides/jtag-debugging/building-openocd-windows.rst
|
||||
api-guides/jtag-debugging/index.rst
|
||||
api-guides/jtag-debugging/configure-builtin-jtag.rst
|
||||
api-guides/partition-tables.rst
|
||||
api-guides/app_trace.rst
|
||||
api-guides/thread-local-storage.rst
|
||||
api-guides/error-handling.rst
|
||||
api-guides/tools/idf-tools.rst
|
||||
api-guides/tools/idf-clang-tidy.rst
|
||||
api-guides/tools/idf-component-manager.rst
|
||||
api-guides/tools/idf-py.rst
|
||||
api-guides/tools/idf-windows-installer.rst
|
||||
api-guides/tools/idf-monitor.rst
|
||||
api-guides/tools/idf-tools-notes.inc
|
||||
api-guides/tools/idf-docker-image.rst
|
||||
api-guides/tools/index.rst
|
||||
api-guides/startup.rst
|
||||
api-guides/hlinterrupts.rst
|
||||
api-guides/RF_calibration.rst
|
||||
api-guides/unit-tests.rst
|
||||
api-guides/deep-sleep-stub.rst
|
||||
api-guides/blufi.rst
|
||||
api-guides/lwip.rst
|
||||
api-guides/coexist.rst
|
||||
api-guides/flash_psram_config.rst
|
||||
api-guides/usb-serial-jtag-console.rst
|
||||
api-guides/linker-script-generation.rst
|
||||
api-guides/wifi.rst
|
||||
api-guides/usb-otg-console.rst
|
||||
api-guides/wireshark-user-guide.rst
|
||||
api-guides/bootloader.rst
|
||||
api-guides/esp-wifi-mesh.rst
|
||||
api-guides/cplusplus.rst
|
||||
api-guides/SYSVIEW_FreeRTOS.txt
|
||||
api-guides/build-system.rst
|
||||
api-guides/core_dump.rst
|
||||
api-guides/inc/external-ram-esp32-notes.rst
|
||||
api-guides/inc/linux-host-requirements.rst
|
||||
api-guides/dfu.rst
|
||||
api-guides/current-consumption-measurement-modules.rst
|
||||
api-guides/esp-ble-mesh/ble-mesh-index.rst
|
||||
api-guides/esp-ble-mesh/ble-mesh-feature-list.rst
|
||||
api-guides/esp-ble-mesh/ble-mesh-terminology.rst
|
||||
api-guides/esp-ble-mesh/ble-mesh-architecture.rst
|
||||
api-guides/esp-ble-mesh/ble-mesh-faq.rst
|
||||
api-guides/external-ram.rst
|
||||
api-guides/reproducible-builds.rst
|
||||
api-guides/hardware-abstraction.rst
|
||||
api-guides/wifi-security.rst
|
||||
api-guides/host-apps.rst
|
||||
api-guides/index.rst
|
||||
api-guides/openthread.rst
|
||||
api-guides/fatal-errors.rst
|
||||
api-guides/memory-types.rst
|
||||
api-guides/general-notes.rst
|
||||
third-party-tools/platformio.rst
|
||||
COPYRIGHT.rst
|
||||
libraries-and-frameworks/libs-frameworks.rst
|
||||
libraries-and-frameworks/index.rst
|
||||
libraries-and-frameworks/cloud-frameworks.rst
|
||||
conf.py
|
||||
versions.rst
|
||||
api-reference/api-conventions.rst
|
||||
api-reference/template.rst
|
||||
api-reference/provisioning/protocomm.rst
|
||||
api-reference/provisioning/provisioning.rst
|
||||
api-reference/provisioning/index.rst
|
||||
api-reference/provisioning/wifi_provisioning.rst
|
||||
api-reference/storage/vfs.rst
|
||||
api-reference/storage/spiffs.rst
|
||||
api-reference/storage/nvs_encryption.rst
|
||||
api-reference/storage/wear-levelling.rst
|
||||
api-reference/storage/fatfs.rst
|
||||
api-reference/storage/nvs_partition_gen.rst
|
||||
api-reference/storage/nvs_flash.rst
|
||||
api-reference/storage/partition.rst
|
||||
api-reference/storage/sdmmc.rst
|
||||
api-reference/storage/mass_mfg.rst
|
||||
api-reference/storage/fatfsgen.rst
|
||||
api-reference/storage/index.rst
|
||||
api-reference/storage/nvs_partition_parse.rst
|
||||
api-reference/peripherals/sdspi_share.rst
|
||||
api-reference/peripherals/gpio/esp32p4.inc
|
||||
api-reference/peripherals/adc_continuous.rst
|
||||
api-reference/peripherals/adc_oneshot.rst
|
||||
api-reference/peripherals/usb_host.rst
|
||||
api-reference/peripherals/twai.rst
|
||||
api-reference/peripherals/usb_host/usb_host_notes_arch.rst
|
||||
api-reference/peripherals/usb_host/usb_host_notes_index.rst
|
||||
api-reference/peripherals/usb_host/usb_host_notes_dwc_otg.rst
|
||||
api-reference/peripherals/usb_host/usb_host_notes_design.rst
|
||||
api-reference/peripherals/hmac.rst
|
||||
api-reference/peripherals/usb_device.rst
|
||||
api-reference/peripherals/gpio.rst
|
||||
api-reference/peripherals/sdspi_host.rst
|
||||
api-reference/peripherals/dac.rst
|
||||
api-reference/peripherals/spi_slave.rst
|
||||
api-reference/peripherals/etm.rst
|
||||
api-reference/peripherals/i2s.rst
|
||||
api-reference/peripherals/gptimer.rst
|
||||
api-reference/peripherals/pcnt.rst
|
||||
api-reference/peripherals/touch_element.rst
|
||||
api-reference/peripherals/lcd.rst
|
||||
api-reference/peripherals/mcpwm.rst
|
||||
api-reference/peripherals/ana_cmpr.rst
|
||||
api-reference/peripherals/secure_element.rst
|
||||
api-reference/peripherals/ledc.rst
|
||||
api-reference/peripherals/temp_sensor.rst
|
||||
api-reference/peripherals/spi_features.rst
|
||||
api-reference/peripherals/sdio_slave.rst
|
||||
api-reference/peripherals/clk_tree.rst
|
||||
api-reference/peripherals/spi_flash/xip_from_psram.inc
|
||||
api-reference/peripherals/spi_flash/spi_flash_concurrency.rst
|
||||
api-reference/peripherals/spi_flash/spi_flash_override_driver.rst
|
||||
api-reference/peripherals/spi_flash/spi_flash_optional_feature.rst
|
||||
api-reference/peripherals/spi_flash/spi_flash_idf_vs_rom.rst
|
||||
api-reference/peripherals/spi_flash/index.rst
|
||||
api-reference/peripherals/spi_flash/auto_suspend.inc
|
||||
api-reference/peripherals/sdm.rst
|
||||
api-reference/peripherals/touch_pad.rst
|
||||
api-reference/peripherals/adc_calibration.rst
|
||||
api-reference/peripherals/spi_slave_hd.rst
|
||||
api-reference/peripherals/parlio.rst
|
||||
api-reference/peripherals/ds.rst
|
||||
api-reference/peripherals/i2c.rst
|
||||
api-reference/peripherals/dedic_gpio.rst
|
||||
api-reference/peripherals/sd_pullup_requirements.rst
|
||||
api-reference/peripherals/spi_master.rst
|
||||
api-reference/peripherals/index.rst
|
||||
api-reference/peripherals/sdmmc_host.rst
|
||||
api-reference/peripherals/uart.rst
|
||||
api-reference/peripherals/rmt.rst
|
||||
api-reference/kconfig.rst
|
||||
api-reference/network/esp_openthread.rst
|
||||
api-reference/network/esp_eth.rst
|
||||
api-reference/network/esp_netif_driver.rst
|
||||
api-reference/network/esp_dpp.rst
|
||||
api-reference/network/esp_now.rst
|
||||
api-reference/network/esp-wifi-mesh.rst
|
||||
api-reference/network/esp_smartconfig.rst
|
||||
api-reference/network/esp_nan.rst
|
||||
api-reference/network/esp_wifi.rst
|
||||
api-reference/network/index.rst
|
||||
api-reference/network/esp_netif.rst
|
||||
api-reference/system/sleep_modes.rst
|
||||
api-reference/system/ota.rst
|
||||
api-reference/system/app_trace.rst
|
||||
api-reference/system/ulp_macros.rst
|
||||
api-reference/system/perfmon.rst
|
||||
api-reference/system/ulp-lp-core.rst
|
||||
api-reference/system/ulp.rst
|
||||
api-reference/system/esp_function_with_shared_stack.rst
|
||||
api-reference/system/efuse.rst
|
||||
api-reference/system/chip_revision.rst
|
||||
api-reference/system/ulp_instruction_set.rst
|
||||
api-reference/system/async_memcpy.rst
|
||||
api-reference/system/random.rst
|
||||
api-reference/system/esp_timer.rst
|
||||
api-reference/system/esp_event.rst
|
||||
api-reference/system/freertos.rst
|
||||
api-reference/system/system_time.rst
|
||||
api-reference/system/log.rst
|
||||
api-reference/system/soc_caps.rst
|
||||
api-reference/system/internal-unstable.rst
|
||||
api-reference/system/app_image_format.rst
|
||||
api-reference/system/freertos_additions.rst
|
||||
api-reference/system/himem.rst
|
||||
api-reference/system/power_management.rst
|
||||
api-reference/system/mem_alloc.rst
|
||||
api-reference/system/wdts.rst
|
||||
api-reference/system/misc_system_api.rst
|
||||
api-reference/system/bootloader_image_format.rst
|
||||
api-reference/system/inc/espefuse_summary_ESP32-P4.rst
|
||||
api-reference/system/inc/power_management_esp32p4.rst
|
||||
api-reference/system/inc/show-efuse-table_ESP32-P4.rst
|
||||
api-reference/system/inc/revisions_ESP32-P4.rst
|
||||
api-reference/system/heap_debug.rst
|
||||
api-reference/system/mm.rst
|
||||
api-reference/system/ipc.rst
|
||||
api-reference/system/esp_https_ota.rst
|
||||
api-reference/system/ulp-risc-v.rst
|
||||
api-reference/system/esp_err.rst
|
||||
api-reference/system/freertos_idf.rst
|
||||
api-reference/system/console.rst
|
||||
api-reference/system/intr_alloc.rst
|
||||
api-reference/system/index.rst
|
||||
api-reference/system/pthread.rst
|
||||
api-reference/bluetooth/esp_spp.rst
|
||||
api-reference/bluetooth/esp_l2cap_bt.rst
|
||||
api-reference/bluetooth/esp_hidd.rst
|
||||
api-reference/bluetooth/esp_avrc.rst
|
||||
api-reference/bluetooth/controller_vhci.rst
|
||||
api-reference/bluetooth/esp_bt_defs.rst
|
||||
api-reference/bluetooth/esp_hf_ag.rst
|
||||
api-reference/bluetooth/esp_bt_main.rst
|
||||
api-reference/bluetooth/esp_bt_device.rst
|
||||
api-reference/bluetooth/esp_hidh.rst
|
||||
api-reference/bluetooth/esp_gatts.rst
|
||||
api-reference/bluetooth/esp_gattc.rst
|
||||
api-reference/bluetooth/esp_sdp.rst
|
||||
api-reference/bluetooth/bt_common.rst
|
||||
api-reference/bluetooth/nimble/index.rst
|
||||
api-reference/bluetooth/esp_hf_client.rst
|
||||
api-reference/bluetooth/esp_a2dp.rst
|
||||
api-reference/bluetooth/esp_blufi.rst
|
||||
api-reference/bluetooth/bt_le.rst
|
||||
api-reference/bluetooth/esp_hf_defs.rst
|
||||
api-reference/bluetooth/esp_gap_bt.rst
|
||||
api-reference/bluetooth/esp_gatt_defs.rst
|
||||
api-reference/bluetooth/esp-ble-mesh.rst
|
||||
api-reference/bluetooth/index.rst
|
||||
api-reference/bluetooth/esp_gap_ble.rst
|
||||
api-reference/bluetooth/classic_bt.rst
|
||||
api-reference/error-codes.rst
|
||||
api-reference/index.rst
|
||||
api-reference/protocols/icmp_echo.rst
|
||||
api-reference/protocols/esp_serial_slave_link.rst
|
||||
api-reference/protocols/mqtt.rst
|
||||
api-reference/protocols/mbedtls.rst
|
||||
api-reference/protocols/esp_http_server.rst
|
||||
api-reference/protocols/esp_sdio_slave_protocol.rst
|
||||
api-reference/protocols/esp_local_ctrl.rst
|
||||
api-reference/protocols/esp_crt_bundle.rst
|
||||
api-reference/protocols/esp_http_client.rst
|
||||
api-reference/protocols/esp_https_server.rst
|
||||
api-reference/protocols/esp_spi_slave_protocol.rst
|
||||
api-reference/protocols/modbus.rst
|
||||
api-reference/protocols/esp_tls.rst
|
||||
api-reference/protocols/mdns.rst
|
||||
api-reference/protocols/index.rst
|
||||
api-reference/protocols/asio.rst
|
||||
security/host-based-security-workflows.rst
|
||||
security/flash-encryption.rst
|
||||
security/security.rst
|
||||
security/secure-boot-v2.rst
|
||||
security/secure-boot-v1.rst
|
||||
security/esp32p4_log.inc
|
||||
security/index.rst
|
||||
about.rst
|
||||
resources.rst
|
||||
migration-guides/release-5.x/5.2/protocols.rst
|
||||
migration-guides/release-5.x/5.2/index.rst
|
||||
migration-guides/release-5.x/5.2/peripherals.rst
|
||||
migration-guides/index.rst
|
||||
_templates/layout.html
|
||||
get-started/establish-serial-connection.rst
|
||||
get-started/linux-macos-setup.rst
|
||||
get-started/linux-macos-start-project.rst
|
||||
get-started/windows-setup.rst
|
||||
get-started/start-project.rst
|
||||
get-started/flashing-troubleshooting.rst
|
||||
get-started/windows-start-project.rst
|
||||
get-started/index.rst
|
||||
get-started/windows-setup-update.rst
|
||||
404.rst
|
||||
index.rst
|
||||
hw-reference/index.rst
|
|
@ -0,0 +1 @@
|
|||
INPUT += \
|
|
@ -408,18 +408,21 @@ In some situations, ESP-IDF will temporarily disable access to external SPI Flas
|
|||
Other Fatal Errors
|
||||
------------------
|
||||
|
||||
Brownout
|
||||
^^^^^^^^
|
||||
.. only:: SOC_BOD_SUPPORTED
|
||||
|
||||
{IDF_TARGET_NAME} has a built-in brownout detector, which is enabled by default. The brownout detector can trigger a system reset if the supply voltage goes below a safe level. The brownout detector can be configured using :ref:`CONFIG_ESP_BROWNOUT_DET` and :ref:`CONFIG_ESP_BROWNOUT_DET_LVL_SEL` options.
|
||||
Brownout
|
||||
^^^^^^^^
|
||||
|
||||
When the brownout detector triggers, the following message is printed::
|
||||
{IDF_TARGET_NAME} has a built-in brownout detector, which is enabled by default. The brownout detector can trigger a system reset if the supply voltage goes below a safe level. The brownout detector can be configured using :ref:`CONFIG_ESP_BROWNOUT_DET` and :ref:`CONFIG_ESP_BROWNOUT_DET_LVL_SEL` options.
|
||||
|
||||
Brownout detector was triggered
|
||||
When the brownout detector triggers, the following message is printed::
|
||||
|
||||
The chip is reset after the message is printed.
|
||||
Brownout detector was triggered
|
||||
|
||||
The chip is reset after the message is printed.
|
||||
|
||||
Note that if the supply voltage is dropping at a fast rate, only part of the message may be seen on the console.
|
||||
|
||||
Note that if the supply voltage is dropping at a fast rate, only part of the message may be seen on the console.
|
||||
|
||||
Corrupt Heap
|
||||
^^^^^^^^^^^^
|
||||
|
|
|
@ -32,7 +32,7 @@ API Guides
|
|||
partition-tables
|
||||
performance/index
|
||||
reproducible-builds
|
||||
:not esp32h2: RF_calibration
|
||||
:SOC_WIFI_SUPPORTED or SOC_BT_SUPPORTED or SOC_IEEE802154_SUPPORTED: RF_calibration
|
||||
thread-local-storage
|
||||
tools/index
|
||||
unit-tests
|
||||
|
|
|
@ -0,0 +1,173 @@
|
|||
.. This file gets included from other .rst files in this folder.
|
||||
.. It contains target-specific snippets.
|
||||
.. Comments and '---' lines act as delimiters.
|
||||
..
|
||||
.. This is necessary mainly because RST doesn't support substitutions
|
||||
.. (defined in RST, not in Python) inside code blocks. If that is ever implemented,
|
||||
.. These code blocks can be moved back to the main .rst files, with target-specific
|
||||
.. file names being replaced by substitutions.
|
||||
|
||||
.. run-openocd
|
||||
|
||||
::
|
||||
|
||||
openocd -f board/esp32p4-builtin.cfg
|
||||
|
||||
.. |run-openocd-device-name| replace:: ESP32-p4 through built-in USB connection
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-output
|
||||
|
||||
::
|
||||
|
||||
user-name@computer-name:~/esp/esp-idf$ openocd -f board/esp32p4-builtin.cfg
|
||||
Open On-Chip Debugger v0.11.0-esp32-20221026-85-g0718fffd (2023-01-12-07:28)
|
||||
Licensed under GNU GPL v2
|
||||
For bug reports, read
|
||||
http://openocd.org/doc/doxygen/bugs.html
|
||||
Info : only one transport option; autoselect 'jtag'
|
||||
Info : esp_usb_jtag: VID set to 0x303a and PID to 0x1001
|
||||
Info : esp_usb_jtag: capabilities descriptor set to 0x2000
|
||||
Warn : Transport "jtag" was already selected
|
||||
WARNING: ESP flash support is disabled!
|
||||
force hard breakpoints
|
||||
Info : Listening on port 6666 for tcl connections
|
||||
Info : Listening on port 4444 for telnet connections
|
||||
Info : esp_usb_jtag: serial (60:55:F9:F6:03:3C)
|
||||
Info : esp_usb_jtag: Device found. Base speed 24000KHz, div range 1 to 255
|
||||
Info : clock speed 24000 kHz
|
||||
Info : JTAG tap: esp32p4.cpu tap/device found: 0x0000dc25 (mfg: 0x612 (Espressif Systems), part: 0x000d, ver: 0x0)
|
||||
Info : datacount=2 progbufsize=16
|
||||
Info : Examined RISC-V core; found 2 harts
|
||||
Info : hart 0: XLEN=32, misa=0x40903105
|
||||
Info : starting gdb server for esp32p4 on 3333
|
||||
Info : Listening on port 3333 for gdb connections
|
||||
|
||||
.. |run-openocd-cfg-file-err| replace:: ``Can't find board/esp32p4-builtin.cfg``
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-upload
|
||||
|
||||
::
|
||||
|
||||
openocd -f board/esp32p4-builtin.cfg -c "program_esp filename.bin 0x10000 verify exit"
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-src-linux
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
src/openocd -f board/esp32p4-builtin.cfg
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-src-win
|
||||
|
||||
.. code-block:: batch
|
||||
|
||||
src\openocd -f board/esp32p4-builtin.cfg
|
||||
|
||||
---
|
||||
|
||||
.. idf-py-openocd-default-cfg
|
||||
|
||||
.. |idf-py-def-cfg| replace:: ``-f board/esp32p4-builtin.cfg``
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-appimage-offset
|
||||
|
||||
::
|
||||
|
||||
openocd -f board/esp32p4-builtin.cfg -c "init; halt; esp appimage_offset 0x210000"
|
||||
|
||||
---
|
||||
|
||||
.. openocd-cfg-files
|
||||
|
||||
.. list-table:: OpenOCD configuration files for ESP32-p4
|
||||
:widths: 25 75
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Description
|
||||
* - ``board/esp32p4-builtin.cfg``
|
||||
- Board configuration file for ESP32-p4 through built-in USB, includes target and adapter configuration.
|
||||
* - ``board/esp32p4-ftdi.cfg``
|
||||
- Board configuration file for ESP32-p4 for via externally connected FTDI-based probe like ESP-Prog, includes target and adapter configuration.
|
||||
* - ``target/esp32p4.cfg``
|
||||
- ESP32-p4 target configuration file. Can be used together with one of the ``interface/`` configuration files.
|
||||
* - ``interface/esp_usb_jtag.cfg``
|
||||
- JTAG adapter configuration file for ESP32-p4.
|
||||
* - ``interface/ftdi/esp32_devkitj_v1.cfg``
|
||||
- JTAG adapter configuration file for ESP-Prog boards.
|
||||
|
||||
---
|
||||
|
||||
.. openocd-target-specific-config-vars
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
.. jtag-pins
|
||||
|
||||
.. list-table:: ESP32-p4 pins and JTAG signals
|
||||
:widths: 25 75
|
||||
:header-rows: 1
|
||||
|
||||
* - ESP32-p4 Pin
|
||||
- JTAG Signal
|
||||
* - MTDO / GPIO7
|
||||
- TDO
|
||||
* - MTDI / GPIO5
|
||||
- TDI
|
||||
* - MTCK / GPIO6
|
||||
- TCK
|
||||
* - MTMS / GPIO4
|
||||
- TMS
|
||||
|
||||
.. |jtag-sel-gpio| replace:: GPIO15
|
||||
.. |jtag-gpio-list| replace:: GPIO4-GPIO7
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-d3
|
||||
|
||||
::
|
||||
|
||||
openocd -l openocd_log.txt -d3 -f board/esp32p4-builtin.cfg
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-d3-tee
|
||||
|
||||
::
|
||||
|
||||
openocd -d3 -f board/esp32p4-builtin.cfg 2>&1 | tee openocd.log
|
||||
|
||||
---
|
||||
|
||||
.. run-gdb-remotelog
|
||||
|
||||
::
|
||||
|
||||
riscv32-esp-elf-gdb -ex "set remotelogfile gdb_log.txt" <all other options>
|
||||
|
||||
---
|
||||
|
||||
.. devkit-defs
|
||||
|
||||
.. |devkit-name| replace:: ESP32-p4
|
||||
.. |devkit-name-with-link| replace:: :doc:`ESP32-p4 <../../hw-reference/index>`
|
||||
|
||||
---
|
||||
|
||||
.. devkit-hw-config
|
||||
|
||||
* Out of the box, ESP32-p4 doesn't need any additional hardware configuration for JTAG debugging.
|
||||
|
||||
---
|
|
@ -88,7 +88,7 @@ The ESP-IDF bootloader ignores any partition types other than ``app`` (0x00) and
|
|||
|
||||
SubType
|
||||
~~~~~~~
|
||||
{IDF_TARGET_ESP_PHY_REF:default = ":ref:`CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION`", esp32h2="NOT UPDATED YET"}
|
||||
{IDF_TARGET_ESP_PHY_REF:default = ":ref:`CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION`", esp32p4="NOT UPDATED YET"}
|
||||
|
||||
The 8-bit SubType field is specific to a given partition type. ESP-IDF currently only specifies the meaning of the subtype field for ``app`` and ``data`` partition types.
|
||||
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
.. code-block:: none
|
||||
|
||||
TO BE UPDATED IDF-7759
|
|
@ -0,0 +1 @@
|
|||
TO BE UPDATED IDF-7672
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
+--------+------------------------+
|
||||
| ECO | Revision (Major.Minor) |
|
||||
+--------+------------------------+
|
||||
| ECO0 | TO BE UPDATED IDF-7759 |
|
||||
+--------+------------------------+
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
.. code-block:: none
|
||||
|
||||
TO BE UPDATED IDF-7759
|
|
@ -24,7 +24,7 @@ System API
|
|||
heap_debug
|
||||
esp_timer
|
||||
internal-unstable
|
||||
:not CONFIG_FREERTOS_UNICORE: ipc
|
||||
:not CONFIG_FREERTOS_UNICORE or esp32p4: ipc
|
||||
intr_alloc
|
||||
log
|
||||
misc_system_api
|
||||
|
|
|
@ -14,7 +14,11 @@ Due to the dual core nature of the {IDF_TARGET_NAME}, there are instances where
|
|||
- On particular chips (such as the ESP32), accessing memory that is exclusive to a particular CPU (such as RTC Fast Memory).
|
||||
- Reading the registers/state of another CPU.
|
||||
|
||||
The IPC (Inter-Processor Call) feature allows a particular CPU (the calling CPU) to trigger the execution of a callback function on another CPU (the target CPU). The IPC feature allows execution of a callback function on the target CPU in either a task context, or a High Priority Interrupt context (see :doc:`/api-guides/hlinterrupts` for more details). Depending on the context that the callback function is executed in, different restrictions apply to the implementation of the callback function.
|
||||
|
||||
.. only:: not esp32p4
|
||||
|
||||
The IPC (Inter-Processor Call) feature allows a particular CPU (the calling CPU) to trigger the execution of a callback function on another CPU (the target CPU). The IPC feature allows execution of a callback function on the target CPU in either a task context, or a High Priority Interrupt context (see :doc:`/api-guides/hlinterrupts` for more details). Depending on the context that the callback function is executed in, different restrictions apply to the implementation of the callback function.
|
||||
|
||||
|
||||
IPC in Task Context
|
||||
-------------------
|
||||
|
@ -42,19 +46,21 @@ The IPC feature offers the API listed below to execute a callback in a task cont
|
|||
- :cpp:func:`esp_ipc_call` triggers an IPC call on the target CPU. This function will block until the target CPU's IPC task **begins** execution of the callback.
|
||||
- :cpp:func:`esp_ipc_call_blocking` triggers an IPC on the target CPU. This function will block until the target CPU's IPC task **completes** execution of the callback.
|
||||
|
||||
IPC in ISR Context
|
||||
------------------
|
||||
.. only:: not esp32p4
|
||||
|
||||
In some cases, we need to quickly obtain the state of another CPU such as in a core dump, GDB stub, various unit tests, and DPORT workaround. For such scenarios, the IPC feature supports execution of callbacks in a :doc:`High Priority Interrupt </api-guides/hlinterrupts>` context. The IPC feature implements the High Priority Interrupt context by reserving a High Priority Interrupt on each CPU for IPC usage. When a calling CPU needs to execute a callback on the target CPU, the callback will execute in the context of the High Priority Interrupt of the target CPU.
|
||||
IPC in ISR Context
|
||||
------------------
|
||||
|
||||
When using IPCs in High Priority Interrupt context, users need to consider the following:
|
||||
In some cases, we need to quickly obtain the state of another CPU such as in a core dump, GDB stub, various unit tests, and DPORT workaround. For such scenarios, the IPC feature supports execution of callbacks in a :doc:`High Priority Interrupt </api-guides/hlinterrupts>` context. The IPC feature implements the High Priority Interrupt context by reserving a High Priority Interrupt on each CPU for IPC usage. When a calling CPU needs to execute a callback on the target CPU, the callback will execute in the context of the High Priority Interrupt of the target CPU.
|
||||
|
||||
- Since the callback is executed in a High Priority Interrupt context, the callback must be written entirely in assembly. See the API Usage below for more details regarding writing assembly callbacks.
|
||||
- The priority of the reserved High Priority Interrupt is dependent on the :ref:`CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL` option
|
||||
- When the callback executes:
|
||||
When using IPCs in High Priority Interrupt context, users need to consider the following:
|
||||
|
||||
- The calling CPU will disable interrupts of level 3 and lower
|
||||
- Although the priority of the reserved interrupt depends on :ref:`CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL`, during the execution IPC ISR callback, the target CPU will disable interrupts of level 5 and lower regardless of what :ref:`CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL` is set to.
|
||||
- Since the callback is executed in a High Priority Interrupt context, the callback must be written entirely in assembly. See the API Usage below for more details regarding writing assembly callbacks.
|
||||
- The priority of the reserved High Priority Interrupt is dependent on the :ref:`CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL` option
|
||||
- When the callback executes:
|
||||
|
||||
- The calling CPU will disable interrupts of level 3 and lower
|
||||
- Although the priority of the reserved interrupt depends on :ref:`CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL`, during the execution IPC ISR callback, the target CPU will disable interrupts of level 5 and lower regardless of what :ref:`CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL` is set to.
|
||||
|
||||
API Usage
|
||||
^^^^^^^^^
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
.. first_boot_enc
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
TO BE UPDATED TODO IDF-7747
|
||||
|
||||
------
|
||||
|
||||
.. already_en_enc
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
TO BE UPDATED TODO IDF-7747
|
||||
|
||||
------
|
|
@ -408,18 +408,21 @@ Interrupt wdt timeout on CPU0 / CPU1
|
|||
其他严重错误
|
||||
------------
|
||||
|
||||
掉电
|
||||
^^^^
|
||||
.. only:: SOC_BOD_SUPPORTED
|
||||
|
||||
{IDF_TARGET_NAME} 内部集成掉电检测电路,并且会默认启用。如果电源电压低于安全值,掉电检测器可以触发系统复位。掉电检测器可以使用 :ref:`CONFIG_ESP_BROWNOUT_DET` 和 :ref:`CONFIG_ESP_BROWNOUT_DET_LVL_SEL` 这两个选项进行设置。
|
||||
掉电
|
||||
^^^^
|
||||
|
||||
当掉电检测器被触发时,会打印如下信息::
|
||||
{IDF_TARGET_NAME} 内部集成掉电检测电路,并且会默认启用。如果电源电压低于安全值,掉电检测器可以触发系统复位。掉电检测器可以使用 :ref:`CONFIG_ESP_BROWNOUT_DET` 和 :ref:`CONFIG_ESP_BROWNOUT_DET_LVL_SEL` 这两个选项进行设置。
|
||||
|
||||
Brownout detector was triggered
|
||||
当掉电检测器被触发时,会打印如下信息::
|
||||
|
||||
芯片会在该打印信息结束后复位。
|
||||
Brownout detector was triggered
|
||||
|
||||
芯片会在该打印信息结束后复位。
|
||||
|
||||
请注意,如果电源电压快速下降,则只能在控制台上看到部分打印信息。
|
||||
|
||||
请注意,如果电源电压快速下降,则只能在控制台上看到部分打印信息。
|
||||
|
||||
堆不完整
|
||||
^^^^^^^^^^^
|
||||
|
|
|
@ -32,7 +32,7 @@ API 指南
|
|||
partition-tables
|
||||
performance/index
|
||||
reproducible-builds
|
||||
:not esp32h2: RF_calibration
|
||||
:SOC_WIFI_SUPPORTED or SOC_BT_SUPPORTED or SOC_IEEE802154_SUPPORTED: RF_calibration
|
||||
thread-local-storage
|
||||
tools/index
|
||||
unit-tests
|
||||
|
|
|
@ -0,0 +1,173 @@
|
|||
.. This file gets included from other .rst files in this folder.
|
||||
.. It contains target-specific snippets.
|
||||
.. Comments and '---' lines act as delimiters.
|
||||
..
|
||||
.. This is necessary mainly because RST doesn't support substitutions
|
||||
.. (defined in RST, not in Python) inside code blocks. If that is ever implemented,
|
||||
.. These code blocks can be moved back to the main .rst files, with target-specific
|
||||
.. file names being replaced by substitutions.
|
||||
|
||||
.. run-openocd
|
||||
|
||||
::
|
||||
|
||||
openocd -f board/esp32p4-builtin.cfg
|
||||
|
||||
.. |run-openocd-device-name| replace:: ESP32-p4 through built-in USB connection
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-output
|
||||
|
||||
::
|
||||
|
||||
user-name@computer-name:~/esp/esp-idf$ openocd -f board/esp32p4-builtin.cfg
|
||||
Open On-Chip Debugger v0.11.0-esp32-20221026-85-g0718fffd (2023-01-12-07:28)
|
||||
Licensed under GNU GPL v2
|
||||
For bug reports, read
|
||||
http://openocd.org/doc/doxygen/bugs.html
|
||||
Info : only one transport option; autoselect 'jtag'
|
||||
Info : esp_usb_jtag: VID set to 0x303a and PID to 0x1001
|
||||
Info : esp_usb_jtag: capabilities descriptor set to 0x2000
|
||||
Warn : Transport "jtag" was already selected
|
||||
WARNING: ESP flash support is disabled!
|
||||
force hard breakpoints
|
||||
Info : Listening on port 6666 for tcl connections
|
||||
Info : Listening on port 4444 for telnet connections
|
||||
Info : esp_usb_jtag: serial (60:55:F9:F6:03:3C)
|
||||
Info : esp_usb_jtag: Device found. Base speed 24000KHz, div range 1 to 255
|
||||
Info : clock speed 24000 kHz
|
||||
Info : JTAG tap: esp32p4.cpu tap/device found: 0x0000dc25 (mfg: 0x612 (Espressif Systems), part: 0x000d, ver: 0x0)
|
||||
Info : datacount=2 progbufsize=16
|
||||
Info : Examined RISC-V core; found 2 harts
|
||||
Info : hart 0: XLEN=32, misa=0x40903105
|
||||
Info : starting gdb server for esp32p4 on 3333
|
||||
Info : Listening on port 3333 for gdb connections
|
||||
|
||||
.. |run-openocd-cfg-file-err| replace:: ``Can't find board/esp32p4-builtin.cfg``
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-upload
|
||||
|
||||
::
|
||||
|
||||
openocd -f board/esp32p4-builtin.cfg -c "program_esp filename.bin 0x10000 verify exit"
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-src-linux
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
src/openocd -f board/esp32p4-builtin.cfg
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-src-win
|
||||
|
||||
.. code-block:: batch
|
||||
|
||||
src\openocd -f board/esp32p4-builtin.cfg
|
||||
|
||||
---
|
||||
|
||||
.. idf-py-openocd-default-cfg
|
||||
|
||||
.. |idf-py-def-cfg| replace:: ``-f board/esp32p4-builtin.cfg``
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-appimage-offset
|
||||
|
||||
::
|
||||
|
||||
openocd -f board/esp32p4-builtin.cfg -c "init; halt; esp appimage_offset 0x210000"
|
||||
|
||||
---
|
||||
|
||||
.. openocd-cfg-files
|
||||
|
||||
.. list-table:: OpenOCD configuration files for ESP32-p4
|
||||
:widths: 25 75
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Description
|
||||
* - ``board/esp32p4-builtin.cfg``
|
||||
- Board configuration file for ESP32-p4 through built-in USB, includes target and adapter configuration.
|
||||
* - ``board/esp32p4-ftdi.cfg``
|
||||
- Board configuration file for ESP32-p4 for via externally connected FTDI-based probe like ESP-Prog, includes target and adapter configuration.
|
||||
* - ``target/esp32p4.cfg``
|
||||
- ESP32-p4 target configuration file. Can be used together with one of the ``interface/`` configuration files.
|
||||
* - ``interface/esp_usb_jtag.cfg``
|
||||
- JTAG adapter configuration file for ESP32-p4.
|
||||
* - ``interface/ftdi/esp32_devkitj_v1.cfg``
|
||||
- JTAG adapter configuration file for ESP-Prog boards.
|
||||
|
||||
---
|
||||
|
||||
.. openocd-target-specific-config-vars
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
.. jtag-pins
|
||||
|
||||
.. list-table:: ESP32-p4 pins and JTAG signals
|
||||
:widths: 25 75
|
||||
:header-rows: 1
|
||||
|
||||
* - ESP32-p4 Pin
|
||||
- JTAG Signal
|
||||
* - MTDO / GPIO7
|
||||
- TDO
|
||||
* - MTDI / GPIO5
|
||||
- TDI
|
||||
* - MTCK / GPIO6
|
||||
- TCK
|
||||
* - MTMS / GPIO4
|
||||
- TMS
|
||||
|
||||
.. |jtag-sel-gpio| replace:: GPIO15
|
||||
.. |jtag-gpio-list| replace:: GPIO4-GPIO7
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-d3
|
||||
|
||||
::
|
||||
|
||||
openocd -l openocd_log.txt -d3 -f board/esp32p4-builtin.cfg
|
||||
|
||||
---
|
||||
|
||||
.. run-openocd-d3-tee
|
||||
|
||||
::
|
||||
|
||||
openocd -d3 -f board/esp32p4-builtin.cfg 2>&1 | tee openocd.log
|
||||
|
||||
---
|
||||
|
||||
.. run-gdb-remotelog
|
||||
|
||||
::
|
||||
|
||||
riscv32-esp-elf-gdb -ex "set remotelogfile gdb_log.txt" <all other options>
|
||||
|
||||
---
|
||||
|
||||
.. devkit-defs
|
||||
|
||||
.. |devkit-name| replace:: ESP32-p4
|
||||
.. |devkit-name-with-link| replace:: :doc:`ESP32-p4 <../../hw-reference/index>`
|
||||
|
||||
---
|
||||
|
||||
.. devkit-hw-config
|
||||
|
||||
* Out of the box, ESP32-p4 doesn't need any additional hardware configuration for JTAG debugging.
|
||||
|
||||
---
|
|
@ -88,7 +88,7 @@ Type 字段可以指定为 app (0x00) 或者 data (0x01),也可以直接使用
|
|||
|
||||
SubType 字段
|
||||
~~~~~~~~~~~~
|
||||
{IDF_TARGET_ESP_PHY_REF:default = ":ref:`CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION`", esp32h2 = "NOT UPDATED YET"}
|
||||
{IDF_TARGET_ESP_PHY_REF:default = ":ref:`CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION`", esp32p4 = "NOT UPDATED YET"}
|
||||
|
||||
SubType 字段长度为 8 bit,内容与具体分区 Type 有关。目前,esp-idf 仅仅规定了 “app” 和 “data” 两种分区类型的子类型含义。
|
||||
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
.. code-block:: none
|
||||
|
||||
TO BE UPDATED IDF-7759
|
|
@ -0,0 +1 @@
|
|||
TO BE UPDATED IDF-7672
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
+--------+------------------------+
|
||||
| ECO | Revision (Major.Minor) |
|
||||
+--------+------------------------+
|
||||
| ECO0 | TO BE UPDATED IDF-7759 |
|
||||
+--------+------------------------+
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
.. code-block:: none
|
||||
|
||||
TO BE UPDATED IDF-7759
|
|
@ -24,7 +24,7 @@ System API
|
|||
heap_debug
|
||||
esp_timer
|
||||
internal-unstable
|
||||
:not CONFIG_FREERTOS_UNICORE: ipc
|
||||
:not CONFIG_FREERTOS_UNICORE or esp32p4: ipc
|
||||
intr_alloc
|
||||
log
|
||||
misc_system_api
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
.. first_boot_enc
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
TO BE UPDATED TODO IDF-7747
|
||||
|
||||
------
|
||||
|
||||
.. already_en_enc
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
TO BE UPDATED TODO IDF-7747
|
||||
|
||||
------
|
Ładowanie…
Reference in New Issue