User Tools

Site Tools


esp32_ota

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
esp32_ota [2024/03/19 18:36]
sausage [The stock firmware]
esp32_ota [2024/03/20 01:19]
sausage [Thank yous]
Line 50: Line 50:
 </​code>​ </​code>​
  
-Ignoring the ''​nvs''​ and ''​phy_init''​ partitions, we have the default ''​factory''​ partition that starts at 0x10000. Ironically, the list of partitions doesn'​t list the bootloader partition at 0x1000 or the partition that the partition table itself is stored ​on (at 0x8000). ​+Ignoring the ''​nvs''​ and ''​phy_init''​ partitions, we have the default ''​factory''​ partition that starts at 0x10000. Ironically, the list of partitions doesn'​t list the bootloader partition at 0x1000 or the partition that the partition table itself is stored (at 0x8000). ​
  
 ===== OTA partitions ===== ===== OTA partitions =====
Line 216: Line 216:
   - 4blinks.bin   - 4blinks.bin
  
-Now the ''​idf.py flash''​ command is only able to flash the default project firmware to the ''​factory''​ partition. So we'll need to switch to a different command to flash a named firmware to a particular partition.+Note that the ''​idf.py flash''​ command is only able to flash the default project firmware to the ''​factory''​ partition. So we'll need to switch to a different command to flash a named firmware to a particular partition.
  
 Take another look at our partitions table. Take another look at our partitions table.
Line 470: Line 470:
 All our firmwares failed to run the ''​esp_ota_mark_app_valid_cancel_rollback()''​ to mark the ''​otadata''​ as valid. So in each case, they have become aborted and rolled back to the previously known good firmware. All our firmwares failed to run the ''​esp_ota_mark_app_valid_cancel_rollback()''​ to mark the ''​otadata''​ as valid. So in each case, they have become aborted and rolled back to the previously known good firmware.
  
-The ''​factory''​ firmware isn'​t ​controlled ​by the ''​otadata'',​ the rollback process or OTA at all.+The ''​factory''​ firmware isn'​t ​affected ​by ''​otadata'', ​or the rollback processor OTA at all.
  
 To finish up, let's take a last look at the raw otadata: To finish up, let's take a last look at the raw otadata:
Line 496: Line 496:
 Have fun! Have fun!
  
 +
 +===== Troubleshooting =====
 +//The gen_esp32part.py command isn't found.//
 +
 +For some reason, gen_esp32part.py is not added to your path by default when starting your ESP-IDF console. For Powershell add the following to line 59 of your ''​frameworks\esp-idf-v5.2\export.ps1''​ file:
 +
 +  function gen_esp32part.py { &python "​$IDF_PATH\components\partition_table\gen_esp32part.py"​ $args }
 +
 +For Windows Command Prompt, in ''​frameworks\esp-idf-v5.2\export.bat''​ add to line 66:
 +
 +  DOSKEY gen_esp32part.py=python.exe "​%IDF_PATH%\components\partition_table\gen_esp32part.py"​ $*
 +
 +For shell and fish terminals, it's the same deal.
  
 ===== More reading ===== ===== More reading =====
Line 502: Line 515:
  
 ===== Thank yous ===== ===== Thank yous =====
-Many thanks to boarchuz and craig from the [[https://​discord.gg/​wwK29JJV|Espressif MCUs]] discord server for their advice on details in this article.+Many thanks to boarchuz and craig from the [[https://​discord.gg/​wwK29JJV|Espressif MCUs]] discord server for their assistance with this article.
  
esp32_ota.txt ยท Last modified: 2024/03/20 01:50 by sausage