Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

STM8. Урок 7. Выбор и настройка модели памяти

При расширении задач контроллера растет потребность в использовании ОЗУ контроллера, и когда объем необходимого ОЗУ становиться больше, чем 255 байт при стандартных настройка компилятор cosmic выдает ошибку:

#error clnk Debug\info.lkf:1 segment .ubsct size overflow (99)

где в скобках указывается на сколько использование ОЗУ необходимо уменьшить. И компилятору все равно, что в контроллере 2 кБ ОЗУ.

Решение данной проблемы можно прочитать на странице 39 документа STM8 Cross Compiler User's Guide.pdf 

Для решения данной проблемы, а также если ваша программа на контроллере стала занимать объем более 64 кБ, необходимо изменить модель памяти.

В зависимости от объема flash памяти (меньше 64 кБ или больше) и используемой памяти ОЗУ есть 4 модели. По-умолчанию используется первая модель, поэтому поддерживается только 255 байт ОЗУ и максимальный объем кода в 64 кБ в пользовательском проекте.

  1. Если используется объем flash памяти меньше 64 кБ и используется меньше 255 байт ОЗУ: Stack Short (mods0)
  2. Если используется объем flash памяти меньше 64 кБ и используется все доступное ОЗУ: Stack Long (modsl0)
  3. Если используется объем flash памяти больше 64 кБ и используется меньше 255 байт ОЗУ: Stack Short (mods)
  4. Если используется объем flash памяти больше 64 кБ и используется все доступное ОЗУ: Stack Long (modsl)

Настройка проекта в IDE STVD. Для контроллера STM8S105K6 объемом 32 кБ и 2 кБ ОЗУ выбираем модель памяти Stack Long (modsl0)

 

После этого проект компилируется без ошибок.

Выбор различных моделей памяти позволяет оптимизировать код по-размеру и скорости выполнения за счет использования при компиляции более коротких и быстрых команд

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
UNI-T UT-61A 200 Вт усилитель класса D на IRS2092
вверх