Those are AVR tools on FreeBSD:

arduino-avrdude-6.3_5          Program for programming the on-chip
memory of Atmel AVR Arduino CPUs
avr-binutils-2.44,1            GNU binary tools
avr-gcc-14.2.0                 FSF GCC for Atmel AVR 8-bit RISC
cross-development
avr-gdb-7.3.1_6                GNU GDB for the AVR target
avr-libc-2.2.0,1               C and math library for the Atmel AVR
controller family
avra-1.4.2                     Macro Assembler for Atmel AVR microcontrollers
avrdude-7.3                    Program for programming the on-chip
memory of Atmel AVR CPUs
libpololu-avr-151002_2         Support libraries for Pololu robots
simavr-1.7_3                   Simulator for several Atmel AVR chips

Tomek

On Tue, Apr 29, 2025 at 9:34 AM <kr....@kerogit.eu> wrote:
>
> Hi,
>
> as far as I know, the development of gcc port for AVR stalled for some
> time and there were some licensing issues. The result is that both
> Ubuntu and Debian got stuck with some ancient versions (Ubuntu has
> version 7.3, Debian has 5.4.) According to Ubuntu website, none of them
> support these newer devices.
>
> I remember working around it by downloading some kind of pack file from
> Microchip website. Don't have the original file anymore but I found
> something on my PC that is probably its unpacked contents. Among others,
> it has these directories:
>
> include/avr
> gcc/dev/
>
> There is also an xc8 directory in there.
>
> If this is what you have, then you're all set. According to my notes,
> for simple testing you can use -B and -I switches to point gcc to the
> location where you unpacked the file. If you don't want to bother with
> that, the files that need to be moved to /usr are:
>
> /usr/lib/avr/include/avr/ioavr128da28.h
> /usr/lib/avr/lib/avrxmega4/crtavr128da28.o
> /usr/lib/avr/lib/avrxmega4/libavr128da28.a
> /usr/lib/gcc/avr/5.4.0/device-specs/specs-avr128da28
>
> In Ubuntu case, 5.4.0 version in the path will need to be replaced with
> actual version number as found in Ubuntu.
>
> To avoid manual changes, I made a Debian package instead - nothing
> complicated, you just create a directory (say atpack) and place the
> files as if the directory was your filesystem root. Aside from that, you
> also need to create "atpack/DEBIAN" directory containing a file called
> "control"
>
> Package: avr-libc-avr128-atpack
> Version: 20250428
> Architecture: all
> Section: otherosfs
> Maintainer: Name <email>
> Priority: optional
> Depends: gcc-avr (>= 5.4.0+Atmel3.6.2-1), binutils-avr (>=
> 2.26.20160125+Atmel3.6.2-1)
> Description: Standard C library for Atmel AVR development - AVR128
>   Standard library used to the development of C programs for the
>   Atmel AVR micro controllers. This package contains static
>   libraries as well as the header files needed.
>   .
>   These libraries are downloaded from microchip website
>   as a non-free software
>
> Run "fakeroot-sysv dpkg -b atpack ." and you are golden (first parameter
> is the directory where you put the files, the second parameter - the dot
> - decides where the resulting .deb file ends up being.) You may need
> dpkg-dev package installed for the -b switch to work and the
> fakeroot-sysv command comes from fakeroot package.
>
> Install with "dpkg -i avr-libc-avr128-atpack_20220201_all.deb" (as root)
>
> Another option could be upgrading your Ubuntu to the new one - 25.04.
> Apparently, it has gcc-avr 14.2 which already contains the files from
> the pack file. Note that if you decide to create the package manually
> first and then attempt the upgrade, you will probably end up with
> conflict (same files in two packages.) Uninstalling the manually created
> package before running the upgrade should prevent that from happening.
>
> Dne 2025-04-28 18:39, Alan C. Assis napsal:
> > Hi KR,
> >
> > What avr-gcc version are you using?
> >
> > I'm getting this error: "avr-gcc: error: device-specs/specs-avr128da28:
> > No
> > such file or directory"
> >
> > I found a reference to it here:
> > https://www.avrfreaks.net/s/topic/a5C3l000000UlWyEAK/t193338
> >
> > I downloaded the Microchip.AVR-Dx_DFP.2.7.321.atpack file renamed it to
> > Microchip.AVR-Dx_DFP.2.7.321.zip and extract it, but I think it is
> > something ot xc8 from Microchip...
> >
> > Are you using Linux as well? I'm using Ubuntu and just ran: "sudo apt
> > install avr-gcc". Could you please
> >
> > BR,
> >
> > Alan
> >
> > On Sun, Apr 27, 2025 at 7:49 AM <kr....@kerogit.eu> wrote:
> >
> >> Hi,
> >>
> >> thanks for the response and for the PR on GitHub.
> >>
> >> > Ok. If possible, could you explain the issue with github?
> >>
> >> Well, it's a personal thing. Aside from the usual gripe about big
> >> corporation there is also a clause in their Terms of Service that
> >> requires the user to "agree to submit to the exclusive jurisdiction
> >> and
> >> venue of the courts located in the City and County of San Francisco,
> >> California." And that's certainly something I don't agree with.
> >>
> >> > I think in this case we could add _bm and _bp as exceptions as well.
> >>
> >> The _bm case is the most prevalent in the current source so that's a
> >> great help. There are currently two cases of _gp and around 10 cases
> >> of
> >> _gc so that should be manageable to redefine in the architecture code.
> >> It also seems like I missed a 5th suffix - _gm - but that also has
> >> around 10 uses currently.
> >>
> >> Even with the bm exception though, the nxstyle tools reports mixed
> >> case
> >> errors. Apparently, it cannot apply the exception for the line of code
> >> which looks like this:
> >>
> >> ret = (VPORTA.IN & (PIN2_bm | PIN3_bm)) >> 2;
> >>
> >> Splitting it into two lines works though and it should yield the same
> >> result in the machine code.
> >>
> >> ret = (VPORTA.IN & (PIN2_bm | PIN3_bm));
> >> ret >>= 2;
> >>
> >> I'll incorporate these changes to the next revision of the patch
> >> series
> >> and also submit a patch for the nxstyle.c
> >>
> >> >
> >> >> 2. These patches depend on "nuttx/clock: make NSEC_PER_USEC and others
> >> >> long" (ac42add946) being applied. It is only present in NuttX master
> >> >> branch and needs to be cherry-picked for testing on the branch based
> >> >> on
> >> >> release 12.9
> >> >>
> >> >>
> >> > Could you please give more details here?
> >>
> >> Since the fixes were applied to the master branch, I expect the
> >> remaining patches in the series to go there as well - in which case
> >> everything is sorted and nothing else needs to be done, the patch
> >> ac42add946 is present there. The issue why that patch is needed is
> >> explained in
> >> https://lists.apache.org/thread/xzor3tjy9jozlmox82frd27v969b37l4 . In
> >> short - without this patch, avr-gcc will produce malfunctioning code
> >> when converting between ticks and time.
> >>
> >> Hope I didn't miss any questions, please point it out if I did. Other
> >> than that, I will try to submit second version of the patch series
> >> during the next week.
> >>
> >> Thanks for the review.
> >>



-- 
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

Reply via email to