Перейти к содержанию
    

bf537 SPI-FLASH at45db041

Добрый день всем.

Помогите решить следующую проблему:

 

не удается загрузить и выполнить программу на BF537. Программа создана в среде VDSP. При запуске из среды программа выполняется, в том числе и после сброса командой Debug – Rezet.

Для загрузки с помощью среды был сделан бинарный файл типа .ldr.

Была разработана программа записи этого бинарного файла в SPI-FLASH at45db041, которая используется для загрузки BF537. Но программа на BF537 не выполняется.

Не могу написать ассемблерную вставку для выхода из состояния аппаратного сброса по питанию.

Не могу определить адрес User code.

Пытаюсь сделать так:

Main {

B1=3; //вспомогательная команда

B=& b1; //считаю, что найден адрес User code.

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я мало что понял что у вас не работает.

Но программа на BF537 не выполняется.
Какая программа не выполняется? Вот эта: "Была разработана программа записи этого бинарного файла в SPI-FLASH at45db041" Вы ее загрузили через jtag и она не работает??

Не могу определить адрес User code.

 

Из того что приходит на ум. Наверно ваша проблема в том что код из флешки не грузится в проц. Вы смотрели осцилом на SPI?

Надо первый байт данных во флешке заменить на FF. Тогда будет нормально грузится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я мало что понял что у вас не работает.

Какая программа не выполняется? Вот эта: "Была разработана программа записи этого бинарного файла в SPI-FLASH at45db041" Вы ее загрузили через jtag и она не работает??

 

Скорее всего - работает, раз он уже начал пытаться что-то там со сбросом делать. :)

 

А пины BMODE у ТС нормально выставлены на SPI-master?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно, проблема вызвана ошибкой # 05000280, указанной в документе Silicon Anomaly List для этого процессора:

 

http://www.analog.com/media/en/dsp-documen...537_anomaly.pdf

 

Если используется AT45DB041D, то нужно переключить её в режим длины страниц 256 байт специальной командой.

Эта операция необратима и потребует изменения алгоритмов записи/чтения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтобы записать ldr файл во флэшку разработали программу записи, которая запускается из VDSP. Правильность записи проверили путем считывания из флэшки. При включении питания целевой платы BF537 выдает импульсы чтения на флэшку, но целевая программа после этого не выполняется.

 

 

--Надо первый байт данных во флешке заменить на FF - а какой именно байт надо править? Об этом много пишут, но если это первый байт данных, то у меня там и стоит 0xff

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если используется AT45DB041D, то нужно переключить её в режим длины страниц 256 байт специальной командой.

Эта операция необратима и потребует изменения алгоритмов записи/чтения.

Поэтому удобней первый байт заменять на FF.

а какой именно байт надо править?
Самый первый, тот что по нулевому адресу во флеш будет лежать. У меня там никогда FF не было. Сейчас нет файла под рукой.

Кажется у меня там всегда было число 0x40

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтобы записать ldr файл во флэшку разработали программу записи, которая запускается из VDSP. Правильность записи проверили путем считывания из флэшки. При включении питания целевой платы BF537 выдает импульсы чтения на флэшку, но целевая программа после этого не выполняется.

 

Загрузите в VDSP код (из каталога AD) для boot kernel вашего процессора. Там ассемблер. Запустите ее и пройдитесь отладчиком, начиная с автоопределения размерности адреса флешки через SPI slave и далее.

 

Где свалится в обработчик exceptions - там и увидите причину.

 

Еще - импульсы чтения на флешку это что вы имеете ввиду? Команду чтения или что-то еще? Что отвечает флешка?

 

Изменено пользователем gbs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То, что идентифицируется этот тип флеш, эти осциллограммы я вижу осциллографом, больше посмотреть не могу.

Я все-таки подозреваю, что не правильно создаю файл ldr.

На 0хff первый байт в ldr файле меняла, не помогло.

Напишите, пожалуйста подробно как его создавать, может в этом все дело.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня AT45DB161E. Размер страницы по-умолчанию.

Настройки VDSP приложил.

У меня первый байт всегда 0.

На картинке слева файл до подмены байта, справа после подмены.

У вас какой выходной формат? Может вы вовсе не данные изменяется в файле а адрес.

post-11606-1456291154_thumb.png

post-11606-1456291549_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...