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

 
 
> HI-TECH PICC18 и распределение памяти, Вопрос к специалистам
SergR
сообщение Mar 23 2007, 11:24
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 288
Регистрация: 25-06-05
Пользователь №: 6 304



Я раньше работал с PIC16, там было всё понятно. Можно было написать
bank1 unsigned char var1;
И я знал где (по крайней мере в каком банке) находится моя переменная и сколько в этом банке есть ещё места.

Не давно я занялся проектом с процессором PIC18f4550 использую компилятор picc-18_9.50pl3_25jan2007. И у меня возникли вопросы с распределением памяти компилятором:

1. Что это и где их физическое расположение? RAM, BIGRAM, COMRAM, NVRAM

2. У меня есть структура:
...
#define STEC_STR_Length 83 // Размер Стека в Байтах

typedef volatile struct
{
unsigned char STEC_BODY[STEC_STR_Length];
unsigned char START_ADR;
unsigned char Quantity_Byte;
}STEC_STR;
...

Всё компилится прекрасно и выдаёт сообшение...

Data space:
RAM used 1ADh ( 429) of 400h bytes ( 41.9%)
BIGRAM used 18Eh ( 398) of 400h bytes ( 38.9%)
COMRAM used 10h ( 16) of 60h bytes ( 16.7%)
NVRAM used 0h ( 0) of 100h bytes ( 0.0%)
... вроде есть куча свободного места, но если поменять STEC_STR_Length со значения 83 на 84 то при компиляции будет ошибка:

(593) can't find 0x102 words (0x102 withtotal) for psect "bss" in segment "RAM"
(908) exit status = 1

В общем с чем это всё едят и как с ним бороться?


--------------------
Go to the top of the page
 
+Quote Post



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

 


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


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