Например TDA7294

Форум РадиоКот • Просмотр темы - STM32 программирование FLASH
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Сб июл 20, 2019 08:02:26

Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: STM32 программирование FLASH
СообщениеДобавлено: Вт авг 14, 2012 23:25:59 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт авг 03, 2010 16:21:20
Сообщений: 121
Откуда: Екатеринбург
Рейтинг сообщения: 0
пытаюсь записать данные во FLASH, зависает на ожидании завершения операции, с мануалом всё сходится
Код:
  if(FLASH->CR&FLASH_CR_LOCK)
  {
    FLASH->KEYR=FLASH_KEY1;
    FLASH->KEYR=FLASH_KEY2;//проверял, разблокируется успешно
  }
  FLASH->CR|= FLASH_CR_PG;
  *addr=(uint16_t)data;
  while(FLASH->SR&FLASH_SR_BSY);//вот здесь всё зависает
  FLASH->CR &= ~FLASH_CR_PG;
  FLASH->CR |= FLASH_CR_LOCK;

может кто знает, что не так?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 программирование FLASH
СообщениеДобавлено: Вт авг 14, 2012 23:28:49 
Собутыльник Кота
Аватар пользователя

Карма: -22
Рейтинг сообщений: -63
Зарегистрирован: Вт сен 14, 2010 11:27:19
Сообщений: 2584
Рейтинг сообщения: 0
А с примерами компилятора или к отладочным платам сходится? keil.com база знаний

_________________
Будете проходить мимо- проходите!


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: STM32 программирование FLASH
СообщениеДобавлено: Вт авг 14, 2012 23:41:59 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт авг 03, 2010 16:21:20
Сообщений: 121
Откуда: Екатеринбург
Рейтинг сообщения: 0
почему-то не нашёл ни того, ни другого, в интернете всего одна статья про работу с FLASH, с ней код тоже сходится, попробовал использовать стандартные функции - то же самое
Код:
FLASH_Unlock();
FLASH_ProgramHalfWord(0x08004000, (uint16_t)0x1234);
FLASH_Lock();


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: STM32 программирование FLASH
СообщениеДобавлено: Ср авг 15, 2012 14:09:33 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт июн 26, 2009 07:40:07
Сообщений: 133
Рейтинг сообщения: 0
Держи, мож поможет :) Такая же была проблема :)
Код:
void save_param_to_flash(uint32_t first_address_page)
{
   //unlock flash
    FLASH->KEYR=0x45670123;
    FLASH->KEYR=0xCDEF89AB;
    //set programing bit
    FLASH->CR |= FLASH_CR_PG;

    //save time
    *((uint16_t*)first_address_page) = time;
    while((FLASH->SR & FLASH_SR_BSY) != 0){;}

    //save frequency
    *((uint16_t*)first_address_page+2) = frequency;
    while((FLASH->SR & FLASH_SR_BSY) != 0){;}

    //save time_on
    *((uint16_t*)first_address_page+4) = percent;
    while((FLASH->SR & FLASH_SR_BSY) != 0){;}

    //save mode
    *((uint16_t*)first_address_page+6) = mode;
    while((FLASH->SR & FLASH_SR_BSY) != 0){;}

    //save current
    *((uint16_t*)first_address_page+8) = current;

    FLASH->CR &= ~FLASH_CR_PG;

    //lock flash
    FLASH->CR |= FLASH_CR_LOCK;
}


Вернуться наверх
 
Плавкие предохранители LittelFuse. Грамотный подбор

Выбор оптимального плавкого предохранителя требует учета многих параметров. Для упрощения выбора оптимального предохранителя и автоматизации расчетов Littelfuse предлагает онлайн-утилиту. Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 программирование FLASH
СообщениеДобавлено: Ср авг 15, 2012 14:46:10 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт авг 03, 2010 16:21:20
Сообщений: 121
Откуда: Екатеринбург
Рейтинг сообщения: 0
к сожалению всё сходится с моим кодом, а ещё выяснилась одна деталь, зависает оно на самой строке присвоения, типа этого
Код:
*((uint32_t*)0x08004000)=0x1234;

предварительное стирание страницы делать пытаюсь, оно проходит, но не помогает
причём зависает мк так, что и прерывания не работают


Вернуться наверх
 
Немногим дороже дискретного решения: новое поколение импульсных стабилизаторов Mornsun

Практически во всех радиоэлектронных устройствах массово применяются линейные понижающие стабилизаторы напряжения типа КРЕН в корпусе TO220 (другое обозначение – 78хх) и им подобные для формирования основного напряжения питания схемы.
Данные стабилизаторы позволяют без особых затрат получить нужное для каскада или узла схемы напряжение, если устройство питается от внешнего источника с более высоким напряжением. Для этого требуются… Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 программирование FLASH
СообщениеДобавлено: Пт авг 17, 2012 00:02:50 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт авг 03, 2010 16:21:20
Сообщений: 121
Откуда: Екатеринбург
Рейтинг сообщения: 0
тема закрыта, стандартные функции всё-таки заработали


Вернуться наверх
 


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

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y