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

 
 
> запись во флешь память
Freeuser
сообщение Jan 29 2010, 11:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 18-11-09
Из: Мск
Пользователь №: 53 718



Контроллер sam7x в паре с кейлом. Сразу скажу, знаю что тема освещалась на форуме и не раз, и сам я перелопатил кучу инфы, и тем не менее. Непонятно как мои данные попадают в этот latch buffer?? Опишите пожалуйста последовательность действий. И какая именно часть программы должна находится в RAM?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Aurochs
сообщение Feb 1 2010, 08:34
Сообщение #2


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Цитата(Freeuser @ Feb 1 2010, 09:46) *
А можно пример какой нибудь?

Вот Вам пример, только он для GCC
Код
void  IF_Write_page ( void*  pDest,
                      void*  pSrc )
__attribute__ ( ( section ( ".fast" ) ) );
    
void  IF_Write_page ( void*  pDest,
                      void*  pSrc )
{
    int  i;
    register uint32*  puiDest = pDest;
    register uint32*  puiSrc = pSrc;
                      
    for ( i = 0; i < AT91C_IFLASH_PAGE_SIZE / sizeof ( uint32 ); i++ )
    {
        *puiDest++ = *puiSrc++;
    }
    while ( !( AT91C_BASE_MC->MC_FSR & AT91C_MC_FRDY ) );
    AT91C_BASE_MC->MC_FCR = 0x5A000000 |
                            ( (uint32)pDest & AT91C_MC_PAGEN ) |
                            AT91C_MC_FCMD_START_PROG;
    while ( !( AT91C_BASE_MC->MC_FSR & AT91C_MC_FRDY ) );
}

Для Keil'а нужно наверняка поменять аттрибуты, чтобы этот код выполнялся в RAM.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:52
Рейтинг@Mail.ru


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