Hi,

This is a review of CC/C++ for AVR.

Debian Buster:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version                Architecture Description
+++-==============-======================-============-===================================
ii  avr-libc       1:2.0.0+Atmel3.6.1-2   all          Standard C library for 
Atmel AVR de
ii  avrdude        6.3-20171130+svn1429-2 amd64        software for programming 
Atmel AVR
ii  gcc            4:8.3.0-1              amd64        GNU C compiler
ii  gcc-avr        1:5.4.0+Atmel3.6.1-2   amd64        GNU C compiler (cross 
compiler for
ii  gdb-avr        7.7-4+b12              amd64        GNU Debugger for avr

Choice of CC/C++ for AVR can be several choices.  As I googled situation, it 
looks
like:

(1) Hard ware vendor (microchip) supported CC:
    GCC 5.4.0 based gcc-avr (current state in Debian)

    Yah... it's old compared to the normal GCC 8.3 on buster
    The vendor seems to have no intent to move to newer GCC.

(2) Latest GCC used as the cross-compiler:
    Grntoo promote this: https://wiki.gentoo.org/wiki/Arduino

    But it doesn't look good in near future ....
    https://gcc.gnu.org/ml/gcc-patches/2019-09/msg01256.html
    
https://www.reddit.com/r/linux/comments/e3flt6/bountysource_campaign_to_modernize_the_avr/
    https://www.avrfreaks.net/forum/avr-gcc-and-avr-g-are-deprecated-now
    GCC 10: AVR is deprecated
    GCC 11: AVR will be dropped

    So moving to the latest GCC is not easy to do.

(3) Forward port vendor patches by someone
    GCC 9.2 ??? by Archlinux
    https://www.archlinux.org/packages/community/x86_64/avr-gcc/

    GCC 9.1 by stevenj
    https://github.com/stevenj/avr-gcc-build-script/releases/tag/20190728
    https://www.avrfreaks.net/forum/avr-gcc-91-avr-libc-xmega3-device-support

    Following such efforts seems fragile at best ... we don't even know
    how well they are tested.

(4) Stable updated GCC with forward ported vendor patches supported by
    the active user community --- Arduino
    Arduino 1.8.10 (Larest release)
    avr-gcc-7.3.0

Considering gcc-avr is mostly aimed for use with Arduino platform and
Arduino forks seem to maintain and test GCC well, switching the UPSTREAM
of this Debian package to the Arduino ine seems good idea.

Arduino seems to just download binary from:
 
http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino5-x86_64-apple-darwin14.tar.bz2

So we need to find where is the source of above package.

Osamu

Reply via email to