Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: error C279 : `DATA`: SEGMENT TOO LARGE
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
schulgin
Только начал работать в Кейле вообще (V8.12), взломанная. Сделал не маленькую по моим меркам программку для C8051F310, которая нормально компилировалась и даже с помощью Кейловского отладчика отладил. Но вот на определённом этапе после добавления 3-4 строк текста он (Кейл) при компиляции выдал ошибку "error C279 : `DATA`: SEGMENT TOO LARGE", которую уже никакими для меня понятными действиями не удаётся убрать. Люди добрые подскажите в чём дело. Если это засада взломанной версии, то помогите с "железноработающей" версией.
zltigo
Цитата(schulgin @ Mar 21 2008, 19:09) *
Сделал не маленькую по моим меркам программку...

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

Для меня всё, что Вы сказали, полная непонятность, поскольку я малёк и так глубоко мне пока не забраться, а программа всего-то 194 строки. А, всё-таки, что это за ошибка? Жду с нетерпением ответов, правда, до понедельника.
Omen_13
Адрес одной из переменных вышел за разрешенный линкеру диапазон
rezident
Цитата(schulgin @ Mar 21 2008, 21:09) *
Но вот на определённом этапе после добавления 3-4 строк текста он (Кейл) при компиляции выдал ошибку "error C279 : `DATA`: SEGMENT TOO LARGE", которую уже никакими для меня понятными действиями не удаётся убрать.
Линкер сообщает вам, что выделенный для данных (если программа на Си, то глобальных и/или статических - static переменных) сегмент слишком мал, чтобы поместить в него все используемые переменные. Может вы в этих 3-4 строках какой-то массив большой создали?
schulgin
Цитата(rezident @ Mar 22 2008, 00:14) *
Линкер сообщает вам, что выделенный для данных (если программа на Си, то глобальных и/или статических - static переменных) сегмент слишком мал, чтобы поместить в него все используемые переменные. Может вы в этих 3-4 строках какой-то массив большой создали?

Именно так и есть, в начале программы был создан массив, а затем добавлен текст, после которого и линковалось, что и сбило с толку, а по дороге домой вспомнился массив и мысль пошла в нужную сторону. В связи с этим кто-бы объяснил для начинающего, как в СИ для C8051F310 правильно организовать массив.
Спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.