Łączenie kodu C z procedurą a51 w KEIL - jak rozwiązać błędy kompilacji?
KEIL - Łączenie kodu w c i a51
From: "Igor" <zbynekgo_at_nospam_poczta.onet.pl>
Subject: KEIL - Łączenie kodu w c i a51
Date: 31 Jan 2004 21:47:45 +0100
Cześć,
Mam następujący problem:
Chciałbym połączyć swój program w C razem z małą procedurką napisaną w a51.
Jeśli po prostu dodam oba pliki (*.c, *.a51) do targetu, wyskakuje mi błąd.
Próbowałem #Pragma src, #pragma asm i #pragme endasm. Jest może inna metoda?
Z góry dzięki
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
=======
From: "Marek Dzwonnik" <mdz_at_nospam_message.pl>
Subject: =?iso-8859-2?Q?Re:_KEIL_-_=A3=B1czenie_kodu_w_c_i_a51?=
Date: Sat, 31 Jan 2004 22:51:16 +0100
Użytkownik "Igor" <zbynekgo_at_nospam_poczta.onet.pl> napisał w wiadomości
news:74a0.000007da.401c1470_at_nospam_newsgate.onet.pl
Chciałbym połączyć swój program w C razem z małą procedurką
napisaną w a51. Jeśli po prostu dodam oba pliki (*.c, *.a51) do
targetu, wyskakuje mi błąd.
Poszukaj w "C51 primer":
http://www.esacademy.com/automation/docs/c51primer/c51prim.htm
a w szczególności rozdz 14 "Assembler Interfacing To C Programs"
--
Marek Dzwonnik, GG: #2061027 (zwykle jako 'niewidoczny')
"pl.misc.elektronika" podlega zasadom usenetu i Netykiety:
http://kni.ae.krakow.pl/html/netykieta/net_00.html
Nie zmieniaj tematu. CYTUJ (ale OSZCZĘDNIE). Pisz POD cytatem!
========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai
From: "swiniaczek" <swiniaczek_at_nospam_buziaczek.pl>
Subject: Re: KEIL - Łączenie kodu w c i a51
Date: Sun, 1 Feb 2004 13:44:07 +0100
Są odpowiednie dyrektywy linkujące i trzeba je używać i przećwiczyć ich
działanie
Przykład połączenia plików w asm i c:
//---------------------------TO JEST PLIK W C----------------------
unsigned char zmienna1;
unsigned char zmienna2;
extern void Moja_funkcja(void);
void main(void){
zmienna1=1;
zmienna2=2;
Moja_funkcja(); // wywołanie funkcji z pliku
Moj_kod.a51
++zmienna1;
++zmienna2;
while(1);
}
//-------------------------------------------------------------------------
;---------------------To jest plik Moj_kod.a51----------------------------
NAME Moj_kod
PUBLIC Moja_funkcja
EXTRN DATA (zmienna1)
EXTRN DATA (zmienna2)
Moj_kod SEGMENT CODE
RSEG Moj_kod
Moja_funkcja:
MOV A,zmienna1;
MOV A,zmienna2;
ret;
end;
;---------------------------------------------------------------------------
----
pozdrawiam:
radek
Użytkownik "Igor" <zbynekgo_at_nospam_poczta.onet.pl> napisał w wiadomości
news:74a0.000007da.401c1470_at_nospam_newsgate.onet.pl...
Cześć,
Mam następujący problem:
Chciałbym połączyć swój program w C razem z małą procedurką napisaną w
a51.
Jeśli po prostu dodam oba pliki (*.c, *.a51) do targetu, wyskakuje mi
błąd.
Próbowałem #Pragma src, #pragma asm i #pragme endasm. Jest może inna
metoda?
Z góry dzięki
--
> Wysłano z serwisu OnetNiusy: http://niusy.onet.pl