Главная » Микроконтроллеры
Призовой фонд
на январь 2022 г.
1. 1000 руб
Сайт Паяльник
2. 50 руб.
От пользователей

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

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
Конструктор для сборки: предусилитель на лампе 6N3 Печатная плата для усилителя "LM3886 + AD825"
вверх