1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
Additional hints about the arduino-core-avr package in Debian
-------------------------------------------------------------
1. Bootloaders - differences between Debian and upstream on provided .hex
files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This Debian package can't provide all the various *.hex files that are
present within the upstream archive.
Due the DFSG [1] we are required to build all binary stuff from source, and
also have to remove any prebuilt binary stuff from the source tarball.
Due this circumstances there are some differences between the included *.hex
files in /usr/share/arduino/hardware/bootloaders and data provided by
upstream. In detail there are the following differences.
Folder bootloaders/atmega
This folder is fully rebuildable, Debian is providing all possible *.hex
files.
Folder bootloaders/atmega8
This folder is fully rebuildable, Debian is providing all possible *.hex
files.
Folder bootloaders/bt:
The file ATmegaBOOT_168_atmega328_bt.hex we aren't able to rebuild, the
package isn't including this file.
Folder bootloaders/caterina,
bootloaders/caterina-Arduino_Robot,
bootloaders/caterina-LilyPadUSB
All the various *.hex files can't be rebuilded right now. Rebuilding
requires LUFA [2] as resource which isn't available as package right now
nor is it included as additional tarball to the source package.
Folder bootloaders/gemma
To rebuild the file gemma_v1.hex we need to include the source of the
Adafruit-Trinket-Gemma-Bootloader somehow, the complete source is not fully
included and we can't build the file gemma_v1.hex.
Folder bootloaders/optiboot
For the file optiboot_atmega328-Mini.hex isn't a Make target nor a read me
or a hint provided how to rebuild that file. Therefore we cant's build and
ship that file.
Folder bootloaders/stk500v2
The file Mega2560-prod-firmware-2011-06-29.hex can't be built from source
because the Makefile has no information about this file or instructions how
to build the .hex file.
In case you really need one of the *.hex files from one of these folders
you can mostly pull the desired file from the original upstream git tree.
It certainly would be better if upstream can provide information how the
files can be built by ourself!
https://github.com/arduino/ArduinoCore-avr
[1] https://www.debian.org/social_contract#guidelines
[2] http://www.lufa-lib.org/
3. Firmware - impossibility to provide any .hex files as firmware
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The situation for all *.hex files within the folder firmware/ is mostly the
same as for the *.hex files within the some subfolders in bootloader/.
For a successful rebuild of the various *.hex files in the folders
firmware/atmegaxxu2
firmware/atmegaxxu2/arduino-usbserial
the Lightweight USB Framework for AVRs (LUFA) [1] is required. For now this
software isn't packaged yet and by this the package can't provide any *.hex
files built up on top of the Makefiles. The existing *.hex files are build
with LUFA version 100807 according to the file
'firmwares/atmegaxxu2/README.txt'.
For now we can just provide the available source files.
Please have a look at the upstream resource for the package
arduino-core-avr [2] in case you need a pre compiled *.hex file.
[1] http://www.lufa-lib.org/
[2] https://github.com/arduino/ArduinoCore-avr/tree/master/firmwares
If you have any questions or suggestions for improving this README file
please do not hesitate to write your opinions to the mailing list, no
subscription is required.
pkg-electronics-devel@alioth-lists.debian.net
-- Carsten Schoenert <c.schoenert@t-online.de> Thu, 17 Dec 2020 20:20:00 +0100
|