JeremyGrosser / rp2040_hal

Ada drivers for the Raspberry Pi RP2040 SoC
https://pico-doc.synack.me/
BSD 3-Clause "New" or "Revised" License
38 stars 11 forks source link

elf2uf2 port #28

Open JeremyGrosser opened 2 years ago

JeremyGrosser commented 2 years ago

The boot ROM supports flashing using files in UF2 format. Upstream pico-sdk contains a small C program that converts an ELF file to UF2. It would be nice to have this available in Alire so that users don't have to download and build pico-sdk just to flash a board. Maybe there's a clever way to build this utility as a dependency and call it during alr build.

NicoPy commented 2 years ago

I translated elf2uf2 into Ada a few weeks ago, as an exercise. I did not publish it since it is not properly tested. Also, sources have to be cleaned up.

JeremyGrosser commented 2 years ago

If that's something you'd be willing to contribute, I think the best approach would be to create a separate GitHub repository and Alire crate for it, then we can add it as a dependency to any project that needs to generate uf2 files.

NicoPy commented 2 years ago

If that's something you'd be willing to contribute

Sure.

I think the best approach would be to create a separate GitHub repository

I will.

and Alire crate for it

Never did this. I'll have to learn how to do this.

Is there a prefered license type for this project ?

JeremyGrosser commented 2 years ago

If you need help with Alire, the people on gitter are very friendly. https://gitter.im/ada-lang/Alire

I've been using the BSD-3-Clause license for RP2040 related projects. Most of the official Raspberry Pi code does too. As this will be a separate project, you're free to use whatever license you want.

NicoPy commented 2 years ago

If you need help with Alire, the people on gitter are very friendly. https://gitter.im/ada-lang/Alire

OK, I'll subscribe to this channel. Thanks.

I've been using the BSD-3-Clause license for RP2040 related projects. Most of the official Raspberry Pi code does too. As this will be a separate project, you're free to use whatever license you want.

BSD looks good to me.