avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] avrxmega7 device-not-found


From: Sagar Pinjarkar
Subject: Re: [avr-gcc-list] avrxmega7 device-not-found
Date: Fri, 20 Nov 2015 11:57:29 +0530

try this

http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx

-- 

Thanks & Regards,
Sagar Pinjarkar
Embedded Project Lead.
MEIS Pvt. Ltd

 


On Fri, Nov 20, 2015 at 11:41 AM, Senthil Kumar <address@hidden> wrote:
Hi Ajay,

Like I said, avrxmega6 (or 7) are not real devices and don't have device headers that define memory addresses for the various peripherals. They only represent variants of the AVR architectecture (different ISA, memory map etc..). Yes, the compiler can generate code targeting avrxmega6 - try compiling code that doesn't use any device specific details and you'll see that it does work.

You really should pass the actual device you're using to -mmcu. That is, you should be passing -mmcu=atxmega256a3bu. You most likely are using an old compiler that still has the bug this commit (https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=fa5a8e68df5b1d683dd94ce81b7e0a471f4de610) fixed a while back. 

Atmel publishes a Linux toolchain - can you give that a try? You can download it from http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx

Regards
Senthil

On Fri, Nov 20, 2015 at 11:14 AM, Ajay Garg <address@hidden> wrote:
Yep, I can understand what the issue is; it is just that I don't know how to resolve it.

The point is, using "avr-gcc --target-help" lists "avrxmega6" as one of the supported targets, then I fail to understand why the "device not found" error is emitted.

More strangely, things work fine for some targets ("atmega8" for example), but not for others ("avrxmega6" for example).


So, I will be grateful if someone could explicitly tell me what to do to get things working for "avrxmega6" target.



Thanks and Regards,
Ajay

On Fri, Nov 20, 2015 at 10:58 AM, Adisak Anusornsrirung <address@hidden> wrote:
you need to add your mcu type in ave/io.h file.
 
 
 
From: Ajay Garg
Sent: Friday, November 20, 2015 12:05 PM
Subject: Re: [avr-gcc-list] avrxmega7 device-not-found
 
"avrxmega6" does not work either :(


############################################################
address@hidden:~$ avr-gcc -mmcu=avrxmega6 ledblink.c -o ledblink.o
In file included from ledblink.c:2:0:
/usr/lib/avr/include/avr/io.h:428:6: warning: #warning "device type not defined" [-Wcpp]
#    warning "device type not defined"
      ^
In file included from ledblink.c:3:0:
/usr/lib/avr/include/util/delay.h:90:3: warning: #warning "F_CPU not defined for <util/delay.h>" [-Wcpp]
# warning "F_CPU not defined for <util/delay.h>"
   ^
/usr/lib/avr/include/util/delay.h:95:3: warning: #warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed" [-Wcpp]
# warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
   ^
ledblink.c: In function ‘main’:
ledblink.c:16:9: error: ‘DDRC’ undeclared (first use in this function)
         DDRC |=1<<PC2;  /* PC2 will now be the output pin */
         ^
ledblink.c:16:9: note: each undeclared identifier is reported only once for each function it appears in
ledblink.c:16:19: error: ‘PC2’ undeclared (first use in this function)
         DDRC |=1<<PC2;  /* PC2 will now be the output pin */
                   ^
ledblink.c:19:17: error: ‘PORTC’ undeclared (first use in this function)
                 PORTC &= ~(1<<PC2);/* PC2 LOW */
############################################################

 
On Fri, Nov 20, 2015 at 8:23 AM, Adisak Anusornsrirung <address@hidden> wrote:
Did you try
-mmcu=avrxmega6
 
 
avrxmega6
“XMEGA” devices with more than 128 KiB of program memory.
mcu = atxmega128a3, atxmega128a3u, atxmega128b1, atxmega128b3, atxmega128c3, atxmega128d3, atxmega128d4, atxmega192a3, atxmega192a3u, atxmega192c3, atxmega192d3, atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256a3u, atxmega256c3, atxmega256d3, atxmega384c3, atxmega384d3.
avrxmega7
“XMEGA” devices with more than 128 KiB of program memory and more than 64 KiB of RAM.
mcu = atxmega128a1, atxmega128a1u, atxmega128a4u.
 
 
 
 
 
 
 
From: Ajay Garg
Sent: Friday, November 20, 2015 8:19 AM
Subject: Re: [avr-gcc-list] avrxmega7 device-not-found
 
Same response Shawn ::


############################################################
address@hidden:~$ avr-gcc -mmcu=atxmega256a3bu ledblink.c -o ledblink.o | grep 256
In file included from ledblink.c:2:0:
/usr/lib/avr/include/avr/io.h:428:6: warning: #warning "device type not defined" [-Wcpp]
#    warning "device type not defined"
      ^
In file included from ledblink.c:3:0:
/usr/lib/avr/include/util/delay.h:90:3: warning: #warning "F_CPU not defined for <util/delay.h>" [-Wcpp]
# warning "F_CPU not defined for <util/delay.h>"
   ^
/usr/lib/avr/include/util/delay.h:95:3: warning: #warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed" [-Wcpp]
# warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
   ^
ledblink.c: In function ‘main’:
ledblink.c:16:9: error: ‘DDRC’ undeclared (first use in this function)
         DDRC |=1<<PC2;  /* PC2 will now be the output pin */
         ^
ledblink.c:16:9: note: each undeclared identifier is reported only once for each function it appears in
ledblink.c:16:19: error: ‘PC2’ undeclared (first use in this function)
         DDRC |=1<<PC2;  /* PC2 will now be the output pin */
                   ^
ledblink.c:19:17: error: ‘PORTC’ undeclared (first use in this function)
                 PORTC &= ~(1<<PC2);/* PC2 LOW */
############################################################


Clearly either I am missing something, or something is really screwed up :-\


 
On Fri, Nov 20, 2015 at 2:38 AM, Shawn Rich <address@hidden> wrote:
The avr libc user manual shows that part under supported devices. Have you tried it?

http://www.nongnu.org/avr-libc/user-manual/index.html


shawn
 
On Thu, Nov 19, 2015 at 3:56 PM, Ajay Garg <address@hidden> wrote:
Senthil,

(I am just a newest newbie, but,) Assuming your hypothesis is correct, what should I pass to compile the code on http://www.atmel.com/tools/XMEGA-A3BUXPLAINED.aspx, using Atmel ATxmega256A3BU microcontroller?


_______________________________________________
AVR-GCC-list mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list




--

~/shawn



--
Regards,
Ajay

_______________________________________________
AVR-GCC-list mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list



--
Regards,
Ajay



--
Regards,
Ajay

_______________________________________________
AVR-GCC-list mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list



_______________________________________________
AVR-GCC-list mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list



reply via email to

[Prev in Thread] Current Thread [Next in Thread]