]> granicus.if.org Git - esp-idf/commitdiff
bootloader_support: fix logging prints around chip revision
authorMahavir Jain <mahavir@espressif.com>
Fri, 11 Oct 2019 09:05:22 +0000 (14:35 +0530)
committerMahavir Jain <mahavir@espressif.com>
Fri, 11 Oct 2019 09:05:22 +0000 (14:35 +0530)
components/bootloader_support/include/bootloader_common.h
components/bootloader_support/src/bootloader_common.c
components/bootloader_support/src/bootloader_init.c
components/bootloader_support/src/esp_image_format.c

index b0dfb126b36ac506b96ceafb90c04518a161caaf..cb1f4acdc6ed67c2554f2a9b2614658041a61dc8 100644 (file)
@@ -28,6 +28,11 @@ typedef enum {
     GPIO_NOT_HOLD   = 0     /*!< If the GPIO input is not low */
 } esp_comm_gpio_hold_t;
 
+typedef enum {
+    ESP_IMAGE_BOOTLOADER,
+    ESP_IMAGE_APPLICATION
+} esp_image_type;
+
 /**
  * @brief Calculate crc for the OTA data select.
  *
@@ -152,12 +157,13 @@ uint8_t bootloader_common_get_chip_revision(void);
 /**
  * @brief Check if the image (bootloader and application) has valid chip ID and revision
  *
- * @param img_hdr: image header
+ * @param[in] img_hdr: image header
+ * @param[in] type: image type, bootloader or application
  * @return
  *      - ESP_OK: image and chip are matched well
  *      - ESP_FAIL: image doesn't match to the chip
  */
-esp_err_t bootloader_common_check_chip_validity(const esp_image_header_t* img_hdr);
+esp_err_t bootloader_common_check_chip_validity(const esp_image_header_t* img_hdr, esp_image_type type);
 
 /**
  * @brief Configure VDDSDIO, call this API to rise VDDSDIO to 1.9V when VDDSDIO regulator is enabled as 1.8V mode.
index 1aa7e9fa1424733dccb6a55babf7e59ac7a8fbda..ab3d12c02370e84686c3c282bb0d7f94b54f0307 100644 (file)
@@ -303,20 +303,20 @@ uint8_t bootloader_common_get_chip_revision(void)
 }
 #endif
 
-esp_err_t bootloader_common_check_chip_validity(const esp_image_header_t* img_hdr)
+esp_err_t bootloader_common_check_chip_validity(const esp_image_header_t* img_hdr, esp_image_type type)
 {
     esp_err_t err = ESP_OK;
     esp_chip_id_t chip_id = CONFIG_IDF_FIRMWARE_CHIP_ID;
     if (chip_id != img_hdr->chip_id) {
-        ESP_LOGE(TAG, "mismatch chip ID, expect %d, found %d", chip_id, img_hdr->chip_id);
+        ESP_LOGE(TAG, "mismatch chip ID, expected %d, found %d", chip_id, img_hdr->chip_id);
         err = ESP_FAIL;
     }
     uint8_t revision = bootloader_common_get_chip_revision();
     if (revision < img_hdr->min_chip_rev) {
-        ESP_LOGE(TAG, "can't run on lower chip revision, expect %d, found %d", revision, img_hdr->min_chip_rev);
+        ESP_LOGE(TAG, "can't run on lower chip revision, expected %d, found %d", revision, img_hdr->min_chip_rev);
         err = ESP_FAIL;
     } else if (revision != img_hdr->min_chip_rev) {
-        ESP_LOGI(TAG, "mismatch chip revision, expect %d, found %d", revision, img_hdr->min_chip_rev);
+        ESP_LOGI(TAG, "chip revision: %d, min. %s chip revision: %d", revision, type == ESP_IMAGE_BOOTLOADER ? "bootloader" : "application", img_hdr->min_chip_rev);
     }
     return err;
 }
index a42ab22530026459cbb442a28e751254f9814953..601df8a59369d72e52d1e9d658d6210cf6786e5f 100644 (file)
@@ -132,7 +132,7 @@ static esp_err_t bootloader_main(void)
     /* Check chip ID and minimum chip revision that supported by this image */
     uint8_t revision = bootloader_common_get_chip_revision();
     ESP_LOGI(TAG, "Chip Revision: %d", revision);
-    if (bootloader_common_check_chip_validity(&fhdr) != ESP_OK) {
+    if (bootloader_common_check_chip_validity(&fhdr, ESP_IMAGE_BOOTLOADER) != ESP_OK) {
         return ESP_FAIL;
     }
 
index dbd43a73baa09aecb8d836f40818b89b02619350..5bb789c3d5df9076846b78dd2f8a56c236e4769a 100644 (file)
@@ -298,7 +298,7 @@ static esp_err_t verify_image_header(uint32_t src_addr, const esp_image_header_t
         }
         err = ESP_ERR_IMAGE_INVALID;
     }
-    if (bootloader_common_check_chip_validity(image) != ESP_OK) {
+    if (bootloader_common_check_chip_validity(image, ESP_IMAGE_APPLICATION) != ESP_OK) {
         err = ESP_ERR_IMAGE_INVALID;
     }
     if (!silent) {