Bu hata nedir arkadaşlar

Başlatan hoguz, 10 Ocak 2007, 14:47:05

hoguz

Programı derledğimde bu hatayı verıyor bilen varmı arkadaşlar

MFRC500UC.C(2667): error C249: 'DATA': SEGMENT TOO LARGE

aslan_korhan

Bir olayın olması gerektiğinden uzun olduğunu söylüyor. Ama hangi dilde kullandığını ve programı bilmediğimizden fazla birşey söyleyemiyorum...

Kodunu buraya koyarsan yardımcı oluruz...
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

kurumahmut

Bu Keil C51 C Compiler hatasıdır. Hiç bir bilgi yazmadan soru sorman gerçekten hoş bi davranış değil. Sorununa gelince


Ramde kullandığın segmentte (yani ramin kapasitesinden) fazla değişkenin var. Bu sorunu çözmek için data memory deki değişkenleri azaltmalısın. Bak mesela

char a [] = "ssssssssssssssssssssssss";
char a1 [] = "ssssssssssssssssssssssss";
char a2 [] = "ssssssssssssssssssssssss";
char a3 [] = "ssssssssssssssssssssssss";
char a4 [] = "ssssssssssssssssssssssss";
char a5 [] = "ssssssssssssssssssssssss";
char a6 [] = "ssssssssssssssssssssssss";

tanımladım bolca senin hatanı verdi...

İkinci bir yolda

Project / Option for target menüsünden Memory Model'i large yap sorun halolacaktır. Ama bu da başka bir problem olacaktır. RAM

http://www.esacademy.com/automation/docs/c51primer/c02.htm

hoguz

Cevabın için teşekkür ederim,aslında ben assembler yazıyorum ama elimdeki örnek c166 mikrokontroller ıcın yazılmıs kucuk bır program bunu 8051'e cevırmeye calısıyorum.

hoguz

haklısın açıklama yazmadım sımdı sorunum su ben assembler yazıyorum aslında ama elımde bır entegrenın örnek C calısma kodları var c166 işlemci için yazılmıs 16 bit işlemci ben 8051'e adapte etmeye calısıyorum bana bu konuda yardımcı olabilirmisiniz.Saygılarımla.