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

 
 
> MSP430F5438A запись в INFO-D без стирания, Возможна ли запись байта без стирания сегмента
k155la3
сообщение Jun 7 2017, 13:37
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



MSP430F5438A
Работа с INFO-D флеш сегментом.
Задача - в заполненном иноформацией INFO-D поверх незаписанных байт по фиксированным адресам (содержащим == 0xFF )
прописать несколько байт данных. (не стирая данные по остальным адресам сегмента)

Примеры Ti представлены все со стиранием сегмента.

(?) При выполнении этой ф-ии тестовые байты пишутся, но и сегмент при этом стирается.
Допустим ли в принципе такой режим (не в формате ERASE+WRITE, а только WRITE) ?

Ф-ия выполняется из флеш-памяти.

Код
#define FLASH_BUSY 0x0001
#define FLASH_LOCK 0x0010
void INF_Lock( void )
{
    Flash_ptr = (char *) 0x1800; // INFO-D

    __disable_interrupt();

    FCTL3 = FWKEY;                            // Clear Lock bit
    FCTL1 = FWKEY + WRT;                         // Enable byte/word write mode

    //while ( (FCTL3 & FLASH_BUSY ) != 0 );     // test busy - для RAM
    *Flash_ptr = 0xAB;

     Flash_ptr++;

     //while ( (FCTL3 & FLASH_BUSY ) != 0 );     // test busy
     *Flash_ptr = 0xCD;

     FCTL1 = FWKEY;                                 // Clear WRT bit
     FCTL3 = FWKEY + FLASH_LOCK;           // Set LOCK bit

    __enable_interrupt();

    return;
}




Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Obam
сообщение Jun 7 2017, 14:31
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата
(?) При выполнении этой ф-ии тестовые байты пишутся, но и сегмент при этом стирается.

Это вопрос?
Ибо SLAU208P стр 344.
7.2 Flash Memory Segmentation
The flash main memory is partitioned into 512-byte segments. Single bits, bytes, or words can be written
to flash memory, but a segment is the smallest size of the flash memory that can be erased. подчёркнуто мной
Опять же стр 351 7.3.2.2 Initiating Byte or Word Write From Flash и пример, а стирание самостоятельным параграфом.

Таких фокусов (по дописи) я не делал, но запись в чистую память от стирания не зависит.


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Jun 8 2017, 06:25
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(Obam @ Jun 7 2017, 17:31) *
(1) Это вопрос?
....
(2) Ибо SLAU208P стр 344.
....
(3) Таких фокусов (по дописи) я не делал, но запись в чистую память от стирания не зависит.


(1) Собственно, исходя из чего. Я также (3), в режиме до-пере-записи флеш не исользовал.
А со стиранием работает без вопросов.
Но давеча начал писать этот код. Думал, "шас" за полчаса сделаем.
Параметризация прибора через терминал USART.
В нем есть команда ConfigLock, по которой в первый байт сегмента заносится 0x00.
При попытке выполнить после этого конфигурирование - он (первый байт) анализируется, и если == 0x00 - то конфигурирование невозможно.
А если == 0xFF - то возможна. Такой себе псевдо-FUSE. Сброс - только через стирание контроллера.
-------
Так вот, на этапе проверки мой отладчик-программатор начал так чудить, что это пролечилось только стиранием контроллера через Elprotronic.
Исходя из этого я и задал вопрос - может чего сделал принципиально не так.
Сейчас понятно, что "вроде так", будем искать другие причины в своей епархии.

(2) воистну, курите, и откроется Вам sm.gif


Цитата(Baser @ Jun 7 2017, 18:25) *
Конечно можно. . . . .
Другое дело, если бы вопрос был, можно ли несколько раз писать в один и тот же байт (слово), последовательно меняя различные биты с 1 в 0. Вот тут уже могут быть нюансы исходя из конкретного контроллера.

Спасибо за инф.
Да, гдето в док. есть упоминание о возможном повреждении контроллера, в случае последовательной записи в один байт.
Сейчас начал раскуривать подробно эту тему.



Цитата(mcheb @ Jun 7 2017, 19:38) *
Можно. . . .

Ok Спасибо.

Сообщение отредактировал k155la3 - Jun 8 2017, 06:28
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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