Не могу в компиляторе создать переменные суммарно больше 30 байт - компилятор выдаёт ошибку нехватки памяти.
Переменные в IRAM. Попробовал перенести некоторые в XRAM (она есть в МК - 1024 байта) - объём кода программы резко растёт, почти на треть!
До этого с i51 не работал.
Но в описании к МК указано:
SRAM
• 128 bytes internal direct access RAM (DATA, use keyword data to declare in C language program)
• 128 bytes internal indirect access RAM (IDATA, use keyword idata to declare in C language program)
• 1024 bytes internal extended RAM (internal XDATA, use keyword xdata to declare in C language program)
ps
Это указано в ограничениях компилятора (((
Понять бы причину ((
A maximum of 32 bytes is used internally. This depends on the used statements.
ps
проблемы нет: это ограничение компилятора, попытка сделать универсальный компилятор под все типы 8051
Автор обещал как-нибудь посмотреть
pps
Проблема решена: В меню компилятора 2.0.16.0 есть соответствующая настройка
Отредактировано Александр Д. (2024-04-30 09:53:53)