Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 4 #10

Merged
merged 117 commits into from
Nov 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
0095a26
docs: espsecure remote signing using a HSM broken link fix
Harshal5 Feb 13, 2023
4f13cf6
fix(rfc2217_server): Use new reset sequences
radimkarnis Feb 15, 2023
7b28699
fix(ESP32-S3): Lower CPU freq to improve flasher stub stability
radimkarnis Feb 15, 2023
11e6425
fix: Unknown chip (ID or magic number) error
radimkarnis Feb 17, 2023
090c099
pyinstaller: fix glibc dependency on gnu/linux
fhrbata Feb 20, 2023
9c8c1f1
tests: Create custom `host_test` marker for tests without real chip c…
radimkarnis Feb 15, 2023
23a5095
fix(ESP32-S3): Temporarily disable increasing CPU freq
radimkarnis Feb 28, 2023
b780447
build: add esp_rfc2217_server to published scripts
peterdragun Feb 27, 2023
2c69163
Update version to v4.5.1
radimkarnis Feb 28, 2023
5c2f45b
Update version to v4.6-dev
radimkarnis Feb 28, 2023
ebadd2e
espefuse: Hide sensitive info by default during burning burn_key and …
KonstantinKondrashov Mar 6, 2023
26ed0a7
flasher_stub: pass -mabi=ilp32 to the RISC-V compiler
paravoid Mar 9, 2023
c10af95
flasher_stub: allow passing extra CFLAGS
paravoid Mar 9, 2023
391e347
flasher_stub: collect all targets at the top, DRY
paravoid Mar 13, 2023
260588f
flasher_stub: make target selection more modular
paravoid Mar 13, 2023
2490c88
flasher_stub: create %.json targets, make all a proper PHONY
paravoid Mar 13, 2023
6cd442e
flasher_stub: drop --embed from wrap_stub.py
paravoid Mar 13, 2023
56de6b4
espefuse: Support burning ECDSA_KEY from pem file
KonstantinKondrashov Mar 11, 2023
4c97964
espefuse(c2): Fix BLOCK_KEY0 view for summary cmd when SB + FE keys a…
KonstantinKondrashov Mar 11, 2023
555458c
fix(ESP32-C6): Fix get_pkg_version and get_{major,minor}_chip_version
xingrz Mar 26, 2023
f4d2510
image_info: removed check that reserved bytes in image header are zero
ESP-Marius Mar 15, 2023
4dfbeb3
build: limit max cryptography version to 40
peterdragun Apr 3, 2023
0e9c85e
fix: Set flash parameters even with --flash_size keep
radimkarnis Mar 30, 2023
53ae5eb
build: add arm and arm64 as build target
peterdragun Mar 20, 2023
d264dde
Fix typo in serial protocol docs
hasheddan Apr 8, 2023
e0a7894
Support more recent reedsolo packages
dobairoland Apr 12, 2023
c38a311
build(arm): add pip extra url for github action build
peterdragun Apr 14, 2023
d114420
ci: Fix libffi symlinks for cryptography>=40
radimkarnis Apr 17, 2023
8f8f508
espefuse: Prevent burning XTS_AES and ECDSA keys into BLOCK9 (BLOCK_K…
KonstantinKondrashov Apr 3, 2023
b6a0482
image_info: Display disabled WP pin as disabled
xyzzy42 Apr 20, 2023
0df000c
image_info: Print chip ID's name if known
xyzzy42 Apr 20, 2023
6068b03
tests: Make the testsuite Windows compatible
radimkarnis Mar 20, 2023
534bac4
espefuse: Adds external esp instance
KonstantinKondrashov May 1, 2023
a5e7f1f
espefuse: Improve efuse error viewing
KonstantinKondrashov Apr 25, 2023
5e7725a
espefuse: Explicit setting of efuse time settings
KonstantinKondrashov Apr 25, 2023
5892496
docs(Boot log): Add all esp targets to cover boot troubleshooting
peterdragun Apr 25, 2023
9a719f4
fix: USB-JTAG-Serial PID detection error
fuzeman May 8, 2023
797fd4d
esptool: Move bootdesc on the top of the ram segment
KonstantinKondrashov Apr 28, 2023
5e98a5f
espefuse: Move some vars under init method to speedup tool after addi…
KonstantinKondrashov Oct 7, 2022
aa0ffc5
espefuse: Adds yaml efuse description files for all chip
KonstantinKondrashov Oct 6, 2022
54a765d
efuse(H2): Adds RF Calibration Information
KonstantinKondrashov May 18, 2023
6fbe8dd
espsecure: Improve error message for incorrect PEM format
dobairoland May 15, 2023
80dc210
bugfix(usb_jtag_serial): Autofeed super watchdog (SWD) to avoid reset…
radimkarnis May 11, 2023
54bbf62
esptool: Read 64-bit MAC address on C6 and H2
KonstantinKondrashov May 22, 2023
a7df5d3
bugfix: Adjust wrapper scripts to not import themselves
radimkarnis May 22, 2023
37efb1d
bugfix(espsecure): Print a clear error message if incompatible OpenSS…
radimkarnis May 22, 2023
f558f22
fix: inconsistent usage of dirs separator
Massimiliano-solutiontech May 25, 2023
049baaa
feat(esptool): add option to dump whole flash based on detected size
peterdragun May 16, 2023
2408508
Update version to v4.6
radimkarnis May 29, 2023
f1132e8
Update version to v4.7-dev
radimkarnis May 29, 2023
6fd91af
fix(ESP32-S3): Correct RTC WDT registers to fix resets during flashing
radimkarnis Jun 1, 2023
42732e9
Update version to v4.6.1
radimkarnis Jun 1, 2023
295f3e6
Update version to v4.7-dev
radimkarnis Jun 1, 2023
fbe8066
docs: add explanation for flash_id example to avoid confusion
peterdragun May 24, 2023
b137d3d
docs(boot-log): fix list formatting
peterdragun May 25, 2023
590fb55
docs: add c2, c6 and h2 as build targets
peterdragun May 25, 2023
d984647
fix(compressed upload): Accept short data blocks with only Adler-32 b…
radimkarnis Jun 5, 2023
f4b5914
fix(CH9102F): Suggest to install new serial drivers if writing to RAM…
radimkarnis Jun 6, 2023
6a17e7f
esptool & espefuse: Fix byte order in MAC (for C6 and H2)
KonstantinKondrashov Jun 7, 2023
8c5f47f
Update version to v4.6.2
radimkarnis Jun 12, 2023
f542148
Update version to v4.7
radimkarnis Jun 12, 2023
cc58f69
change: Add conventional precommit linter
radimkarnis Jun 28, 2023
091c4a4
ci(pre-commit): Update version of `conventional-precommit-linter`
tomassebestik Jun 30, 2023
9b95de8
feat(get_security_info): Improved the output format and added more
AdityaHPatwardhan Jun 23, 2023
e862e10
fix(esp32-c2): Enable flashing in secure download mode
radimkarnis Jul 17, 2023
7c037e6
ci: Add DangerJS checks to GL and GH
radimkarnis Jul 18, 2023
b70ead2
feat(esptool): Add PICO package for ESP32S3 and flash/psram efuses
KonstantinKondrashov Jul 6, 2023
d5bb1ee
feat(esptool): Add tests for get_chip_features
KonstantinKondrashov Jul 19, 2023
8f37762
feat(esptool): Add new packages for ESP32C3 and flash efuses
KonstantinKondrashov Jul 10, 2023
2bea6f4
fix(expand file args): Correctly print the expanded command
radimkarnis Jul 24, 2023
ab25fc1
feat(espsecure): Allow prompting for HSM PIN in read_hsm_config
rretanubun Jul 12, 2023
6b4786a
fix(dangerGH): Update token permissions - allow Danger to add comment…
tomassebestik Jul 25, 2023
c48523e
fix(elf2image): fix text/rodata mapping overlap issue on uni-idrom bu…
esp-wzh Jul 26, 2023
5b69e07
fix: assert in esp32 exclusive workaround
esp-wzh Jul 25, 2023
cc6c4ce
docs: Add other resources page
radimkarnis Jul 26, 2023
3d8c304
fix(autodetection): Remove the ESP32-S2 ROM class from get_security_i…
radimkarnis Jul 27, 2023
4b249cb
change(pre-commit): Bump version conventional-precommit-linter to 1.2.1
tomassebestik Aug 1, 2023
654e626
feat(esptool): added target to esp32p4
Icarus113 Jul 27, 2023
8273916
feat(espefuse): Add support for esp32p4 chip
KonstantinKondrashov Jul 27, 2023
9585c0e
fix: Fix redirection of STDOUT
radimkarnis Aug 8, 2023
c0df9b7
fix(danger-github): Fir Danger GitHub token permission
tomassebestik Aug 22, 2023
bb00a36
ci(danger-github): Fix github-action-bot permissions for posting Dang…
tomassebestik Aug 23, 2023
69201c3
ci: Shared danger to local stage (remove possible double CI pipelines)
tomassebestik Aug 23, 2023
6134311
ci: add 'flake8-import-order' as a dependecy to flake8
peterdragun Aug 25, 2023
ffaf6db
fix(bin_image): Check only ELF sections when searching for .flash.app…
radimkarnis Sep 12, 2023
3654267
feat(efuse): ESP32P4 adds ecdsa_key support
KonstantinKondrashov Aug 23, 2023
cb5e850
feat(efuse): Update key purpose table and tests
KonstantinKondrashov Sep 12, 2023
67a91cb
feat(esp32-s3): Support >16MB quad flash chips
radimkarnis Sep 6, 2023
0a9caaf
ci(dev_release): Upload dev releases to PyPI with GH Actions
radimkarnis Sep 19, 2023
4c75bb6
ci: fix pipeline for building docs
peterdragun Sep 8, 2023
3d899b2
feat(merge_bin): add support for uf2 format
peterdragun Aug 23, 2023
6943c5d
feat(esp32c3): Support ECO6 and ECO7 magic numbers
radimkarnis Sep 26, 2023
891a4f4
ci(gitlab_ci): Change only/except syntax to rules
radimkarnis Sep 26, 2023
3f2dc6f
fix(flasher_stub): fix usb-serial-jtag enabled non-related intr source
esp-wzh Sep 25, 2023
0d3a077
fix(loader): Could not open serial port message adjusted
jakub-kocka Sep 20, 2023
940d6ee
ci(gitlab): Fix deploying docs to production
radimkarnis Oct 3, 2023
611bb01
ci(github): Fix pyinstaller builds on ubuntu
radimkarnis Oct 3, 2023
dc8a337
docs(basic-commands): added note for PowerShell users for merge_bin c…
jakub-kocka Oct 5, 2023
ef02d52
feat: Add support for Python 3.12
radimkarnis Oct 9, 2023
d61da77
feat(loader): Added hints for some serial port issues when rising por…
jakub-kocka Oct 11, 2023
20565a0
feat: add support for get_security_info on esp32c3 ECO7
peterdragun Oct 17, 2023
2a399a0
docs(troubleshooting): Explain issues when flashing with USB-Serial/J…
radimkarnis Oct 19, 2023
c8d688d
feat(espefuse): Update the way to complete the operation
KonstantinKondrashov Oct 19, 2023
3b38e79
docs(boot_mode_selection): Correct secondary strapping pin boot mode …
radimkarnis Oct 25, 2023
2a57d6c
feat(espefuse): Adds efuse ADC calibration data for ESP32H2
KonstantinKondrashov Oct 4, 2023
d66de5c
feat(rfc2217_server): Add hard reset sequence
20162026 Oct 26, 2023
da28460
feat(elf2image): add ram-only-header argument
almir-okato Sep 21, 2023
d266645
feat(esp32p4): Stub flasher support
radimkarnis Nov 1, 2023
fb7f4db
refactor(stub_flasher): Cleanup, make adding new targets easier
radimkarnis Nov 1, 2023
7074bed
feat: add support for intel hex format
peterdragun Nov 1, 2023
1b350ce
feat(xip_psram): support xip psram feature on esp32p4
Icarus113 Nov 6, 2023
37733b7
Delete docs directory
Jason2866 Nov 7, 2023
96d78ee
Delete .gitlab-ci.yml
Jason2866 Nov 7, 2023
007add1
Delete .pre-commit-config.yaml
Jason2866 Nov 7, 2023
588be19
Delete MANIFEST.in
Jason2866 Nov 7, 2023
502d9df
Update build_esptool.yml
Jason2866 Nov 7, 2023
cf8713d
Delete .github/workflows/test_esptool.yml
Jason2866 Nov 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
(Please delete any lines which don't apply)

# Description of change
<!-- Fill in a description of the change here, at least 100 characters.
Make sure other people will be able to understand what your pull request is about.
Delete any sections which don't apply, including the section header. -->

# This change fixes the following bug(s):
<!-- If your change fixes any bugs, list them in this section.

(Please put issue URLs or #number-of-issue here.)
Please include the issue URL or the # issue number here. -->

# I have tested this change with the following hardware & software combinations:
<!-- In this section, describe the hardware and software combinations with which you tested the PR change - operating system(s), development board name(s), ESP8266 and/or ESP32 series.

If you did not perform any testing, write "NO TESTING" in this section. -->

(Operating system(s), development board name(s), ESP8266 and/or ESP32.)
# I have run the esptool.py automated integration tests with this change and the above hardware:
<!-- In this section, post the results of running the automatic integration tests of esptool.py with this change and the above hardware.

# I have run the esptool.py automated integration tests with this change and the above hardware. The results were:
Details here: https://docs.espressif.com/projects/esptool/en/latest/contributing.html#automated-integration-tests

(Details here: https://docs.espressif.com/projects/esptool/en/latest/contributing.html#automated-integration-tests)
If you did not perform any testing, write "NO TESTING" in this section. -->
81 changes: 57 additions & 24 deletions .github/workflows/build_esptool.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
name: Build esptool

on: [push, pull_request]
on:
workflow_dispatch:
push:
paths-ignore:
- '.github/**' # Ignore changes towards the .github directory

jobs:
build-esptool-binaries:
name: Build esptool binaries for ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
os: [ubuntu-latest]
include:
- os: macos-latest
TARGET: macos
SEPARATOR: ':'
- os: ubuntu-latest
TARGET: linux-amd64
SEPARATOR: ':'
- os: windows-latest
TARGET: win64
EXTEN: .exe
SEPARATOR: ';'
env:
DISTPATH: esptool-${{ matrix.TARGET }}
STUBS_DIR: /esptool/targets/stub_flasher/
STUBS_DIR: ./esptool/targets/stub_flasher/
EFUSE_DIR: ./espefuse/efuse_defs/
PIP_EXTRA_INDEX_URL: "https://dl.espressif.com/pypi"
steps:
- name: Checkout repository
uses: actions/checkout@master
Expand All @@ -35,23 +34,30 @@ jobs:
python -m pip install --upgrade pip
pip install pyinstaller
pip install --user -e .
- name: Build stub
if: matrix.os == 'ubuntu-latest'
run: |
export TOOLCHAIN_DIR=$HOME/toolchain
export ESP8266_BINDIR=$TOOLCHAIN_DIR/xtensa-lx106-elf/bin
export ESP32_BINDIR=$TOOLCHAIN_DIR/xtensa-esp32-elf/bin
export ESP32S2_BINDIR=$TOOLCHAIN_DIR/xtensa-esp32s2-elf/bin
export ESP32S3_BINDIR=$TOOLCHAIN_DIR/xtensa-esp32s3-elf/bin
export ESP32C3_BINDIR=$TOOLCHAIN_DIR/riscv32-esp-elf/bin
export PATH=$PATH:$ESP8266_BINDIR:$ESP32_BINDIR:$ESP32S2_BINDIR:$ESP32S3_BINDIR:$ESP32C3_BINDIR
./ci/setup_ci_build_env.sh
make -C flasher_stub V=1
- name: Archive stubs artifact
if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@master
with:
name: stubs
path: /home/runner/work/esptool/esptool/flasher_stub/build
- name: Build with PyInstaller
run: |
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico --add-data=".${{ env.STUBS_DIR }}*.json${{ matrix.SEPARATOR }}${{ env.STUBS_DIR }}" esptool.py
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico espefuse.py
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico --add-data="${{ env.STUBS_DIR }}*.json${{ matrix.SEPARATOR }}${{ env.STUBS_DIR }}" esptool.py
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico --add-data="${{ env.EFUSE_DIR }}*.yaml${{ matrix.SEPARATOR }}${{ env.EFUSE_DIR }}" espefuse.py
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico espsecure.py
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=ci/espressif.ico esp_rfc2217_server.py
- name: Sign binaries
if: matrix.os == 'windows-latest' && github.event_name != 'pull_request'
env:
CERTIFICATE: ${{ secrets.CERTIFICATE }}
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
shell: pwsh
run: |
./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/esptool.exe
./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/espefuse.exe
./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/espsecure.exe
./ci/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/esp_rfc2217_server.exe
- name: Test binaries
shell: bash
run: |
Expand All @@ -61,13 +67,40 @@ jobs:
./${{ env.DISTPATH }}/esp_rfc2217_server${{ matrix.EXTEN }} -h
- name: Add license and readme
shell: bash
run: mv LICENSE README.md ./${{ env.DISTPATH }}
run: cp LICENSE README.md ./${{ env.DISTPATH }}
- name: Archive artifact
uses: actions/upload-artifact@master
with:
name: ${{ env.DISTPATH }}
path: ${{ env.DISTPATH }}

push_stubs:
name: Commit changed files
needs: build-esptool-binaries
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@master
with:
fetch-depth: 0
- name: Download builded stubs
uses: actions/download-artifact@master
with:
name: stubs
path: ./mv_stubs
- name: Display structure of downloaded files
run: |
ls -R
- name: Move stubs in folder
run: |
rm ./esptool/targets/stub_flasher/*
cp -R ./mv_stubs/*.json ./esptool/targets/stub_flasher
ls -R ./esptool/targets/stub_flasher
rm -rf ./mv_stubs
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Stubs updated

create_release:
name: Create GitHub release
if: startsWith(github.ref, 'refs/tags/')
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/dangerjs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: DangerJS Check
on:
pull_request_target:
types: [opened, edited, reopened, synchronize]

permissions:
pull-requests: write
contents: write

jobs:
pull-request-style-linter:
runs-on: ubuntu-latest
steps:
- name: Check out PR head
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: DangerJS pull request linter
uses: espressif/github-actions/danger_pr_review@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42 changes: 42 additions & 0 deletions .github/workflows/dev_release_esptool_pypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# This workflow will upload an esptool Python package when a dev release tag (e.g. "v4.7.dev2") is pushed

name: PyPI dev release

on:
push:
tags:
- v*.*.dev*

jobs:
build_and_upload:

runs-on: ubuntu-latest

if: startsWith(github.ref, 'refs/tags/') && contains(github.ref_name, 'dev')

steps:
- uses: actions/checkout@master
- name: Set up Python 3.8
uses: actions/setup-python@master
with:
python-version: '3.8'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install twine setuptools

- name: Create development release ${{ github.ref_name }}
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
TWINE_NON_INTERACTIVE: true
run: |
DEV_VERSION=$(echo "${{ github.ref_name }}" | grep -oE 'dev[0-9]+' | sed 's/dev//')
python ci/patch_dev_release.py --dev-no ${DEV_VERSION} esptool/__init__.py
git diff
python -m pip download esptool==$(python setup.py -V) && echo "Version ${{ github.ref_name }} already published, skipping..." && exit 1

echo "Packaging and publishing new esptool development release: ${{ github.ref_name }}"
python setup.py sdist
tar -ztvf dist/*
twine upload dist/*
77 changes: 0 additions & 77 deletions .github/workflows/test_esptool.yml

This file was deleted.

Loading