Erik Walthinsen wrote:
Weddington, Eric wrote:
XMega device support is coming out of Atmel. I'm reviewing a second
draft of patches for binutils at the moment. Joerg and
Georg-Johann have been reviewing this patches as well.
So, that means no support for over half of all devices available on
the market today (digikey carries 37 models, trunk supports 17) in
1.8.1? When can these binutils and gcc patches be expected, and when
would the next avr-libc release be after those are available?
Regarding device support, I would hold off doing any work until I
can confirm that everything is in order for gcc and avr-libc.
I really don't have that option, since I'm shipping products based on
chips that are not supported in this toolchain. I have to maintain
my own patches to all the tools in order to do my job. I've been
fighting this exact problem for over 3 years now.
Sorry to say that, but supporting each device in the compiler / binutils
is bit of --censored--.
Will GCC ever support all 1000 or 2000 or how many thousands of ARM
devices you find on the market? From different vendors, with different
instruction sets, different packages, different voltages, different
memory, different internal peripherals, different footprints -- you name it?
No.
Are professional developers that use ARM + GCC blocked wtherefore?
No.
They just add startup code, perhaps a linker script to describe memory
on their boards and compile for their architecture.
That's it.
Of course, you can wait until the device pops up in the toolchain. It's
comfortable but slow, but as a professional you might consider the bit
more work, bit less comfortable, but much fast approach explained in
http://gcc.gnu.org/wiki/avr-gcc#Supporting_.22unsupported.22_Devices
99.9% of what you need is the device header, maybe readily available in
AVR Libc, from the hardware vendor or by adjusting a sister device's
header to your needs.
The remaining 0.01% is setting the right command line options.
And if you do not like that either, hey, it's all free software!
Contribute to the tools!
For GCC, a new device is a one-liner -- provided core support is
available which is the case for XMEGA. For Binutils, a new device is a
one-liner. I am not sure what's more expensive: Hangin around for 3
years or add 2 lines to the tools?
Björn Haase from Bosch contributed the complete relaxing framework so
that they can use devices with more then 64KiWorks flash.
And other professionals do really wait 3 years or more for a one-liner?
Johann
_______________________________________________
AVR-libc-dev mailing list
AVR-libc-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-libc-dev