support icon indicating copy to clipboard operation
support copied to clipboard

EV3 firmware blobs

Open dlech opened this issue 6 months ago • 5 comments

For the EV3 builds, we need some firmware blobs baked into the software builds.

  • u-boot
  • PRU (2)
  • Bluetooth

I'm not a fan of committing binary blobs to source code repositories, so I would like to avoid that if we can.

But this means we will need an extra step to download these from somewhere when developers first clone the source code repository (kind of like you have to do poetry install to get Python dependencies).

Right now, we have one PRU firmware for the SUART commited in the repository. That one isn't so bad since it is not likely to ever change and isn't too big (<4 kB). But if we are going to do this for others, we might as well do the same for all blobs.

I recently removed the u-boot.bin blob because we updated u-boot and that one is much larger (~256k) so we don't want to keep commiting new versions of that any time we change it. Right now it is downloaded from GitHub by make but I don't really like having that as a build step as it can be a pain, e.g. if you need to build without a network connection and also it doesn't know when to download a new version since there isn't any dirty file to trigger the recipe.

So probably it would make sense to just add a small script to tools/ that downloads all of the blobs that developers can run whenever they need to.

All but the Bluetooth one have source code available, so we could add those as git submodules and build them as part of the build process, but I don't think there is very much sense in that as it will waste a lot of time building things that rarely change and setting up the compiler for the PRU would be an extra pain on top of that.

dlech avatar Jul 05 '25 22:07 dlech