Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Atmel AT**** и запись в PROM 
:(
    Опции темы
vasilybodnarchuk
Дата 14.11.2013, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.11.2013

Репутация: нет
Всего: нет



Добрый день. 

Есть процессор атмел с памятью типа NOR. (AT49BV802A)

Запись в PROM:

void SetValue(int* reg, int reg_value)
{
    unsigned long *p_cmd_flash;
    p_cmd_flash = (unsigned long *)0x00001554; //alignement issue if 5
    *p_cmd_flash = 0xAAAAAAAA;
    p_cmd_flash = (unsigned long *)0x00002AA8; //alignement issue if A
    *p_cmd_flash = 0x55555555;
    p_cmd_flash = (unsigned long *)0x00001554; //alignement issue if 5
    *p_cmd_flash = 0xA0A0A0A0;
    *reg = reg_value;
    FlashPause();
}

Проблема в том, что перезаписать в регистр не удается. Он ничего не делает. Приходится делаиь форматирование.

Вот кстати оно:

    unsigned long * p_cmd_flash;
    int i;
    p_cmd_flash = (unsigned long *)0x00001554; //alignement issue if 5
    *p_cmd_flash = 0xAAAAAAAA;
    FlashPause();
    p_cmd_flash = (unsigned long *)0x00002AA8; //alignement issue if A
    *p_cmd_flash = 0x55555555;
    FlashPause();
    p_cmd_flash = (unsigned long *)0x00001554; //alignement issue if 5
    *p_cmd_flash = 0x80808080;
    FlashPause();
    p_cmd_flash = (unsigned long *)0x00001554; //alignement issue if 5
    *p_cmd_flash = 0xAAAAAAAA;
    FlashPause();
    p_cmd_flash = (unsigned long *)0x00002AA8; //alignement issue if A
    *p_cmd_flash = 0x55555555;
    FlashPause();
    p_cmd_flash = (unsigned long *)0x00001554; //alignement issue if 5
    *p_cmd_flash = 0x10101010;
    FlashPause();
    i = 0;
    while(i<0x1C00000) i++;

У меня два вопроса:
1) Как сделать форматирование сектора? Мне не понятно, как запустить 6ой цикл.
2) Есть ли вариант не форматировать?






Это сообщение отредактировал(а) vasilybodnarchuk - 14.11.2013, 13:45
PM MAIL   Вверх
Romikgy
Дата 22.11.2013, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



в память пишутся только нули , при стирании память восстанавливается в единицы. писать и читать можно в любой адрес, а стирать только секторами 
и алгоритм с этом микросхемой немного другой вот


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0396 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.