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

 
 
> 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, 08:17
Сообщение #2





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



В принципе все работает , только без __flash компилятор не инициализирует значения массива а так всё нормально

#pragma location=0x1000
__flash const unsigned char DATA[32][16]={//0x00 Ford_Fokus_2
0x00,0x00,0x04,0x20,0x08,0x59,0xEF,0x00,0x5E,0x42,0x10,0x03,0x32,0x00,0x96,0xFF,
//0x01 Ford_Fokus_3
0x00,0x00,0x02,0x18,0x08,0x99,0x22,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0xFF,
//0x02 Ford_Mondeo
Go to the top of the page
 
+Quote Post



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

 


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


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