#tinyuf2

1 messages · Page 1 of 1 (latest)

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

again, please revert the unnecessary changes to the yml file. Don't edit the whole file, you only need to add your board to the list in ABC order.

What changes are you referring to? All ive done is add my two boards to the list. I thought you were originally referring to the indention being different from the master, but now I'm not sure what you're talking about.

there is the "File Changes" tab in the top of the PR, you should always double check that.

#

again, please revert the unnecessary changes to the yml file. Don't edit the whole file, you only need to add your board to the list in ABC order.

What changes are you referring to? All ive done is add my two boards to the list. I thought you were originally referring to the indention being different from the master, but now I'm not sure what you're talking about.

there is the "File Changes" tab in the top of the PR, you should always double check that.

Oh I think i see w...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

@hathach

default 0x08000000 (incorrect)

This is what I encounter now. Unfortunately I only have one CMSIS-DAP so I cannot update its firmware (which must be done from the host over another downloader). I found pyocd could erase listed sectors with --sector erase option:

pyocd erase -t stm32f401cdux  -s 0x08000000

Is this achievable, and which sector sould I pass?


pyocd flash -t stm32f401cdux dg_f401_default.bin                                         ...
rocky ridgeBOT
#

Operating System

Windows 11

INFO_UF2.TXT

TinyUF2 Bootloader 0.10.2 - st/cmsis_device_f4 (v2.6.8) st/stm32f4xx_hal_driver (v1.8.0-8-g1d99564) tinyusb (0.12.0-203-ga4cfd1c69)
Model: STM32 STM32F401CxUx
Board-ID: BlackPill
Date: Jun 24 2022

What happened ?

I successfully flashed the controller with tinyuf2. The USB drive appears and I can copy the UF2 file to the controller. Then the controller restarts but the program is not loaded.

How to reproduce ?

I convert a...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Is your feature request related to a problem? Please describe.

Recently I flashed 0.10.2 to my STM32F401 breakout board. When I try to erase it and flash another firmware, it fails.

By checking release notes I found write protection was introduced in an early version. Following KarlK90's guide, I build a tinyuf2-unlocker uf2 file for STM32F401. When I drag the uf2 to the blackpill drive, it ejects. Then I flash my new bin file w...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
stone jay
#

Thanks to @errant plover & @dusk tree, the latter who, on my request, added the ESP32-S3-BOX to the list of boards for tinyuf2 I was able to build the tinyuf2 bootloader for the 'esp-box'; copy CicruitPython latest; copy and ported one of my (ongoing) projects to the 'esp-box'. For those of you who are interested. Here is the link to the repo I just published: https://github.com/PaulskPt/ESP32-S3-Box_MSFS2020_GPSout_GPRMC_and_GPGGA

GitHub

RX fliter and dispay MSFS2020 GPS data on esp-box. Contribute to PaulskPt/ESP32-S3-Box_MSFS2020_GPSout_GPRMC_and_GPGGA development by creating an account on GitHub.

rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [ ] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [ ] If you are adding an new boards, please make sure
    • [ ] Provide link to your allocated VID/PID if applicable
    • [ ] Add your board to action ci in ...
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [ ] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [ ] If you are adding an new boards, please make sure
    • [ ] Provide link to your allocated VID/PID if applicable
    • [ ] Add your board to action ci in ...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Operating System

Linux

INFO_UF2.TXT

N/A

What happened ?

This commit https://github.com/adafruit/tinyuf2/commit/d1f9d40fd7683b9203094020edc43f26df78c74a has made the list no longer valid by entering an S3 record -

S2 Alphabetical order

'adafruit_camera_esp32s2'
'adafruit_feather_esp32s2'
'adafruit_feather_esp32s2_tft'
'adafruit_feather_esp32s2_reverse_tft'
'adafruit_feather_esp32s3_reverse_tft
'adafruit_funhouse_esp32s2'

How to reproduce ?

N/A
...

rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [x] If you are adding an new boards, please make sure
    • [x] Provide link to your allocated VID/PID if applicable
    • [x] Add your board to action ci in correct workflow and alphabet order for release binary
    • [x] UF2_BOARD_ID in your board...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [x] Please provide related links

Description of Change

This SSD1306 OLED software component is a prerequisite before adding BSPs for boards that have the 128X64 SSD1306 OLED display hardware onboard _(such as RAK, Heltec, LilyGO and other brands)...

rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [ ] Please provide specific title of the PR describing the change
  • [ ] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [ ] If you are adding an new boards, please make sure
    • [ ] Provide link to your allocated VID/PID if applicable
    • [ ] Add your board to action ci in ...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [x] Please provide related links (eg. Issue which will be closed by this Pull Request)

Description of Change

This XPowersLib PMU software component is a prerequisite before adding BSPs for boards that have an onboard display hardware that nee...

rocky ridgeBOT
rocky ridgeBOT
#

Ok, I see your point...
Let to me to explain my one.

I am currently submitting a BSP 'step-by-step'. XPowersLib is the last component used.
Next two small PRs will contain rest of the stuff.

Idea of committing the BSP through a sequence of PRs is to ease adoption.

I don't know which files you use yet.

You may see the result in the 'master' branch of this repo:
https://github.com/lyusupov/tinyuf2

Please, trust me that the files I commit is a bare minimum.

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change

Description of Change

This PR is a successor of

It contains:

  • the board specific initializati...
rocky ridgeBOT
#

Operating System

Linux

INFO_UF2.TXT

TinyUF2 Bootloader 0.11.0-13-g9796a54 - tinyusb (0.12.0-203-ga4cfd1c69)
Model: Unexpected Maker TinyS3
Board-ID: ESP32S3-TinyS3-01
Date: Nov 8 2022

What happened ?

ESP32 build worked fine until mid november, since then it is broken, it does not enumerate. Maybe it is cause by updated docker image for esp-idf. The image used by the workflow is repressive/idf:release-v4.4 which may have been updated at that time... last updated 5 days ...

rocky ridgeBOT
#

Confirmed on tinys3, it is boot looping

Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd0108,len:0x1644
load:0x403b6000,len:0xe7c
load:0x403ba000,len:0x3248
entry 0x403b6334
␛[0;32mI (25) boot: ESP-IDF v4.4.3-145-g76caa64286 2nd stage bootloader␛[0m
␛[0;32mI (25) boot: compile time 02:29:08␛[0m
␛[0;32mI (25) boot: chip revision: 0␛[0m
␛[0;32mI (28) qio_mode: Enabling default flash chip QI...
rocky ridgeBOT
rocky ridgeBOT
#

I checked the assert address, it wasn't really helpful...

spinlock_acquire at /opt/esp/idf/components/esp_hw_support/include/soc/spinlock.h:75
(inlined by) xPortEnterCriticalTimeout at /opt/esp/idf/components/freertos/port/xtensa/port.c:293 

see also the full backtrace:

0x403756b2: panic_abort at /opt/esp/idf/components/esp_system/panic.c:408

0x40379b71: esp_system_abort at /opt/esp/idf/components/esp_system/esp_system.c:128

0x4037edfe: __assert_func at /opt/esp/id...
rocky ridgeBOT
#

The following is from my ESP32-S3-DevKitC1-N32R8V. I've been struggling to get just about any UF2 implementation onto this device.

I've tried:

  • Flashing pre-compiled binaries with the latest esptool.py (v4.4).
  • Flashing with esptool.py (v3.2) under lib/esp-idf.

These are the commands that gets me the closest to a running device. The one difference from the ports/espressif/README.md is that the bootloader.bin starts at 0x0 instead of 0x1000.

tinyuf2.bin
`espto...

rocky ridgeBOT
#

ESP32-S3-DevKitC1-N32R8V (WROOM-2)

Setup

My next approach was to compile from source. I started by defining a new board with the associated files. In this instance, I defined it as espressif_esp32s3_devkitc_1-1 and under it, I included the following files.

partitions-32MB.csv

# ESP-IDF Partition Table
# Name,   Type, SubType, Offset,  Size, Flags
# bootloader.bin,,          0x1000, 32K
# partition table,,         0x8000, 4K
nvs,      data, nvs,      0x9000,  20K,
...
rocky ridgeBOT
rocky ridgeBOT
#

I don't have any unexpected maker boards to test this with. Can you confirm this issue on one of Adafruit or Espressif following boards:

  • 'adafruit_feather_esp32s3'
  • 'adafruit_feather_esp32s3_nopsram'
  • 'adafruit_feather_esp32s3_reverse_tft'
  • 'adafruit_feather_esp32s3_tft'
  • 'adafruit_qtpy_esp32s3'
  • 'espressif_esp32s3_box'
  • 'espressif_esp32s3_devkitc_1'
  • 'espressif_esp32s3_devkitm_1'
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

I don't have any unexpected maker boards to test this with. Can you confirm this issue on one of Adafruit or Espressif following boards:

  • 'adafruit_feather_esp32s3'
  • 'adafruit_feather_esp32s3_nopsram'
  • 'adafruit_feather_esp32s3_tft'
  • 'adafruit_qtpy_esp32s3'
  • 'espressif_esp32s3_devkitc_1'
  • 'espressif_esp32s3_devkitm_1'

@hathach in order to reproduce the issue, please, try to boot a firmware binary from 'Artifacts' section of this page: https://github.com/adafru...

rocky ridgeBOT
rocky ridgeBOT
#

Just recloned the repository, rebooted my laptop and did builds for the espressif_esp32s3_box, espressif_esp32s3_devkitc_1 (32mb flash), unexpectedmaker_tinys3, and unexpectedmaker_feathers3 . All flashed and booted with an enumerated drive. Using Linux to build and test. I had an issue with the espressif_esp32s3_devkitc_1 but I bvelieve that was due to the 32mb flash and that its octal. Changing the sdkconfig file to include the line
CONFIG_FLASHMODE_DIO=y
for that board fixed tha...

rocky ridgeBOT
rocky ridgeBOT
#

Just recloned the repository, rebooted my laptop and did builds for the espressif_esp32s3_box, espressif_esp32s3_devkitc_1 (32mb flash), unexpectedmaker_tinys3, and unexpectedmaker_feathers3 . All flashed and booted with an enumerated drive. Using Linux to build and test. I had an issue with the espressif_esp32s3_devkitc_1 but I bvelieve that was due to the 32mb flash and that its octal. Changing the sdkconfig file to include the line CONFIG_FLASHMODE_DIO=y for that board fixed that. So c...

rocky ridgeBOT
#

Operating System

Linux

INFO_UF2.TXT

TinyUF2 Bootloader 0.11.0-dirty - esp-idf (v4.4-dev-3608-gbbe2a1bf34) tinyusb (0.12.0-203-ga4cfd1c69)
Model: Espressif ESP32S3 DevKitC 1
Board-ID: ESP32S3-DevKitC-v1.0
Date: Dec 21 2022

What happened ?

Espressif recently release a revision of the ESP32-S3 using the WROOM-2 module dubbed: ESP32-S3-DevKitC v1.1. They include the following models:
ESP32-S3-DevKitC1-N16R8V (16MB Flash, 8MB PSRAM)
**ESP32-S3-DevKitC1-N32R8V (32MB ...

rocky ridgeBOT
rocky ridgeBOT
#

I don't have any unexpected maker boards to test this with. Can you confirm this issue on one of Adafruit or Espressif following boards:

  • 'adafruit_feather_esp32s3'
  • 'adafruit_feather_esp32s3_nopsram'
  • 'adafruit_feather_esp32s3_tft'
  • 'adafruit_qtpy_esp32s3'
  • 'espressif_esp32s3_devkitc_1'
  • 'espressif_esp32s3_devkitm_1'

@hathach in order to reproduce the issue, please, try to boot a firmware binary from 'Artifacts' section of this page: https...

rocky ridgeBOT
#

I think the issue may be with the docker image of the esp-idf being used

run: docker run --rm -v $PWD:/project -w /project espressif/idf:release-v4.4  /bin/bash -c "git config --global --add safe.directory /project && make -C ports/espressif/ BOARD=${{ matrix.board }} all self-update copy-artifact"

When i try to build locally using the current release-v4.4 for the TinyS3 it does not work.
If I build locally using the version of esp-idf included in the tinyuf2 repository it does...

rocky ridgeBOT
rocky ridgeBOT
#

So I built a new docker image for the esp-idf that uses the correct commit. Modified my fork to use this docker image. The artifacts for the tinys3 and feathers3 both enumerate now. I did not test any other boards.

Docker hub repo, image is v4.4-tinyuf2 : https://hub.docker.com/repository/docker/6lhasacoi/idf-custom
Fork and branch to use this image: https://github.com/skieast/tinyuf2/tree/test-workflow
Artifacts from last push: https://github.com/skieast/tinyuf2/actions/runs/3783255...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

I also looked briefly at hosting the image at Github Packages repository which supports Docker images (amongst others). I didn't get all the permissions right to push my local image but it should work. This would then allow the idf-custom Docker image to be hosted in the github tinyuf2 reposity. Or maybe its the adafruit account. Smarter brains will know.

https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry

rocky ridgeBOT
rocky ridgeBOT
#

It's an image created using espressif tools designed to get an image at a defined commit. In this case the esp-idf in the tinyuf2 repository is at commit bbe2a1bf34. The docker idf image used in the github workflow is v4.4. This image changes as espressif updates that version. So you will get times where it may work depending on what espressif has committed to that image.
In any case thanks for looking at the research.

rocky ridgeBOT
#

Is your feature request related to a problem? Please describe.
I would like to encrypt uf2 file with AES128/256 encryption method so that nobody is able to disassembly the file.

Describe the solution you'd like
Add code logic to support uf2 file with some extension flags which indicated the firmware is encrypted and need run decrypt before flash it.

rocky ridgeBOT
#

I have tested modifying the .github/workflows/build_esp32.yml to use the espressif/idf:v4.4.3 idf image. In this case the artifacts do enumerate on the boards I tested.

unexpectedmaker_feathers3
unexpectedmaker_tinys3
espressif_esp32s3_box

The artifacts I pulled from the master branch built a week ago did not work on the above board.
Perhaps this is an acceptable solution.

 git diff master                                                                          Mon Jan ...
delicate yarrow
#

hi, im currently playing with tinyuf2 and got this error while trying to compile, does anyone have solution?

sinful patrol
#

the first one isn't a valid board name

#

it also looks like you are windows. I'm not sure its been compiled there

vagrant onyx
rocky ridgeBOT
#

Esptool does not support a flash of more that 16MB (except for a specific Gigadevice chip) . This support is expected to be added in the future. This is commented on in the changelog for the dev version of esptool.

The octal flash support for 32 MB chips
(https://github.com/espressif/esptool/issues/795) will be added in a
follow-up commit.

https://github.com/espressif/esptool/commit/21e59148e73e384947327a0883a753685e03d143

delicate yarrow
#

thx guys

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [ ] Please provide specific title of the PR describing the change
  • [ ] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [ ] If you are adding an new boards, please make sure
    • [ ] Provide link to your allocated VID/PID if applicable
    • [ ] Add your board to action ci in ...
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [ ] Please provide specific title of the PR describing the change
  • [ ] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [ ] If you are adding an new boards, please make sure
    • [ ] Provide link to your allocated VID/PID if applicable
    • [ ] Add your board to action ci in ...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

In order to make the bootloader accessible for ESP32 Devices to the New CircuitPython Installer I'm working on and get around CORS issues, GitHub Actions needs to be updated to upload the release files to Amazon S3 like we do with CircuitPython Libraries and Firmware currently.

This should be fairly easy as we already have it implemented in other repos.

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [ X ] Please provide specific title of the PR describing the change
  • [ X ] Please provide related links (eg. Issue which will be closed by this Pull Request)

This checklist items that are not applicable to your PR can be deleted.


Description of Change

Updates CI files to stop using actions using Node.js 1...

rocky ridgeBOT
#

Description of Change

This PR includes update for new Metro M7 rt1011 and bunch of other update as well including

  • update flashconfig for metro m7 to match new flash device W25Q64JVSIQ
  • add explicit get-deps target to fetch submodule dependencies
  • fix missing library name in UF2_INFO.TXT in some cases
  • fix esp32programmer with uart read issue, also implement dtr/rts signal manipulation (but leaving disabled to be compatible with --before no_reset option
  • update tinyusb to ...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
nocturne trench
#

Can we ask uf2-samdx1 questions here? It looks like there are changes both the Adafruit fork and the Microsoft source. Is there any reason to pick one over the other if the board is in both?

mint gyro
#

Setting up the status led with the neopixel/led and whatnot

#

It’s been a minute since I glanced at the Microsoft version though

nocturne trench
#

I'm working with an Arduino MKR board so it might not matter. Thanks for the input.

mint gyro
#

Gotcha, yeah I imagine either would work.

rocky ridgeBOT
rocky ridgeBOT
#

Operating System

Linux

INFO_UF2.TXT

If i'm not mistaken, I believe that the default mimxrt1011 tinyuf2 starts at 500MHz. It should probably start at 400Mhz or lower to ensure that it's compatible with all chip revisions.

I might be mistaken -- I used the mcu config tools to read the clock_config.c file, so it's quite possible that process didn't work right.

What happened ?

I think the system is starting at 500Mhz, which is well outside the specs for the 400mhz part.

##...

rocky ridgeBOT
#

Operating System

Linux

INFO_UF2.TXT

NA

What happened ?

The .hex file generated by the linker script has the virtual memory addresses, not the load addresses, so it is not useful for loading the flash, with the Teensy loader for example. This is my mistake, if I had made the linker scripts correctly, it should be able to create a valid .hex file with the correct flash addresses.

How to reproduce ?

These instructions are for the Teensy 4.x board

  1. Attempt to load the...
rocky ridgeBOT
#

Note that a solution is now released in Circuitpython 8. This PR: https://github.com/adafruit/circuitpython/pull/7000 thanks to MicroDev, lets you reformat the CIRCUITPY drive so that it extends into the OAT1 partition.
https://docs.circuitpython.org/en/latest/shared-bindings/storage/index.html#storage.erase_filesystem

  • An empty flash is formatted in extended mode by default.
  • It disables the dualbank module (it's still there but raises an exception).
  • Reformatting an existing drive ...
rocky ridgeBOT
#

it is totally not your mistake nor anyone mistake. We just simply have not tested the hex file just since migrated bootloader to SRAM. And the sdphost works perfectly since then. Let me pull out my rt1011 since it has on-board daplink that I can flash the hex file with pyocd to test out your suggestion of adding --change-address

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

NOTE: I don't know the appropriate VID/PID -- It's currently using the 1060_evk settings and not the teensy settings. Not sure which to use

Checklist

  • [x] Please provide specific title of the PR describing the change
  • [x] Please provide related links (eg. Issue which will be closed by this Pull Request).
  • [x] If you are adding an new boards, please make sure
    • [] Provide link to your allocated VID/PID if applicable. **I don't know what do do here. Currently, I left ...
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [ ] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [ ] If you are adding an new boards, please make sure
    • [ ] Provide link to your allocated VID/PID if applicable
    • [ ] Add your board to action ci in ...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

  • [x] Please provide specific title of the PR describing the change
  • [x] Please provide related links (eg. Issue which will be closed by this Pull Request)

Description of Change

Add capability to force stay in DFU (and erase app) with button if TINYUF2_DFU_BUTTON is set to 1.

This adds a check to see if a button is pressed. If the board button is pressed, stay if dfu mode.

If TINYUF2_DFU_BUTTON_ERASE is also set to 1, then the app is erased.
...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

each board has its own clock_config.c/h and can be configured individually, yes ?

Yes. Now that I think about it, this really isn't a bug for the imxrt1010_evk. It's that I was using the imxrt1010_evk as a placeholder for 'all i.mx RT 1011 based boards'.

I guess it's just a policy choice: do you want the clock speed set to the maximum clock speed available for that particular board, or the maximum clock speed supported by all members of the CPU family? The former means when tran...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

I agree it should be left to each board to decide. They may need different
settings for a different clock source or crystal frequency. Also, some of
the settings may be required to run USB.

On Thu, Mar 2, 2023, 8:47 PM Ha Thach @.***> wrote:

Each board should configure its preferred clock individually with
clock_config. I don't think we need to set any minimum or maximum clock at
all. They should run with their optimum design (crystal/power etc...). If
you accept this answer...

rocky ridgeBOT
rocky ridgeBOT
#

Checklist

  • [x] Please provide specific title of the PR describing the change
  • [x] Please provide related links (eg. Issue which will be closed by this Pull Request)

Description of Change

For the i.MX RT boards, the current BOARD_FLASH_APP_START is fixed at flash_base + 0xC000. However it is sometimes useful to put the application in a different memory location. This patch allows the board.h to configure the app start address.

rocky ridgeBOT
#

Description of Change

Slight complication on the implementation compared to F4 as HAL_FLASH_OB_Launch resets the MCU. Without specific logic to handle this case the self-updater gets into a bit of a spin.

  1. self-update calls board_flash_protect_bootloader(false)
  2. MCU resets
  3. bootloader main then runs board_flash_protect_bootloader(true)
  4. goto 1

Catching the reset reason allows the bootloader to re-run the self-updater with the now unlocked write protection.

rocky ridgeBOT
#

Operating System

Linux

INFO_UF2.TXT

placeholder

What happened ?

When copying update-tinyuf2-imxrt1010_evk.uf2 to the board, it does not reboot, and it requires a manual reset.

expected behavior
I would expect that the board reboots, just like it does when jumping to a new application. In its current incarnation, unattended updates are not easy, and would require a full power off and on of the entire system, which is not feasible for some embedded systems.

###...

#

@gsteiert I think I see what's going on here:

This issue may be limited to the i.MX RT port, which treats the self update exactly the same as a regular update. The regular update jumps to the application directly, rather than rebooting. This means, when the self-update happens, the flash gets written, but the chip doesn't go through the boot process, and so the new version doesn't get started.

Is there a way to force-boot on self-update?

rocky ridgeBOT
#

smh, okay, I'll understand this eventually. It actually does start up the new firmware, however, it does not re-enumerate on the USB bus.

My experience is this:

I have 2 i.MX RT1010 builds:

make BOARD=imxrt1010_evk self-update
make BOARD=custom self-update

The drive for the imxrt1010_evk is /media/$USER/RT1010BOOT. The Drive for custom is /media/$USER/CSTMBOOT.

I initially program with the tinyuf2-imxrt1010_evk.bin file, so when I reboot, I have the RT...

rocky ridgeBOT
#

Checklist

  • [x] Please provide specific title of the PR describing the change
  • [x] Please provide related links (eg. Issue which will be closed by this Pull Request)

Description of Change

Some custom i.MX boards require per board setup. Currently, I don't see a mechanism for a specific board to have a setup call.

As a specific example, For example, on the i.MX RT 1011, if you happen to have the boot LED on GPIO_AD_02, you might need to custom configure `GPR...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Ah ha. I hadn't changed the PID. Found that if I don't change the PID, it doesn't recognize the new firmware right. If I do change the PID, then it re-enumerates.

I created a quick dummy board here , which just has some strings and PID changed from the imxrt1010_evk board. No other code changes.

make BOARD=imxrt1010_evk -j flash

dmesg output

[  +5.309085] usb 1-9.1.4: USB disconnect, device nu...
rocky ridgeBOT
#

Checklist

  • [x] Please provide specific title of the PR describing the change

Description of Change

The LED write routine is meant to take a value between 0 for off and 255 for full brightness. the current 10xx port treats 0 as off, and anything else as on when dealing with non-PWM leds. This creates a case where the LED is on virtually all the time, except for a tiny blink off every 256 timer intervals.
This fix turns the LED on for (value >= 128) and off for ...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [ ] Please provide specific title of the PR describing the change
  • [ ] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [ ] If you are adding an new boards, please make sure
    • [ ] Provide link to your allocated VID/PID if applicable
    • [ ] Add your board to action ci in ...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Add Deneyap boards at list of supported boards

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [ ] Please provide specific title of the PR describing the change
  • [ ] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [ ] If you are adding an new boards, please make sure
    • [ ] Provide link to your allocated VID/PID if applicable
    • [ ] Add...
rocky ridgeBOT
rocky ridgeBOT
#

This part of repo is related to both ESP32-S2 and ESP32-S3.

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [ ] Please provide specific title of the PR describing the change
  • [ ] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [ ] If you are adding an new boards, please make sure
    • [ ] Provide link to your allocated VID/PID if applicable...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

TinyUF2 only writes itself to flash under certain conditions (from board_flash.c):

  // TinyUF2 will copy its image to flash if one of conditions meets:
  // - Boot Mode is '01' i.e Serial Download Mode (BootRom)
  // - Flash FCFB is invalid e.g blank flash
  // - Flash contents does not match running tinyuf2 in SRAM (depending on COMPARE_AND_WRITE_TINYUF2)

Here are four ways to force it to load:

  1. Change BOOTSW to 01
  2. Erase flash before loading to clear FCFB
  3. Drag-...
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [ ] Please provide specific title of the PR describing the change
  • [ ] Please provide related links (eg. Issue which will be closed by this Pull Request)
    exposed-by-bootloaders)

Description of Change

use 'app' instead of 0, change should not effect functionality, however makes partition table more consist...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Operating System

MacOS

INFO_UF2.TXT

What happened ?

When connecting to Mac or Windows, a drive is not appearing. The expected behavior is that after flashing for the UART connector, then connecting to the USB connector will show a mapped drive.

A full description appears here: https://forums.adafruit.com/viewtopic.php?t=200794

How to reproduce ?

build, flash, connect. all described here: https://forums.adafruit.com/viewtopic.php?t=200794

Debug Log

_No respons...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
fair bramble
#

Note for the curious: TInyUF2 does not require the back-end to be an MCU's own flash, it could be another device entirely.
This allows to use a small MCU as an UF2 bootloader for another device.

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Sorry for the delay, PR looks great, everythingg is spot-on. Though I rebased & made some changes to make the should_protect local to F3 https://github.com/adafruit/tinyuf2/tree/protect as well as adding some cmake support for F3. However I couldn't push to your fork, would you mind pulling my branch and push force (since rebased) to yours to update this PR. Afterwards, I think this is ready to merge.

rocky ridgeBOT
rocky ridgeBOT
#

Operating System

Windows 11

INFO_UF2.TXT

TinyUF2 Bootloader 0.14.0-10-g86a054f - st/cmsis_device_f3 (v2.3.6) st/stm32f3xx_hal_driver (v1.5.6-9-g75cf4fc) tinyusb (0.15.0-331-ge3b3229d6)
Model: ST STM32F303 Discovery
Board-ID: STM32F303 discovery
Date: Jun 5 2023

What happened ?

Content of CURRENT.UF2 is always just zeros, and does not reflect the current flash contents,

hexdump ~/Desktop/CURRENT.UF2
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0080000
``...
rocky ridgeBOT
rocky ridgeBOT
#

Description of Change

STM32L4 support has been mentioned a few times on the QMK Discord. Eventually targeting single-bank MCU like the STM32L432, there are a few assumptions on flash layout to unpick.

Before submitting those changes, I figured it was worth a pass to tidy a few areas up so that its more consistent with the F3 and F4 port.

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [x] If you are adding an new boards, please make sure
    • [x] Provide link to your allocated VID/PID if applicable
    • [x] Add your board to action ci in correct workflow and alphabet order for release binary
    • [x] UF2_BOARD_ID in your board...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Description of Change

  • Add metro m7 sd board
  • Add factory test metro sd app, which could initialize and get SD capacity (card size) to prove that SPI is working.
  • Add fatfs lib file, though not used yet, since read SD Card size seem to be enough to prove SPI working.
  • clean up make build system for imxrt
  • update cmake buidl system for imxrt
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Description of Change

  • Add partitions with 1 factory (tinyuf2) + 1 ota app
  • Change adafruit_camera_s3 to use 1 ota app partition
  • Added Flash size: entry to INFO_UF2.TXT to make it easier to spot the different in partitions
TinyUF2 Bootloader 0.15.0-23-g598d624 - esp-idf (v4.4-dev-3608-gbbe2a1bf34) tinyusb (0.15.0-566-gf1e006d09)
Model: Adafruit Camera
Board-ID: ESP32S3-Camera-revC
Date: Jul 19 2023
Flash Size: 0x002C0000 bytes
  • Fixed ghostfat selftest check with n...
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [x] If you are adding an new boards, please make sure
    • [x] Provide link to your allocated VID/PID if applicable

https://github.com/espressif/usb-pids/blob/main/allocated-pids.txt#L425

_(Please, note that 'SoftRF Midi Edition' is actually an alias for Heltec Wi...

full moss
#

i haven't seen any convo here, just bot actions, but here is my question anyway (let me know if i should open an issue or whatever instead)

i just bought this very same board https://github.com/adafruit/tinyuf2/pull/144, is there anything missing that i could (try) implement to get it merged? 😄

sinful patrol
#

I don't think its been reviewed since it is marked as wip still

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
coral wind
#

Hey folks - has anyone successfully gotten both the lib\esp-idf installed and TinyUF2 building on Apple Silicon? If so, what Python version did you need to use?

I cant get the requirements.txt file installed on Python 3.9.17 (lots of getenv errors from gdbgui install, and I'm not even able to run install.sh 😦

#

Actually, I cant even install the requirements on an Intel Mac with Python 3.11.4

coral wind
#

I'm able to install and build from the 4.4 release branch, but not the 4.4-beta idf in the lib/esp-idf included with TinyUF2.

But when I build from 4.4 release, it builds ok, no errors, but I get a RED LED and no mass storage drive appears.

Happens with any of my board I build for 😦

coral wind
#

Ok, I brute forced the lib/esp-idf install by deleting my ~/.espressif folder - but that's not really a solution as I've lost all of my other esp-idf version stuff now as the 4.4-beta version is not compatible for 4.4-release and onwards 😦

I'd be curious to heart from anyone else that has this all working nicely on a Mac? Thanks 🙂

rocky ridgeBOT
full moss
# full moss i haven't seen any convo here, just bot actions, but here is my question anyway ...

Weird... I flashed it a couple days ago and it worked (like, screen turned on + drive showed up), didnt load any .uf2 at it (didnt have any)

I have since flashed a QMK firmware (.bin) on the board and now i tried compiling it as .uf2 but the board does nothing when i flash tinyuf2 back at it 🤔

i guess i could have damaged something with wrong firmware while getting everything on ChibiOS correctly setup.... But, since it runs QMK fine, im guessing this is some kind of bug on the tinyuf2 code for the board, any ideas where/what to look at?

rocky ridgeBOT
#

I know there hasn't been any movement out here for 2 years, but i recently bought this board and would like having uf2 on it.

  • Is there something missing on the code? I could try and implement myself
  • Any idea why the firmware worked a couple days back (screen drawing + storage showing up), but it doesnt do either now?
    (i flashed other fimrware via stm32dfu between tests) - Blue LED (E3) does light both when USB is connected and pressing RST button

Waiting for a STLink to get delive...

rocky ridgeBOT
rocky ridgeBOT
#

@hathach , @elpekenin
Unfortunately the project I was preparing this for didn't work out and I completely forgot about this WIP-PR.

As for the implementation, all the board_* callouts are available. I believe we can start a review now.

In general I have 2 concerns for this PR

  1. I created the ports/stm32h7 but right now there's only a single board that uses this variant. There are other variants that have a different sector size and my additions may need some work to make life eas...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
violet ice
#

Hi I'm trying to build the tinyuf2 boatloader for a new esp32s2 based board. Installed everything and first tried to compile one of the existing boards but I always ran into the following error. Directory specified in EXTRA_COMPONENT_DIRS doesn't exist: /Users/x/Documents/Github/tinyuf2/ports/espressif/bootloader_components it seems like the CMakeList.txt file was changed in the last 2 weeks: https://github.com/adafruit/tinyuf2/commit/c704e12e1ab70c5a746a4d7f7a397604e2c8a387

#

Did I missed something to install?

sinful patrol
rocky ridgeBOT
#

Operating System

Windows 11

INFO_UF2.TXT

TinyUF2 Bootloader 0.5.1-39-gaf609f0-dirty - st/cmsis_device_h7 (v1.10.0) st/stm32h7xx_hal_driver (v1.10.0) tinyusb (0.10.1-109-g9b3ec69b2)
Model: STM32 STM32FH750VBT6
Board-ID: STM32H750VB-MiniSTM-v1.1
Date: Jul 31 2023

What happened ?

Going insane trying to flash my board (beware this is code from an open PR)

Using 0x900_0000 as base address for my ld (as per )

However, i have tried several things with uf2conv.py with no...

rocky ridgeBOT
rocky ridgeBOT
#

SP (in DTCM) and Reset_Handler (in QSPI) look good. I can't think of a reason why board_app_valid would fail.

I can try and debug qmk on my hardware but make handwired/onekey:default DEFAULT_FOLDER=handwired/onekey/weact_stm32h750vbt6 fails with #error "invalid STM32_PLL2_DIVP_VALUE value specified". Can you help me build qmk and reproduce this issue?

rocky ridgeBOT
rocky ridgeBOT
#

Thank you! I was able to get the h750-support branch compiling but I couldn't exactly replicate the issue

My observations,

  1. Programming completes successfully
  2. QMK starts but gets stuck during the ChibiOs init (stm32_gpio_init, maybe some config error?)
  3. Double tap into DFU works normally

I was able to reproduce the issue if I interrupted the flash erase,
Programming would complete normally in the next attempt but board_app_valid always fails because the QSPI read 0xFFF...

rocky ridgeBOT
#

all changes look great, this PR definitely needs lots of work. I actualy don't have the hardware to test with. Therefore I could only go through changes only and so far so good. There is only minor requests

  • suppress warnings in default handler
  • rename the board from mini_stm32hxx_v11 to mini_stm32h750_v11. WeAct has 2 version, though the H743 variant will likely to use on-chip flash for firmware instead of off-chip spi/qspi one. They are different mcus anyway, so it is better to specify ...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Description of Change

  • UF2_DETECTION_DELAY_MS is useful to allow ESP32 boards that only have a button on BOOT0 pin to use both ROM bootloader and UF2 bootloader.
  • If however the board uses separate gpio for UF2 detect button, then this just slows down the boot procedure. I this case I wanted to set UF2_DETECTION_DELAY_MS to zero so that uf2 bootloader is only activated if the button was pressed before power on!
  • In the gpio detection logic the while statement never evaluated true bec...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

yes, it is the name but also I made some mistakes so I won't have another
pull re quest later with fixes
😅
On Sat, Aug 26, 2023 at 6:45 AM Ha Thach @.***> wrote:

Just realize experimental is actual the board name (was thinking it is
some kind of testing prototype 😄)


Reply to this email directly, view it on GitHub
https://github.com/adafruit/tinyuf2/pull/345#issuecomment-1694255207,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJINUP...

rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [x] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [x] If you are adding an new boards, please make sure
    • [x] Provide link to your allocated VID/PID if applicable
    • [x] Add your board to action ci in ...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

  • [x] Please provide specific title of the PR describing the change
  • [x] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [x] If you are adding an new boards, please make sure
    • [x] Provide link to your allocated VID/PID if applicable
    • [x] Add your board to action ci in correct workflow and alphabet order for release binary
    • [x] UF2_BOARD_ID in your board.h follow correct format from [uf2 specs](https:...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change

Description of Change

Upcoming revision V2.1 of the LilyGO T-TWR board uses a little bit different NeoPixel power enable signal.
This PR makes the TinyUF2 bootloader to be compatible both with version 2.0 and version 2.1 of the product.

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

This issue will be on all MCUs where the flash did not start at address 0
It just calculates it totally wrong
The issue is in ghostfat.c on lines 486 and on

// CURRENT.UF2: generate data on-the-fly
      uint32_t addr = BOARD_FLASH_APP_START + (fileRelativeSector * UF2_FIRMWARE_BYTES_PER_SECTOR);
      if ( addr < _flash_size ) // TODO abstract this out
      {

addr is always bigger than the size of a flash

rocky ridgeBOT
#

Operating System

Windows 10

INFO_UF2.TXT

When attempting to program on a ESP32 S3 Rev TFT using bootloader version 0.16.0, Arduino immediately errors with "A fatal error occurred: Could not open COM9, the port doesn't exist" even though the com port is listed in device manager in windows. Downgrading to 0.12.3 bootloader, power resetting, and programming again the device programs and does the normal hang after "Hard resting via RTS Pin" that requires the push of rest button but th...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [ ] Please provide specific title of the PR describing the change
  • [ ] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [ ] If you are adding an new boards, please make sure
    • [ ] Provide link to your allocated VID/PID if applicable
    • [ ] Add your board to action ci in ...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Thank for reporting the issue, intially, I thought it is due to the new IDF v5.1 used by latest arduino-esp32. Howver, after migrating tinyuf2 from idf v4 to v5. The issue stil persist. I did a lot more tests and finally find the root cause. It is caused by the newly-introduced periman module. I have submitting PRs with detail explanation to arduino-esp32 core

The change is very simple, just change the return from false->true in a...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [ ] If you are adding an new boards, please make sure
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] If you are adding an new boards, please make sure
    • [x] Provide link to your allocated VID/PID if applicable
    • [x] Add your board to action ci in correct workflow and alphabet order for release binary
    • [x] UF2_BOARD_ID in your board.h follow correct format from [uf2 specs](https://github.com/microsof...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

  • [x] Please provide specific title of the PR describing the change

Description of Change

There are applications for ESP32-S3 that soon will no longer fit 2MB APP/OTA partition size.
This project is an example of the application: https://github.com/nakhonthai/ESP32APRS_T-TWR

I've created this new layout for 16MB flash chips to support development of such application(s) and use it together with the TinyUF2 bootloader.

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

For posterity, I'm including the output from the flash operation. I couldn't figure out if ESP-IDF is still included in this repository, but I was able to setup v5.1 in a separate directory.

IDF is not included as submodule anymore, since we will now try to target release version. Previous specific commit is required since esp-idf is still under develop to add s2/s3 support.

rocky ridgeBOT
#

Is your feature request related to a problem? Please describe.
I have been having a frustrating time trying to find support for the 'ESP32-S3 Cam' board (an example can be found here: https://www.aliexpress.us/item/3256805913061487.html)

Describe the solution you'd like
Ideally, a pre-built release.

Describe alternatives you've considered
Either a pre-built release for this board or clear instructions on how to build one that is appropriate for these boards would b...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [x] If you are adding an new boards, please make sure
    • [x] Provide link to your allocated VID/PID if applicable
    • [x] Add your board to action ci in correct workflow and alphabet order for release binary
    • [x] UF2_BOARD_ID in your board...
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [x] If you are adding an new boards, please make sure
    • [x] Provide link to your allocated VID/PID if applicable
    • [x] Add your board to action ci in correct workflow and alphabet order for release binary
    • [x] UF2_BOARD_ID in your board...
rocky ridgeBOT
rocky ridgeBOT
#

Operating System

MacOS

INFO_UF2.TXT

I don't have one - can't even build.

What happened ?

ESP-IDF was removed from lib/esp-idf, but build script is still looking for it and failing when it's not there.

error: pathspec '/Users/seon/tinyuf2/ports/../lib/esp-idf' did not match any file(s) known to git

Reference here I think.
https://github.com/adafruit/tinyuf2/blob/fd8b95078ff1249c863a56ec017766921d8ae087/ports/espressif/CMakeLists.txt#L19

Even if I create a symbolic ...

rocky ridgeBOT
rocky ridgeBOT
#

Description of Change

UF2_DETECTION_DELAY_MS can be set to zero when PIN_BUTTON_UF2 is not GPIO0 on ESP32. This causes the board to boot application firmware instantly if the PIN_BUTTON_UF2 is not pulled low by pressing the boot button. The problem is that the RGB LEDs still turn purple momentarily indicating that the bootloader is waiting for button press. This causes unwanted flash of the LEDs. In this PR code skips board_led_on() is only called if UF2_DETECTION_DELAY_MS>0 condition ...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [X] Please provide specific title of the PR describing the change
  • [X] Please provide related links (eg. Issue which will be closed by this Pull Request)
  • [X] If you are adding an new boards, please make sure
rocky ridgeBOT
rocky ridgeBOT
#

Operating System

Windows 10

INFO_UF2.TXT

TinyUF2 Bootloader 0.18.1-55-geec497e-dirty - st/cmsis_device_f3 (v2.3.6) st/stm32f3xx_hal_driver (v1.5.6-9-g75cf4fc) tinyusb (0.15.0-566-gf1e006d09)
Model: ST STM32F303 Discovery
Board-ID: STM32F303-Discovery-MB1035D
Date: Jan 31 2024
Flash Size: 0x00040000 bytes

What happened ?

Flashing on both win10 and win11 can generate the error. In all testing, the flash is successful and the board will reboot into the user application while...

rocky ridgeBOT
#

Summary

This pull request introduces a CodeQL workflow to enhance the security analysis of this repository.

What is CodeQL

CodeQL is a static analysis tool that helps identify and mitigate security vulnerabilities. It is primarily intra-function but does provide some support for inter-function analysis. By integrating CodeQL into a GitHub Actions workflow, it can proactively identify and address potential issues before they become security threats.

For more information on Code...

#

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests wi...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
magic cairn
#

i have an esp32 S3 board. I've been just compiling binaries from Arduino ide but flashing them one by one seems to be quite a lot of work (compared to uf2) so i was wondering can i use tinyuf2 to share my compiled binaries in uf2 format like the pico does?

sinful patrol
magic cairn
#

should i just need to convert the app bin?

#

right now im looking at uf2 enabled boards from adafruit, and they only produce app, partitions, and the bootloader

#
C:\Users\USER\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1/esptool.exe" --chip esp32s3 --port "COM22" --baud 921600  --before default_reset --after hard_reset write_flash  -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x0 "C:\Users\USER\AppData\Local\Temp\arduino\sketches\1843405EA0EFF98690B8D8A679B1D802/Blink.ino.bootloader.bin" 0x8000 "C:\Users\USER\AppData\Local\Temp\arduino\sketches\1843405EA0EFF98690B8D8A679B1D802/Blink.ino.partitions.bin" 0xe000 "C:\Users\USER\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/partitions/boot_app0.bin" 0x10000 "C:\Users\USER\AppData\Local\Temp\arduino\sketches\1843405EA0EFF98690B8D8A679B1D802/Blink.ino.bin" 0x2d0000 "C:\Users\USER\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/variants/adafruit_qtpy_esp32s3_n4r2/tinyuf2.bin
#

this is the flashing command from the arduino ide for the qtpy

sinful patrol
#

I bet you only need to include Blink.ino.bin

#

the rest should already be on the board

magic cairn
#

im assuming i just press the boot0 2 times?

magic cairn
sinful patrol
#

it is double reset on boards that have an extra cap to support it. otherwise reset and then boot0 when led is purple

magic cairn
sinful patrol
#

then double reset won't work

#

so do reset then boot0

magic cairn
#

okay that works

#

however, placing the .uf2 inside the folder does nothing

magic cairn
#

ok ill investigate this more

sinful patrol
#

make sure you give the converter the right magic number (can't remember what it is called)

#

there is a number used to say what platform a uf2 is for

#

and the file will be ignored if it doesn't match

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
magic cairn
#

HA!

#

found the solution

#

all of the details for using the uf2 converter are in there

#

havent tried yet with arduino ide, but with esp-idf v5.2.1 it works great 🙂

#

@sinful patrol thank you for your help again

violet ice
#

Are there any plans to publish a new TinyUF2 release on github in the near future? We integrated our board last year and also adopted CP but as there is no release with the board so far nice features such as installing through the CP website or downloading the UF2 Bootloader from here: https://circuitpython.org/board/sensebox_mcu_esp32s2/ is not working

The new senseBox MCU-S2 with ESP32S2 core!Features ESP32-S2 240 MHz Tensilica processor - the next generation of ESP32, now with native USB so it can act like a keyboard/mouse, MIDI device, disk drive, etc! Power options - USB-C or Lipoly battery Built-in battery charging when powered over USB...

sinful patrol
#

looks at who releases tinyuf2 usually

rocky ridgeBOT
violet ice
#

fantastic! Thank you!

sinful patrol
#

np

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Operating System

MacOS

INFO_UF2.TXT

TinyUF2 Bootloader 0.18.2 - tinyusb (0.15.0-566-gf1e006d09)
Model: Espressif ESP32S3 DevKitC 1
Board-ID: ESP32S3-DevKitC-v1.0
Date: Mar 22 2024
Flash Size: 0x00200000 bytes

What happened ?

Running on ESP32-S3-DevKitC on OSX, device mounts.

% ls -al
total 8198
drwx------  1 danielmcshan  staff     2048 Dec 31  1969 .
drwxr-xr-x  8 root          wheel      256 May 11 15:34 ..
-rwx------  1 danielmcshan  staff  4194304 Mar ...
rocky ridgeBOT
#

Operating System

MacOS

INFO_UF2.TXT

TinyUF2 Bootloader 0.18.2 - tinyusb (0.15.0-566-gf1e006d09)
Model: Espressif ESP32S3 DevKitC 1
Board-ID: ESP32S3-DevKitC-v1.0
Date: Mar 22 2024
Flash Size: 0x00200000 bytes

What happened ?

I see the board come up as a drive, and drop my .uf2, no errors in the console, but the binary never runs. Instead the bootloader always runs.

0;I (I2032a)p_atn_t:skt rtint dchedClUrnmCPU1
I (330) m...
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [x] Please provide related links (eg. Issue which will be closed by this Pull Request)

This checklist items that are not applicable to your PR can be deleted.


Description of Change

Fixes.
The stamp is used for the cardputer. Testing on th...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Operating System

Linux

INFO_UF2.TXT

TinyUF2 Bootloader 0.18.2-53-gbb2d563-dirty -
Model: Adafruit Dummy
Board-ID: Dummy
Date: Jun 4 2024
Flash Size: 0x00010000 bytes

What happened ?

DFU flashing seems successful, but board_app_jump() not working yet. Probably missing some riscv specific step.

How to reproduce ?

drop uf2, reset --> app is valid, board_app_jump() run but app not running as expected

Debug Log

No response

Screenshots

No response

rocky ridgeBOT
coral wind
#

Hey @lone hinge - I add board support for my new FeatherS3 Neo for tinyuf2, and I want to raise a PR, but I cant find where to add my board to the github build action - is tinyuf2 not using a build list anymore? Any idea?

lone hinge
coral wind
#

Oh, fantastic. I've really been absent from all of this for a while, so have no idea what's what! Thanks for the info 🙂

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [ ] Please provide specific title of the PR describing the change
  • [ ] If you are adding an new boards, please make sure
rocky ridgeBOT
rocky ridgeBOT
#

Operating System

Linux

INFO_UF2.TXT

-none-

What happened ?

Cannot compile the board as in the tilte described

How to reproduce ?

.../tinyuf2$ python3 tools/get_deps.py stm32f4
.../tinyuf2$ python3 tools/get_deps.py --board stm32f411ce_blackpill
.../tinyuf2/ports/stm32f4$ make BOARD=stm32f411ce_blackpill all

Debug Log

AS startup_stm32f411xe.o
CC ghostfat.o
CC images.o
CC main.o
.../tinyuf2/src/main.c:33:10: fatal error: tusb.h: No such file or directory
...

rocky ridgeBOT
rocky ridgeBOT
#

Hi Ha,

i did run the command

python tools/get_deps.py stm32f4

but it did not fetch the necessary repositories like tinyusb and uf2.

It was not clear enough, that I have to clone the repo with submodules, which I didn`t.

That is the point that lacks in the docu.

Greetings
Rulaman

18.07.2024 11:29:23 Ha Thach @.***>:

no, you need to run, it is mentioned in the readme

*python tools/get_deps.py stm32f4
*

Reply to this email directly, ...

rocky ridgeBOT
rocky ridgeBOT
#

Checklist

By completing this PR sufficiently, you help us to review this Pull Request quicker and also help improve the quality of Release Notes

  • [x] Please provide specific title of the PR describing the change
  • [x] If you are adding an new boards, please make sure
    • [x] Provide link to your allocated VID/PID if applicable
    • [x] UF2_BOARD_ID in your board.h follow correct format from uf2 specs

*This che...

rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT
rocky ridgeBOT