Jump to content

    

Recommended Posts

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

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

 

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

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

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

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

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

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

Main {

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

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

 

Спасибо.

Share this post


Link to post
Share on other sites

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

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

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

 

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

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

Share this post


Link to post
Share on other sites
Я мало что понял что у вас не работает.

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

 

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

 

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

 

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

 

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

Share this post


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

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

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

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

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

Share this post


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

 

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

 

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

 

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

 

Edited by gbs

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

post-11606-1456291154_thumb.png

post-11606-1456291549_thumb.png

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this