Complete patched source for last years new devices.

Go To Last Post
11 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Does any one have a complete set of unix sources which work with the AtTiny45. When I built (avr-) gcc 3.4.5 and (avr-) binutils 2.16 and avr-libc from scratch the tiny45 was not supported. When I applied the new-devices patch I got a nice bit of assembler but no interrupts. (the whole table maps to bad interupt). If its possible I dont want to debug this at this level I just want a working set of code that doesnt require a microsoft liscense.

Neither fink nor darwinports nor the freebsd ports collection seem to have the new devices in them in their stable releases.

I should have asked before I got to this point. I have already had to patch and build avrdude and avra for the device and am at my wits end.

I dont mind building from scratch from complete sources. I am trying to get this on osx panther but if I have a working set of source for either solaris or freebsd I can figure it out from there.

Please help.

(after reading most of the I am sure to be blugeoned for this I just want a working compiler on my platform so I can focus on my own code waaaah.)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Actually that was the new device patche(s). I patched both the binutils and the gcc.
Not exactly a trivial task

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ok.

So I figured out why I wasnt getting the interrupts the interupt vector defined was TIM0_OVF_vect not TIMER0_OVF_vect.

Making a complete jerk of yourself in a public forum always works this way.

I still would like to find a patched source tree.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There's no point in shipping a patched source tree around, as this
would require supplying another multi-megabyte archive that needs to
be regularly maintained. The "new device" patches of my FreeBSD ports
(which are publically visible through the CVSweb interface of the
FreeBSD project) are somewhat a by-product of me maintaining these
ports, and adding new devices as we do support them in avr-libc.

The main issue here is that GCC and binutils move much slower than the
AVR world does. While a relatively small project like avr-libc can
follow the AVR pace rather easily, this is sheer impossible for the
stock GCC and binutils, where the AVR target support is just a very
tiny issue. So as long as we have to patch binutils and GCC for each
new AVR device, we have to live with that situation.

The way out of the dilemma is to have someone who actively maintains
binary packages for each individual system, so the number of
maintainers who have to deal with the patches is limited. This works
pretty well right now for Gentoo Linux and FreeBSD, moderately well
for Win32 (with a rather long release cycle due to the sheer volume of
recompiling all and everything for each new release), and seems to not
work at all for any other Linux systems. I've got no idea about MacOS
X and its package systems, so far I haven't seen the guys behind that
who maintain the AVR-related ports there.

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This should work for you:

http://www.kieltech.de/uweswiki/...

My patchset is not completly up-to-date, but the Tiny45 patches are included.

Regards:

Uwe

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

dl8dtl wrote:
This works
pretty well right now for Gentoo Linux and FreeBSD, moderately well
for Win32 (with a rather long release cycle due to the sheer volume of
recompiling all and everything for each new release), and seems to not
work at all for any other Linux systems.

Note that I'm working to shorten up the release cycles on the Windows platforms so this doesn't happen again.

We used to have someone who maintained the Linux port, but he hasn't been active in the community for some time.

Eric

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ok so we finally upgraded our dns server to FreeBSD 6 and Joerg's patches are there in the ports tree. I am currently building the patched sources out of the work directories. You could say that my problem was that our FreeBSD system was in the old current.

At this point i would agree that if you have access fo a FreeBSD-CURRENT system there is no point in maintaining seperate code tree. You go to the port directory and you make (you make install if you want to make sure it compiles in a sane environment). Then you cd to the work directory make clean; make distclean; and tar up the result. It compiles beautifully on OSX as well as solaris 9 and 10.

Having access to a freebsd-current system beats the hell out of digging around until you find someone whos dug the patches out of the FBSD and put enought of them on line to build from scratch. (And thank god, or at least Uwe for that!!!) However that leaves our the rest of us.

I will try to contact the maintainer for the darwinports http://www.darwinports.org/darwinports/dports/cross/avr-gcc/ (pguyot_at_kallisys.net) about getting the new-devices patch into his builds. As I have one two many systems to hand roll these things each time I put the patched source from the ports collection at http://www.digithink.com/pub/unix/source/avr/ and will try my hand at building darwin packages.

I understand why it is the way it is I am just wondering if there isnt a more streamlined way to get the freebsd work to the rest of the world. In the mean time I appreciate the work that you Joerg is doing to maintain the avr-gcc collection and the others such as Uwe who have been making it work for the rest of us.

Don.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The only additional thing I could offer is a mailing list (like a
simple alias on my local machine) where I'm going to send some
announcment to whenever I update the patches on my FreeBSD ports.
Whoever is interested in getting added there might just send me an
email.

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As a quick follow up to this. I did contact the darwinports maintainer but did not hear back from him. Two weeks ago I updated my darwinports and tried the new one and it appears to be quite broken in the binutils. I then went to fink but decided that waiting for it to install 36 depencancies into the /sw tree when most of them existed already was really not worth it.

I have posted a barebones binary (PPC) package which contains

avr-gcc-3.4.5
avr-binutils-2.16.1
and libc-1.4.3

at http://www.digithink.com/embedded/avr/AVRGCC-LIBC-20060501.dmg

with a description of how to create the package at. http://www.digithink.com/embedded/Avr/OSXToolChain

As a side note I just ran into this script based build discussed as part of using the avr-gcc chain on the mac http://www.harbaum.org/till/macavr/index.html. Like most of the builds I have seen outside of this forum it ignores the new device patches. (I am wondering if the cvs retrieval of the patches would be simple enough to script as well.). As I get more time I will return for avra and avrdude which I currently only patched for the devices that I needed. I also plan to update this binary as new patches are announced. Hopefully I can find someone who will build the intel package as well.

Cheers.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

> I am wondering if the cvs retrieval of the patches
> would be simple enough to script as well.

Probably, but by default, this HTTP server does not accept
requests from wget clients. I guess this is due to wget
users trying to recursively suck "all" files from such a site,
which will result in a fatal server load, as effectively this
will invoke a million CVS commands to produce the
requested files out of the CVS tree. You can work around
this by using something else than wget to fetch the newdevice
patch, or by teaching wget to contact the Web server using
a different client name string.

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have been thingking along these lines for a while. Some sort of ports to packages framework.I typically wind up starting with the FreeBSD blessed source and patches when I need a stable piece of code. Most of the time the Patches dont break anything in the system V world (where I work). In the mean time I am on the mailing list for updates and we are rolling along towards the creation and maintainance of an OSX binary package.

http://www.avrfreaks.com/index.php?name=PNphpBB2&file=viewtopic&t=38593&postdays=0&postorder=asc&start=0&sid=200f88244be5871df544d00664526964

Spaeter.

DdDD