реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> error C279 : `DATA`: SEGMENT TOO LARGE
schulgin
сообщение Mar 21 2008, 16:09
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 27-06-07
Пользователь №: 28 739



Только начал работать в Кейле вообще (V8.12), взломанная. Сделал не маленькую по моим меркам программку для C8051F310, которая нормально компилировалась и даже с помощью Кейловского отладчика отладил. Но вот на определённом этапе после добавления 3-4 строк текста он (Кейл) при компиляции выдал ошибку "error C279 : `DATA`: SEGMENT TOO LARGE", которую уже никакими для меня понятными действиями не удаётся убрать. Люди добрые подскажите в чём дело. Если это засада взломанной версии, то помогите с "железноработающей" версией.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 21 2008, 16:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(schulgin @ Mar 21 2008, 19:09) *
Сделал не маленькую по моим меркам программку...

Значит мнения по поводу размера с линкером у Вас расходятся sad.gif. Берете map файл изучаете думаете.
И только по результатам анализа можете уже чего-то спрашивать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
schulgin
сообщение Mar 21 2008, 16:31
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 27-06-07
Пользователь №: 28 739



Цитата(zltigo @ Mar 21 2008, 19:21) *
Значит мнения по поводу размера с линкером у Вас расходятся sad.gif. Берете map файл изучаете думаете.
И только по результатам анализа можете уже чего-то спрашивать.

Для меня всё, что Вы сказали, полная непонятность, поскольку я малёк и так глубоко мне пока не забраться, а программа всего-то 194 строки. А, всё-таки, что это за ошибка? Жду с нетерпением ответов, правда, до понедельника.

Сообщение отредактировал schulgin - Mar 21 2008, 16:36
Go to the top of the page
 
+Quote Post
Omen_13
сообщение Mar 21 2008, 20:28
Сообщение #4


Силовик-затейник
****

Группа: Модераторы
Сообщений: 766
Регистрация: 18-02-07
Из: Столица солнечного Башкортостана
Пользователь №: 25 467



Адрес одной из переменных вышел за разрешенный линкеру диапазон


--------------------
"Вперёд на мины, ордена потом!"
"инжинер/разработчик создает нечто, в отличии от многих других профессий. В этом есть сходность с художниками или музыкантами"(с)CodeWarrior1241
Go to the top of the page
 
+Quote Post
rezident
сообщение Mar 21 2008, 21:14
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(schulgin @ Mar 21 2008, 21:09) *
Но вот на определённом этапе после добавления 3-4 строк текста он (Кейл) при компиляции выдал ошибку "error C279 : `DATA`: SEGMENT TOO LARGE", которую уже никакими для меня понятными действиями не удаётся убрать.
Линкер сообщает вам, что выделенный для данных (если программа на Си, то глобальных и/или статических - static переменных) сегмент слишком мал, чтобы поместить в него все используемые переменные. Может вы в этих 3-4 строках какой-то массив большой создали?
Go to the top of the page
 
+Quote Post
schulgin
сообщение Mar 24 2008, 05:39
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 27-06-07
Пользователь №: 28 739



Цитата(rezident @ Mar 22 2008, 00:14) *
Линкер сообщает вам, что выделенный для данных (если программа на Си, то глобальных и/или статических - static переменных) сегмент слишком мал, чтобы поместить в него все используемые переменные. Может вы в этих 3-4 строках какой-то массив большой создали?

Именно так и есть, в начале программы был создан массив, а затем добавлен текст, после которого и линковалось, что и сбило с толку, а по дороге домой вспомнился массив и мысль пошла в нужную сторону. В связи с этим кто-бы объяснил для начинающего, как в СИ для C8051F310 правильно организовать массив.
Спасибо
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 09:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01303 секунд с 7
ELECTRONIX ©2004-2016