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

 
 
> at91sam7x256 + Keil. Спецы - ВЫРУЧАЙТЕ, Запись во внутреннюю FLASH -> проблемы
Niger
сообщение Jan 5 2008, 09:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 29-09-06
Из: Зеленорад
Пользователь №: 20 810



Всем доброго времени суток!

Проблема в следующем:

Сделал проектик под Кейлом v3.50, в котором происходит заполнение массива из 256 байт (от 0x00 до 0xFF), а затем запись его в страницу внутренней флэш камня.
Брал пример с этого форума, сделанный в IAR, переделал его под кейл...наступил на грабли...

после записи страницы

for (i = 0; i < EFC_PAGE_SIZE_UINT; i++)
*(pflash + i ) = *(pbuf + i);

идут две волшебные строчки:

Строчка1 AT91C_BASE_MC->MC_FCR = (0x5A << 24) | (page << 8 ) |AT91C_MC_FCMD_START_PROG;

Строчка 2 while (!(AT91C_BASE_MC->MC_FSR & AT91C_MC_FRDY));

Так вот, если в отладке ставлю брекпоинт на строчке 2, то страница пишется, а после запуска Run программа нормально выполняется. Если же убираю этот брекпоинт, то выполнение строчки 2 не происходит, и программа вываливается в DAbt_Handler. Без эмулятора, похоже, программа также зависает в этом же месте.
Эмулятор от Segger, устройство - пока на 7X-EK

Кто нить ловил такой глюк?

Заране благодарен
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dimentius
сообщение Jan 5 2008, 11:45
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 27-09-05
Пользователь №: 8 980



в регистре MC_FMR поле FMCN правильно задано?

When writing the rest of the Flash, this field defines the number of Master Clock cycles in 1.5 microseconds. This number
must be rounded up.
Go to the top of the page
 
+Quote Post
Kirill Frolov
сообщение Feb 8 2008, 00:31
Сообщение #3


Частый гость
**

Группа: Новичок
Сообщений: 111
Регистрация: 10-02-07
Из: St.Petersburg, Russia
Пользователь №: 25 241



Цитата(Dimentius @ Jan 5 2008, 14:45) *
в регистре MC_FMR поле FMCN правильно задано?
When writing the rest of the Flash, this field defines the number of Master Clock cycles in 1.5 microseconds. This number
must be rounded up.


Кстати да. При неправильном задании глюки незабываемые (ввиду того, что к моменту завершения записи
и установки флага FLASH всё ещё находится в нерабочем что ли состоянии -- понять сложно, но валится
чаще в разные аборты). При исправлении этого значения на положенное сбоев нет.


--------------------
[ZX]
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Niger   at91sam7x256 + Keil. Спецы - ВЫРУЧАЙТЕ   Jan 5 2008, 09:16
- - Dimentius   прерывания на момент активации записи во флеш запр...   Jan 5 2008, 09:57
|- - Niger   Цитата(Dimentius @ Jan 5 2008, 12:57) пре...   Jan 5 2008, 11:23
- - Niger   Тут внимательно посмотрел в дизассемблере , оказыв...   Jan 5 2008, 12:52
- - Niger   Разобрался я, как писать/читать флэш. Но теперь в...   Jan 10 2008, 08:53
|- - KRS   Цитата(Niger @ Jan 10 2008, 11:53) Разобр...   Jan 10 2008, 09:23
- - Niger   KRS, последовал Вашему примеру Вот кусок файла sa...   Jan 10 2008, 13:50
|- - KRS   Цитата(Niger @ Jan 10 2008, 16:50) В обще...   Jan 10 2008, 15:02
||- - aaarrr   Цитата(KRS @ Jan 10 2008, 18:02) Ну вообщ...   Jan 10 2008, 15:32
||- - KRS   Цитата(aaarrr @ Jan 10 2008, 18:32) Почем...   Jan 10 2008, 16:17
|- - defunct   Цитата(Niger @ Jan 10 2008, 15:50) В обще...   Feb 7 2008, 22:46
- - Niger   Все, работает!!! Всем спасибо. Если ...   Jan 23 2008, 14:12
- - _dem   свои пять копеек При неправильной установке FMC...   Feb 8 2008, 15:04


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

 


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


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