[llvm-dev] How to add new AVR targets?
Wilhelm Meier via llvm-dev
llvm-dev at lists.llvm.org
Wed Mar 4 02:10:13 PST 2020
The new are of xmega3 architecture, which is already included. So this
should be simple.
Where is the information about ISR-vector table, SRAM addresses and so
Am 04.03.20 um 11:03 schrieb Dylan McKay:
> Hey Wilhelm,
> This should be possible by editing the 'AVRDevices.td' TableGen
> definitions to add an entry for the newer chip types. You will need to
> instruct LLVM which features are available on the chip (such as extended
> LPM support), cross referencing with the instruction set manual for the
> AVR MCU you're adding to figure out what is allowed and what is not.
> If there are newer instructions not yet supported by the AVR backend, or
> if their are device-specific constraints not already handled by the
> backend in its AVRDevices feature declarations, then you will need to
> either extend the backend to support it, or declare the chip with a
> lower level of support than is strictly required as a workaround.
> Then after that, it should be possible to recompile the backend and
> target the new chip type with 'llc -march=avr -mcpu=tiny1614'. for example.
> *  -
> On Wed, Mar 4, 2020 at 10:19 PM Wilhelm Meier via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> I'm beginning to use the AVR backend. I ran into the problem, that newer
> (tiny1, mega0) µC as a tiny1614 are not supported. How do I add these to
> the AVR backend?
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
Vor dem Hirschberg 5
More information about the llvm-dev