example_common.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* Copyright 2020 Espressif Systems (Shanghai) PTE LTD
  2. *
  3. * Licensed under the Apache License, Version 2.0 (the "License");
  4. * you may not use this file except in compliance with the License.
  5. * You may obtain a copy of the License at
  6. *
  7. * http://www.apache.org/licenses/LICENSE-2.0
  8. *
  9. * Unless required by applicable law or agreed to in writing, software
  10. * distributed under the License is distributed on an "AS IS" BASIS,
  11. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. * See the License for the specific language governing permissions and
  13. * limitations under the License.
  14. */
  15. #pragma once
  16. #define BIN_FIRST_SEGMENT_OFFSET 0x18
  17. // Maximum block sized for RAM and Flash writes, respectively.
  18. #define ESP_RAM_BLOCK 0x1800
  19. typedef struct {
  20. const uint8_t *data;
  21. uint32_t size;
  22. uint32_t addr;
  23. } partition_attr_t;
  24. typedef struct {
  25. partition_attr_t boot;
  26. partition_attr_t part;
  27. partition_attr_t app;
  28. } example_binaries_t;
  29. typedef struct {
  30. partition_attr_t ram_app;
  31. } example_ram_app_binary_t;
  32. void get_example_binaries(target_chip_t target, example_binaries_t *binaries);
  33. void get_example_ram_app_binary(target_chip_t target, example_ram_app_binary_t *bin);
  34. esp_loader_error_t connect_to_target(uint32_t higrer_baudrate);
  35. esp_loader_error_t flash_binary(const uint8_t *bin, size_t size, size_t address);
  36. esp_loader_error_t load_ram_binary(const uint8_t *bin);