Avr-gcc 3.4.5 nechce zkompilovat – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Avr-gcc 3.4.5    nechce zkompilovat – Mikrokontroléry – Fórum – Programujte.comAvr-gcc 3.4.5 nechce zkompilovat – Mikrokontroléry – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
syslik0
Duch
16. 1. 2008   #1
-
0
-

s avr jsem zacatecnik takze pls za pochopení. Používám linux a kompiluju pres avr-gcc 3.4.5 . hw a makefile jsem použil z tohoto několik let stareho članku http://www.abclinuxu.cz/clanky/show/51521 a kod v c jsem pouzil odtud http://robotika.cz/guide/blink/cs . ledka bliká pekne ale kdyz sem se snazil zkompilovat projekt hello world z prvniho zminovneho clanku

#include <avr/io.h>


void print (char *string){
while (*string) {
loop_until_bit_is_set(USR, UDRE);
UDR = *string;
string++;
}
return;
}

int main(void) {
/* UART init */
sbi(UCR, TXEN);
sbi(UCR, RXEN);
UBRR = 59;

while (1) {
print ("Hello world.\n");
}
return 0;
}


tak nastaly chyba
avr-gcc -g -Wall -O2 -mmcu=atmega8    -c -o helloword.o helloword.c

helloword.c: In function ‘print’:
helloword.c:5: error: ‘USR’ undeclared (first use in this function)
helloword.c:5: error: (Each undeclared identifier is reported only once
helloword.c:5: error: for each function it appears in.)
helloword.c: In function ‘main’:
helloword.c:14: warning: implicit declaration of function ‘sbi’
helloword.c:14: error: ‘UCR’ undeclared (first use in this function)
helloword.c:16: error: ‘UBRR’ undeclared (first use in this function)
make: *** [helloword.o] Error 1


také jsem zjistil že cbi a sbi nejsou v nových verzích avr-gcc podporovány.

měl bych teda použít starší verzi gcc-avr nebo nejak nahradit cbi a sbi ? Opakuji jsem zacatecnik takze pls pochopitelne vystveleni. dik

Nahlásit jako SPAM
IP: 88.146.141.–
Reklama
Reklama
durmitor
~ Redaktor
0
Věrný člen
19. 1. 2008   #2
-
0
-

Zdravím, bohužel pod Linuxem nedělám a na tomto portálu se neobjevuje mnoho lidí se zkušenostmi na AVR a zároveň linuxu. Doporučoval bych to zkusit na nějakém čístě linuxovém fóru.

Nahlásit jako SPAM
IP: 77.236.208.–
Nejhorší není nemít práci. Nejhorší je nechtít práci...
syslik0
Duch
19. 1. 2008   #3
-
0
-

takze sem zacal pouzivat pod wine codeVision. zatim spokojenost

Nahlásit jako SPAM
IP: 88.146.141.–
durmitor
~ Redaktor
0
Věrný člen
19. 1. 2008   #4
-
0
-

Já ho pro práci používám taky. Je to dobrý nástroj... V kurzům jsem se mu vyhnul prootže ne všichni si umí "sehnat" plnou verzi.

Nahlásit jako SPAM
IP: 77.236.208.–
Nejhorší není nemít práci. Nejhorší je nechtít práci...
Pazourek
~ Anonymní uživatel
2 příspěvky
31. 1. 2008   #5
-
0
-

Problem neni v prekladaci. Pokud se pozorne podivate do katalogoveho listu CPU ATmega8 (str.154), zjistite, ze tam zadny registr USR, UBRR ani UCR neni. Pokud tyto registry spravne pojmenujete, jiz lze prelozit bez problemu. Spravne pojmenovani registru lze najit v hlavickovych souborech k danemu procesoru, zde "iom8.h". Najdete jej nejspis v "/opt/cross/avr/include/avr/". Stejne tak prekladac nezna a nemuze znat funkci "sbi" a "loop_until_bit_is_set", ty je nutne nadefinovat bud makrem, nebo pouzit ponekud jiny zapis. Pro snadnejsi vyvoj Vam mohu doporucit editor Code::Blocks nejlepe v nejake verzi SVN. Spravna implementace programu pro avr-gcc je tedy treba tato:

#include <avr/io.h>

void print (char *string){
while (*string) {
while( UCSRA &(1<<UDRE) );
UDR = *string;
string++;
}
return;
}

int main(void) {
/* UART init */
UCSRB|=(1<<TXEN)|(1<<RXEN);
UBRRL = 59;

while (1) {
print ("Hello world.\n");
}
return 0;
}

Nahlásit jako SPAM
IP: 81.19.7.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 22 hostů

Podobná vlákna

Visual c++ vs gcc — založil rodinne.baleni.ryze

C::B gcc fPIC — založil Miro1701

Kompilátory (GCC) — založil Bengo

C4droid s GCC pluginem — založil Doomista

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý