|
AVR32: Flash-память AT49BV6416 на STK1000, Читается, но не пишется и не стирается |
|
|
|
Sep 10 2007, 07:22
|
Участник

Группа: Новичок
Сообщений: 51
Регистрация: 19-06-07
Из: Республика Беларусь, г.Витебск
Пользователь №: 28 538

|
Программирую AP7000 в составе STK1000 в среде AVR32 Studio. Программа пишется во внешнюю Flash-память AT49BV6416, находящуюся на STK1000. Память программировалась нормально, пока не запустил команду "Erase" из меню свойств target-a. Во время выполнения этой операции пропало напряжение в сети 220 В. Когда появилось, снова запустил "Erase". Через некоторое время выдает ошибку
Flash chip erase failed. Target execution timed out. Process failed with code 3. See the process console for details.
Считывание с помощью команды "Read" меню свойств target-a (JTAGICE mkII) всех 8 Mb завершается успешно. Попытка записи во Flash любого кода вызывает ошибку
Filed to erase flash sectors from 0x00000000 to 0x0000ffff. Target execution timed out.
Пробовал стирать/писать через командную строку в Cygwin - тот же результат. В datasheet на AT49BV6416 написано, что она имеет 128-Bit Protection Register. Объясните популярно, что это такое и как с ним работать.
P.S. Пора менять Flash, или еще можно ее оживить???
|
|
|
|
|
 |
Ответов
|
Sep 11 2007, 11:44
|
Участник

Группа: Новичок
Сообщений: 51
Регистрация: 19-06-07
Из: Республика Беларусь, г.Витебск
Пользователь №: 28 538

|
1) Версия прошивки JTAGICE mkII при выполнении команды "Erase" была 4.33. Пробовал обновлять до версии 4.38. В обоих случаях - та же ошибка.
2) Вывод VPP соединен с WP, VCC, VCCQ и все это подключено к +3.3 V. Напряжение в норме.
Как на счет 128-Bit Protection Register? Облазил весь сайт Atmel, но так ничего вразумительного и не нашел, только везде повторяется примерно одно и то же:
The 128-bit Protection Register can be used for security purposes in system design. The protection register is divided into two 64-bit blocks designated as block A and block B. The data in block A is non-changeable and is programmed at the factory with a random number. The data in block B can be programmed to a random number by the user and then can be locked out such that data in the block cannot be reprogrammed. With this system, a high degree of security in preventing the programming of a device with another device's security code is achieved.
|
|
|
|
|
Sep 11 2007, 12:55
|
Частый гость
 
Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405

|
Цитата(Busel Roman @ Sep 11 2007, 15:44)  2) Вывод VPP соединен с WP, VCC, VCCQ и все это подключено к +3.3 V. Напряжение в норме. ... Как на счет 128-Bit Protection Register? Похоже, что залочились сектора. Но, по идее, программатор должен их перед стиранием разлочить. Ещё раз, что выдаёт команда avr32program chiperase?
|
|
|
|
|
Sep 11 2007, 13:50
|
Участник

Группа: Новичок
Сообщений: 51
Регистрация: 19-06-07
Из: Республика Беларусь, г.Витебск
Пользователь №: 28 538

|
Цитата(Master @ Sep 11 2007, 14:55)  Похоже, что залочились сектора. Но, по идее, программатор должен их перед стиранием разлочить. Сектора в AT49BV6416 (современная версия AT49BV642D) залочены при включении питания (At power-up and reset, all sectors have their Softlock protection mode enabled. - из Datasheet). Программирование Flash должно выполняться в последовательности: 1. Разлочить сектор 2. Стереть сектор (либо весь чип сразу) 3. Запрограммировать в сектор новые значения, причем (из Datasheet) ...Please note that a “0” cannot be programmed back to a “1”; only erase operations can convert “0”s to “1”s. Сейчас при выполнении команды "Erase" выводит на экран следующее: Connected to JTAGICE mkII version 4.38, 4.38 at USB:00A00000342C. %19.2 Unlocking flash %38.3 Unlocking flash %57.5 Unlocking flash %76.6 Unlocking flash %95.8 Unlocking flash %100.0 Unlocking flash %100.0 Unlocking flash %100.0 Unlocking flash Failed to erase flash sectors from 0x00000000 to 0x00009fff. Target execution timed out.
Цитата Ещё раз, что выдаёт команда avr32program chiperase? Напоминаю, я работаю с AP7000, в нем нет внутренней Flash. Результат команды следующий: Connected to JTAGICE mkII version 4.38, 4.38 at USB. JTAG chip erase performed
|
|
|
|
|
Sep 11 2007, 14:27
|
Частый гость
 
Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405

|
Цитата(Busel Roman @ Sep 11 2007, 17:50)  Сейчас при выполнении команды "Erase" выводит на экран следующее: Connected to JTAGICE mkII version 4.38, 4.38 at USB:00A00000342C. %19.2 Unlocking flash %38.3 Unlocking flash %57.5 Unlocking flash %76.6 Unlocking flash %95.8 Unlocking flash %100.0 Unlocking flash %100.0 Unlocking flash %100.0 Unlocking flash Failed to erase flash sectors from 0x00000000 to 0x00009fff. Target execution timed out. Питание во время всего цикла точно присутствует и не изменяется? Питаемся, надеюсь, не от USB? Хотя и его должно хватить... Цитата Напоминаю, я работаю с AP7000, в нем нет внутренней Flash. Результат команды следующий: Connected to JTAGICE mkII version 4.38, 4.38 at USB. JTAG chip erase performed Я в курсе насчёт отсутствия внутренней flash-памяти. Думал, что по этой команде выдаётся последовательность chiperase для стирания всей флеши (п.3.5.1 AT49BV6416(T).pdf). А что читается из флеши?? И, кстати, при последовательных чтениях читается одно и то же? P.S. Млин, реальных идей пока нет. Кроме выпаивания и перепрограммирования другим программатором. Спалиться - она вряд ли спалилась, а вот хитро залочиться...
|
|
|
|
|
Sep 11 2007, 14:53
|
Участник

Группа: Новичок
Сообщений: 51
Регистрация: 19-06-07
Из: Республика Беларусь, г.Витебск
Пользователь №: 28 538

|
Flash стоит на плате STK1000, которая имеет свой мощный питатель. JTAGICE питается от USB. Из памяти читается каждый раз одно и то же, все 8 Mb.
Картина считывания: в начале памяти записаны все нули (000000000...), затем некоторое время чередуются группы нулей и едениц (FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFF00000000000000...), затем сплошные единицы (FFFFFFFFFFFFF...). Начиная с середины (с адреса 0х00400000) сохранилась картинка в формате BMP, которую я раньше загрузил, когда еще изучал LCD Controller. Картинка считывается один к одному та, которая была записана. После картинки и до конца снова сплошные единицы (FFFFFFFFFFFFFFFFFF...).
Разобраться бы с 128-Bit Protection Register...
P.S. AT49BV642D уже заказали, будет через 4 недели (В России нигде нет). Придется, наверное вырезать старую и паять новую Flash.
|
|
|
|
|
Sep 11 2007, 16:22
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Попробуйте стереть из командной строки какой-нибудь сектор не из начала флеш Цитата(Busel Roman @ Sep 11 2007, 18:53)  Разобраться бы с 128-Bit Protection Register... Наскока я ничего не понимаю, это не имеет отношения к работе с основной флеш, это такое место где вы можете записать раз и навсегда свой ключ для использования в security приложениях. Первые 64бит из 128 это серийный номер микросхеммы Остальные 64бит это пользовательская область, можете перезаписывать ее сколько хотите пока не дадите команду Lock, после этого поменять эти 64бит нельзя
|
|
|
|
|
Sep 12 2007, 06:54
|
Участник

Группа: Новичок
Сообщений: 51
Регистрация: 19-06-07
Из: Республика Беларусь, г.Витебск
Пользователь №: 28 538

|
Цитата Попробуйте стереть из командной строки какой-нибудь сектор не из начала флеш Подскажите, как должна выглядеть эта команда. Пробовал с помощью дополнительного AVR через разъем PCI (на плате STK1000) подавать команды прямо во Flash на стирание сектора/чипа, но ничего не вышло. Цитата ...это не имеет отношения к работе с основной флеш, это такое место где вы можете записать раз и навсегда свой ключ для использования в security приложениях... Тоже склоняюсь к этой мысли, но хотелось бы, чтобы Atmel такие вещи подробнее описывала. Цитата(vesago @ Sep 12 2007, 08:30)  Шальная идея - какие-то проблемы чисто на железном уровне. Вообще подобная картина при считвании может быть при соплях на адресных ногах памяти. Возможно действительно какие ноги подгорели. Посмотрите как сигналы на управляющих ногах типа чтения, записи, сброса. Да, в первую очередь посмотрел управляющие сигналы - все ОК. Даже свои собственные сформировал - не помогло. Проблема возникла именно после попытки выполнить команду "Erase". Может она в AVR32Studio некорректно написана.
|
|
|
|
Сообщений в этой теме
Busel Roman AVR32: Flash-память AT49BV6416 на STK1000 Sep 10 2007, 07:22 Master Попробуйте выполнить в AVR32Studio команду Chip er... Sep 11 2007, 08:28 Busel Roman Пробовал.
Как я понимаю, эта команда стирает ОЗУ н... Sep 11 2007, 08:57 Master Версия прошивки JTAG ICE II какая? Её можно увидет... Sep 11 2007, 09:49        singlskv Цитата(Busel Roman @ Sep 12 2007, 10:54) ... Sep 12 2007, 09:11      Master Цитата(Busel Roman @ Sep 11 2007, 18:53) ... Sep 12 2007, 08:53       Busel Roman ЦитатаА вы попробуйте не только стереть, но и запи... Sep 12 2007, 10:13        Master Цитата(Busel Roman @ Sep 12 2007, 14:02) ... Sep 12 2007, 10:18         Busel Roman Цитата(Master @ Sep 12 2007, 12:18) ... P... Sep 12 2007, 10:24          Master Цитата(Busel Roman @ Sep 12 2007, 14:24) ... Sep 12 2007, 13:05           Busel Roman ЦитатаСтрого говоря, A16 и A17 присутствуют в виде... Sep 12 2007, 13:54            Master Цитата(Busel Roman @ Sep 12 2007, 17:54) ... Sep 13 2007, 08:47             Busel Roman ЦитатаМожете просто мультиметр взять и прозвонить ... Sep 13 2007, 09:46        singlskv Цитата(Busel Roman @ Sep 12 2007, 14:13) ... Sep 12 2007, 12:09         Busel Roman To 'singlskv'
Точно, благодарю! Но хот... Sep 12 2007, 12:51          singlskv Цитата(Busel Roman @ Sep 12 2007, 16:51) ... Sep 12 2007, 13:54           Busel Roman ЦитатаНа Вашем месте я бы поступил след образом:
... Sep 12 2007, 14:04            singlskv Цитата(Busel Roman @ Sep 12 2007, 18:04) ... Sep 12 2007, 14:15             Busel Roman Думал про внешнюю SDRAM, по ошибке написал SRAM.
... Sep 13 2007, 07:32              singlskv Цитата(Busel Roman @ Sep 13 2007, 11:32) ... Sep 13 2007, 09:41               Busel Roman Цитата(singlskv @ Sep 13 2007, 11:41) По ... Sep 20 2007, 13:46                singlskv [quote name='Busel Roman' date='Sep 20... Sep 20 2007, 18:59                 Busel Roman Наконец-таки приехала новая Flash-память. Заменил.... Oct 29 2007, 14:47 vesago Шальная идея - какие-то проблемы чисто на железном... Sep 12 2007, 06:30 singlskv Ели кто еще вдруг не в курсе, Atmel опубликовала н... Oct 29 2007, 18:50 altlogic Здравствуйте!
Желаю приобрести STK1000+ средс... Feb 17 2009, 09:23 lexx666 Может с опозданием но поделюсь - проблема с програ... Apr 13 2009, 09:19
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|