Code Monkey home page Code Monkey logo

esp32plainimagetoflashencboard's Introduction

Esp32PlainImageToFlashEncBoard.py

This tool enables you to import the flash partition images on
the ESP32 board which is not in Flash-Encryption mode to
the ESP32 board which is in Flash-Encryption mode.

   ESP32 Board A                         ESP32 Board B
+------------------+  copy & encrypt  +------------------+
| Flash Encryption | partition images | Flash Encryption |
|     DISABLED     | ===============> |     ENABLED      | 
+------------------+                  +------------------+

In the course of processing, images will be encrypted as necessary.
The "Pregenerated Flash Encryption Key" is required.
For details of Flash Encryption, refer to the following document.
https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html

Requires 'esptool', 'espefuse', 'espsecure' by Espressif Systems.
https://github.com/espressif/esptool

Supports Linux, MacOSX, Windows. Please edit the "Environment Dependent"
section according to your environment.

Blog (in Japanese)
http://dsas.blog.klab.org/archives/2018-09/52298778.html

Copyright (c) 2018 KLab Inc.

esp32plainimagetoflashencboard's People

Contributors

mkttanabe avatar

Stargazers

 avatar

Watchers

 avatar  avatar

esp32plainimagetoflashencboard's Issues

The tool will not run (python2 or 3)

HI,

I have an Arduino program that needs to be encrypted and download to target board(WEB OTA will be needed later). I don't know IDF, it's too complicated. I've been looking for FLASH encryption, but the official documentation doesn't understand it yet.Come across the tool you provide and try it out.

I use Windows, the PY file has been modified and used in py2 and Py3 environment, the serial port connection is ok, but the operation prompts error, I do not understand the reason of the error.

After the device connection is successful, the command line to perform "F:\python Esp32PlainImageToFlashEncBoard. py", obtain the following information.

ESP32: Connect the source board and press any key
Please wait..
Traceback (most recent call last):
  File "F:\Esp32PlainImageToFlashEncBoard.py", line 255, in <module>
    v = getFlashCryptCount()
  File "F:\Esp32PlainImageToFlashEncBoard.py", line 204, in getFlashCryptCount
    result = subprocess.check_output(cmd)
  File "C:\Users\Luster\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 420, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "C:\Users\Luster\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 501, in run
    with Popen(*popenargs, **kwargs) as process:
  File "C:\Users\Luster\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 947, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\Luster\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1416, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
OSError: [WinError 193] %1 Not a valid Win32 application.

After the command was executed, the serial light flashed and the device restarted (I used ESP Prog).
Did I do something wrong?
It's nice to finally have someone pay attention to developing FLASH encryption for ESP32 using Arduino,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.