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

 
 
> Iar объявление динамического массива, при компиляции выскакивает ошибка линковщика
memory
сообщение Apr 23 2012, 17:13
Сообщение #1





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



Iar объявление динамического массива
Привет всем участникам форума, проблема в следующем - есть глобальный массив unsigned char DATA[32][16], при компиляции выскакивает ошибка линковщика
Error[e16]: Segment CSTACK (size: 0x100 align: 0) is too long for segment definition.
At least 0xb more bytes needed.
The problem occurred while processing the segment placement command
"-Z(DATA)CSTACK+_..X_CSTACK_SIZE=_..X_SRAM_BASE-_..X_SRAM_END", where at the moment of placement the available memory ranges were "DATA:40b-4ff" Reserved ranges relevant to this placement: DATA:100-304 NEAR_I
DATA:305-3ca NEAR_Z
DATA:3cb-40a RSTACK
DATA:40b-4ff CSTACK
Насколько я понял этот массив передается через стек и не вмещается в нем, как объявить его динамически, то-есть привязать конкретной области памяти флеша.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
memory
сообщение Apr 24 2012, 04:21
Сообщение #2





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



Спасибо всем откликнувшимся, директива __flash решила проблему на 99% , уже и массив в ОЗУ не располагается, и место на стек хватает. Как сделать так, чтобы массив располагался в конце кода программы, например его первый элемент должен находится в ячейке 500hex. Этот массив будут редактировать люди, не имеющие отношение к программированию, надо сделать так чтобы дамп программы а именно массив хорошо читался в блокноте.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 18:05
Рейтинг@Mail.ru


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