| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /* Flash multiple partitions example
- This example code is in the Public Domain (or CC0 licensed, at your option.)
- Unless required by applicable law or agreed to in writing, this
- software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- CONDITIONS OF ANY KIND, either express or implied.
- */
- #include <sys/param.h>
- #include <string.h>
- #include "esp_err.h"
- #include "esp_log.h"
- #include "driver/uart.h"
- #include "driver/gpio.h"
- #include "esp32_port.h"
- #include "esp_loader.h"
- #include "example_common.h"
- static const char *TAG = "serial_flasher";
- #define HIGHER_BAUDRATE 230400
- void app_main(void)
- {
- example_binaries_t bin;
- const loader_esp32_config_t config = {
- .baud_rate = 115200,
- .uart_port = UART_NUM_1,
- .uart_rx_pin = GPIO_NUM_5,
- .uart_tx_pin = GPIO_NUM_4,
- .reset_trigger_pin = GPIO_NUM_25,
- .gpio0_trigger_pin = GPIO_NUM_26,
- };
- if (loader_port_esp32_init(&config) != ESP_LOADER_SUCCESS) {
- ESP_LOGE(TAG, "serial initialization failed.");
- return;
- }
- if (connect_to_target(HIGHER_BAUDRATE) == ESP_LOADER_SUCCESS) {
- get_example_binaries(esp_loader_get_target(), &bin);
- ESP_LOGI(TAG, "Loading bootloader...");
- flash_binary(bin.boot.data, bin.boot.size, bin.boot.addr);
- ESP_LOGI(TAG, "Loading partition table...");
- flash_binary(bin.part.data, bin.part.size, bin.part.addr);
- ESP_LOGI(TAG, "Loading app...");
- flash_binary(bin.app.data, bin.app.size, bin.app.addr);
- ESP_LOGI(TAG, "Done!");
- }
- }
|