Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2017-ноя-24 03:00

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: 2017-авг-24 12:20 
Не в сети

Зарегистрирован: 2014-июл-01 12:41
Сообщения: 36
Задача следующая... Во время настройки прибора на 1986ВЕ1Т приходят некие значения которые требуется сохранять в её flash-памяти. Но при этом также нужно что бы при проверке самой памяти, она не изменялась относительно первичной прошивки.

Где то мелькало (читал давно сейчас уже не найду точно) что вроде у 1986ВЕ1Т есть некая область флеша которая не используется под программы (т.е. она всегда свободна) но в нее можно читать/писать.

Поэтому идея такая.
Пришло новое значение. в ОЗУ загружается код, который записывает это значение по нужному адресу в "неиспользуемой" памяти. Далее в программе значение из этого адреса передается переменной, с которой дальше идет уже обычная работа.
Получается что сама память программ не меняется, а требуемые настройки сохраняются.

Подскажите пожалуйста как такое реализовать(в Keil), вроде все просто, но в Asm я не очень силен. Как записать в ОЗУ код, переключить процессор на выполнения команд из ОЗУ, записать соответствующее значения? И как присвоить значения лежащего по адресу переменной?

Спасибо!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-авг-24 20:27 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1012
Откуда: Тула
Добавьте в проект файлы MDR32F9Qx_eeprom.c и MDR32F9Qx_eeprom.h/
Щёлкните правой кнопкой по С файлу и выберите размещение кода,переменных,констант в ОЗУ IRAM2 = 0x2010_0000.
задайте правильные настройки FLASH_PROG_FREQ_MHZ
Вызывайте функции типа EEPROM_ErasePage / EEPROM_ProgramWord / EEPROM_ReadByte с параметром EEPROM_Info_Bank_Select

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB