16+
Суббота
18 ноября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры AVR

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Ксения  (12.06.2017 17:13 - 12.06.2017 17:17) , в ответ на Ваяю бутлоадер для Хмеги с заимствованием части кода из апликейшн ноты AVR1605 и что-то у меня функция SP_LoadFlashWord ничего во флэш не записывает. Никто случайно не сталкивался? Чего ей может не хватать? автор: AlexG
На счет Хмеги не знаю, т.к. не пробовала программно ей писать во флеш, но у обычных Мег работает жесткое правило - писать во флеш можно только из области загрузчика. Вот и пришлось тогда мне создать отдельный сегмент кода, разместив его в 
загрузочной области, и поместить туда функцию, которая страницу из буфера во флеш загружала. И вот этой функцией пользовалась, вызывая ее с нужными мне параметрами из нижней части программного кода. Возможно, что и у Хмеги есть защита такого же типа. Это код для моей обычной Меги, но привожу его для иллюстрации идеи (компилятор IAR):
#pragma location="BOOT"
void PageLoader( unsigned int flash_address, unsigned char *buffer)
{
  int i;

  _WAIT_FOR_SPM();
  _SPM_ERASE( flash_address);

  _WAIT_FOR_SPM();
  _ENABLE_RWW_SECTION();

  for( i=0; i < 128; i++)
    _SPM_FILLTEMP( i << 1, ((int*)buffer)[i]);

  _WAIT_FOR_SPM();
  _SPM_PAGEWRITE( flash_address);

  _WAIT_FOR_SPM();
  _ENABLE_RWW_SECTION();
}
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVII