Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

AT91SAM7S64. не могу внутрипрограммно записать флэшку ->

Отправлено vovchk 10 сентября 2007 г. 17:19


уже все перепробывал, что знаю. Не получаеться записать даже 1 сектор, точнее получаеться но потом все виснет. Может быть нужно понижать частоту периферии при работой с флэшкой как у LPC? Может у меня в функциях ошибки, хотя я их вроде из примеров взял. Помогите, а то уже голова квадратная :'(


void flash_init (void){

AT91PS_PMC pPMC;
unsigned long clkus;

clkus = (1074*(MCK >> 10)) >> 20; // Approximate (no Library Code)

// Set Flash Microsecond Cycle Number
// Set Flash Waite State to max. (Single Cycle Access at Up to 30 MHz)
AT91C_BASE_MC->MC_FMR = ((AT91C_MC_FMCN) & (clkus << 16)) | AT91C_MC_FWS_3FWS;
}

void flash_write(unsigned int *addr,unsigned int *flash_buff) {

unsigned int i;
unsigned long page = (((unsigned long) addr) & FLASH_ADDR_MASK) / FLASH_PAGE_SIZE;
__disable_interrupt()


while((*AT91C_MC_FSR & AT91C_MC_FRDY) != AT91C_MC_FRDY ); //Ready Flash

*AT91C_MC_FCR = (0x5A<<24) | (page<<8&AT91C_MC_PAGEN) | 4; //Unlock Region
while((*AT91C_MC_FSR & AT91C_MC_FRDY) != AT91C_MC_FRDY ); //Ready Flash
for(i=0; i < 32; i++)
{
addr[i] = flash_buff[i]; // Copy data from RAM to Flash
}

*AT91C_MC_FCR = AT91C_MC_CORRECT_KEY | (page< while(!(*AT91C_MC_FSR & AT91C_MC_FRDY))
//while((*AT91C_MC_FSR & AT91C_MC_FRDY) != AT91C_MC_FRDY );
__enable_interrupt();
}



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
к трём прибавьте 5:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru