Перейти к содержанию
    

Как заставить IARSTM8+ST-Link не трогать EEPROM?

Данные в EEPROM объявляю так #pragma location=".eeprom.noinit", но они обновляются при каждой заливке.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Данные в EEPROM объявляю так #pragma location=".eeprom.noinit", но они обновляются при каждой заливке.

 

Проверьте опции проекта, кажется Debug, там где устанавливается опции программатрора и порты.

Там есть выбор, что затирать перед "заливкой" - всю память (это Ваш случай), или только программную,

без EEPROM, INFO и прочих.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверьте опции проекта, кажется Debug, там где устанавливается опции программатрора и порты.

Там есть выбор, что затирать перед "заливкой" - всю память (это Ваш случай), или только программную,

без EEPROM, INFO и прочих.

Явно в опциях проекта нигде этого нет. Если только командной строкой в Exta options, но как это указать я не нарыл.

post-6871-1478507790_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Явно в опциях проекта нигде этого нет. Если только командной строкой в Exta options, но как это указать я не нарыл.

 

Для MSP430

post-45848-1478589351_thumb.png

 

те я посмотрел бы Debugger -> ST-Link

 

Изменено пользователем k155la3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

те я посмотрел бы Debugger -> ST-Link

Нет там ничего такого. Пусто.

Кстати, для прошивки можно использовать STVP, там всё настраивается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет там ничего такого. Пусто.

можно использовать STVP, там всё настраивается.

STVP пользую, но интересует дебаг! Заливать одним софтом а отлаживать в другом, согласитесь геморно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

STVP пользую, но интересует дебаг! Заливать одним софтом а отлаживать в другом, согласитесь геморно!

Не соглашусь. Видимо, вы ещё не видели, что такое по-настоящему "геморно" :wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В IAR это делается при объявлении переменных:

__no_init __eeprom uint8_t s;

 

__no_init - инф. о том, что переменная не требует инициализации. Компилятор и не генерирует код, который ее будет инициализировать.

__eeprom - что она расположена в области адресов EEPROM. Не более.

 

"Затирать" ли эту (или какую-либо другую) область при "прошивке" ( точнее - до нее) - решается на уровне дебаггера-программатора.

 

Возможно - какая-либо специфическая #pragma. Очевидно зависит от target-платформы.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...