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

 
 
> MSP430. Размещение массива в FLASH., ВОпросы по размещению данных в FLASH.
JohnKorsh
сообщение Feb 16 2015, 12:14
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 6-01-05
Из: Россия, Москва
Пользователь №: 1 820



Пишу для MSP430. Мне необходимо разместить во FLASH массив, который будет програмно переписываться.
Как мне объяснить линковщику, что я хочу разместить этот массив в отдельном сегменте, и поместить этот
сегмент после сегментов исполняемого кода? Совпадают ли границы сегментов с аппаратными границами FLASH
сегментов микроконтроллера MSP430, то есть могу я стирать сегмент, пользуясь его адресом,
полученным при компиляции или самому надо озаботиться, чтобы этот адрес совпадал с началом аппаратного
FLASH сегмента?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
JohnKorsh
сообщение Feb 18 2015, 05:50
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 6-01-05
Из: Россия, Москва
Пользователь №: 1 820



Добрый день!
Ещё два вопроса возникли по ходу дела.
Использую MSP430F5528.
Не поскажет ли кто, правильно ли я понял, что
Information Memory как раз и предназначена для
хранения коэффициентов, которые нужно
помнить при отключени питания, в User Guide просто
написано, что она есть, линковщик её не трогает?
Железо пока не готово, поэтому, отлаживаю под
Симулятором. Не сталкивался ли кто с тем,
что блоки FLASH под Симулятором не стираются, как надо?
Для инициализации процесса стирания использовал функцию,
найденную в Example (void Flash_SegmentErase(uint16_t *Flash_ptr)).
В попытках стереть сегмент переписал её не Ассемблере
(пример из User Guide) - нет результата.
При отладке выбранный сегмент не устанавливается в 0xFF,
это результат неверной работы Симулятора, или моё недопонимание?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Feb 19 2015, 08:10
Сообщение #3


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(JohnKorsh @ Feb 18 2015, 09:50) *
Не поскажет ли кто, правильно ли я понял, что
Information Memory как раз и предназначена для
хранения коэффициентов, которые нужно
помнить при отключени питания, в User Guide просто
написано, что она есть, линковщик её не трогает?

Это обычная флешь, просто сегменты другого размера (1/2, 1/4 от стандартного)
Хотя.. На днях был случай забавный.
Прошивал через BSL плату на f149, забыл включить питание. Но прошилась, на фантомном от программатора.
Основная флешь прошилась, инфо - нет.

Для линкера это тоже совершенно обычный участок флеш-памяти.
Ещё в сегменте А иногда хранятся заводские калибровки внутреннего генератора

Цитата(jcxz @ Feb 19 2015, 07:54) *
У меня к примеру InfoA- и InfoB-память стирается при каждой перепрошивке устройства (хотя туда не слинкованы никакие секции).

mass erase?
можно защитить от стирания инфо сегменты, но это запароленная операция


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post



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

 


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


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