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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> BF-533 STAMP
3HaK
сообщение Apr 4 2006, 12:09
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 7-02-06
Пользователь №: 14 076



Кто нибудь со STAMP ом работал?? Прошивать нужно через JTAG или можно через COM.
При попытке прошить в VisualDSP выдает:
Loading: "F:\ADSP-BF533-STAMP\kernel\images\linux.dxe"...
No ELF section .processor found; assuming ADSP-BF533.
Load complete.
Go to the top of the page
 
+Quote Post
jojo
сообщение Apr 4 2006, 12:26
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Свои программы прошиваю через JTAG (EMU-AD) через plugin VDSP и драйвер соотв. ПЗУ.
Go to the top of the page
 
+Quote Post
3HaK
сообщение Apr 4 2006, 13:05
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 7-02-06
Пользователь №: 14 076



Цитата(jojo @ Apr 4 2006, 14:26) *
Свои программы прошиваю через JTAG (EMU-AD) через plugin VDSP и драйвер соотв. ПЗУ.

а схема есть??
Go to the top of the page
 
+Quote Post
3HaK
сообщение Apr 4 2006, 14:03
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 7-02-06
Пользователь №: 14 076



я просто не знаю с какой стороны к нему подходитьsad.gif расчитывал что его можно через ком программировать sad.gif
Go to the top of the page
 
+Quote Post
jojo
сообщение Apr 4 2006, 14:13
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Схемы нет, это коммерческий эмулятор.
Где-то пробегала схема эмулятора от отладочной платы, кажется, EZKit для 21160 и VID/PID константы к ней. Через нее тоже можно шить ПЗУ Blackfina.

Само ПЗУ, то, которое в BGA - можно шить через uboot, прошитый на фабрике. Сложнее будет, если этот uboot затереть. Тогда, наверное, надо из сериального ПЗУ загрузиться (его нет на плате и я не смотрел, допускает ли схема такую погрузку). А дальше все понятно.
Go to the top of the page
 
+Quote Post
appsoft
сообщение Apr 5 2006, 07:08
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 22
Регистрация: 9-12-04
Пользователь №: 1 425



STAMP поставляется с прошитой ucLinux. Если прошивка присутствует, то подключаем COM порт к внешней Linux машине запускаем терминал, включаем плату и видим в терминале приветствие и командную строку ucLinux. С помощью утилиты UBoot грузим свой проект в ОЗУ и выполняем. Если появляется желание прошить свой проект во flash, грузим проект программатор (он есть в примерах) и даем ему команду шить flash. ucLinux при этом будет затерт и о следующих прошивках надо позаботится самому. Если же ucLinux уже стерт то загрузить программатор в ОЗУ можно только через JTAG или внешнюю последовательную flash. Есть еще вариант загрузки в SPI slave mode, я делал для этого переходник с LPT порта (см. режимы загрузки в AD-шном app note EE240).
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 5 2006, 07:18
Сообщение #7


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(jojo @ Apr 4 2006, 19:26) *
Свои программы прошиваю через JTAG (EMU-AD) через plugin VDSP и драйвер соотв. ПЗУ.

Подскажите, пожалуйста, где лежит описание на драйвер? Ну, т.е. для своей ПЗУхи, я так понимаю, надо свой драйвер написать. И написать его надо в соответствии с определенныи требованиями, чтобы плагин с драйвером правильно взаимодействовал.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
jojo
сообщение Apr 5 2006, 08:40
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



На EZKIT с BF537 стоит ПЗУ, как на STAMP. Поэтому драйвер подходит к STAMP почти без изменений. Только флаги в определенное состояние я ставил, чтобы ПЗУ было выбрано, а не сеть. Но вроде там резисторы есть подтягивающие возле этих флагов, может, лишнее делал.

А спецификацию я не видел, может, она и есть где. Драйвер выложу на днях в сети, на всякий случай.
Go to the top of the page
 
+Quote Post
3HaK
сообщение Apr 5 2006, 08:43
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 7-02-06
Пользователь №: 14 076



Вчера весь день продолбался...оказалось шнурок комовский не рабочий sad.gif

Подскажите с чего лучше начать освоение
Go to the top of the page
 
+Quote Post
appsoft
сообщение Apr 5 2006, 08:53
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 22
Регистрация: 9-12-04
Пользователь №: 1 425



Драйвер для 533 EZ Lite лежит в "VDSP4\Blackfin\Flash Programmer Drivers\ADSP-BF533 EZ-kit Lite". На EZ Lite применены STM-овские PSD = flash+FPGA, а на STAMP стоит тоже STM-овская flash 4МВ. По сути - этот драйвер обычная программа для BF, которая сначала загружается по JTAG, затем запускается и получает по JTAG команды и буфера с данными для записи, синхронизируясь с верхним процессом с помощью макроса-точки останова.
Go to the top of the page
 
+Quote Post
appsoft
сообщение Apr 5 2006, 09:28
Сообщение #11


Участник
*

Группа: Свой
Сообщений: 22
Регистрация: 9-12-04
Пользователь №: 1 425



Система команд у PSD4256 на EZ Lite такаяже, как у M29W320DB на STAMP. Для доступа к flash на STAMP PF0 и PF1 должны быть в 0, они туда притянуты резисторами R22, R23 (STAMP v1.0), так что драйвер должен подойти без переделки. Но чтобы им воспользоваться в STAMP надо иметь эмулятор. Если эмулятора нет и вы не любитель Linux проще работать с EZ Lite...
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 5 2006, 09:58
Сообщение #12


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(appsoft @ Apr 5 2006, 15:53) *
Драйвер для 533 EZ Lite лежит в "VDSP4\Blackfin\Flash Programmer Drivers\ADSP-BF533 EZ-kit Lite". На EZ Lite применены STM-овские PSD = flash+FPGA, а на STAMP стоит тоже STM-овская flash 4МВ. По сути - этот драйвер обычная программа для BF, которая сначала загружается по JTAG, затем запускается и получает по JTAG команды и буфера с данными для записи, синхронизируясь с верхним процессом с помощью макроса-точки останова.

Про это все в курсе. Вопрос в том, как написать свой драйвер для более другой ПЗУ, нежели та, которая стоит в китах. Для этого должны быть где-то документированы требования к драйверу - типа, какие функции он должен иметь, как взаимодействовать и т.д.

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


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
appsoft
сообщение Apr 5 2006, 14:48
Сообщение #13


Участник
*

Группа: Свой
Сообщений: 22
Регистрация: 9-12-04
Пользователь №: 1 425



Цитата(dxp @ Apr 5 2006, 13:58) *
Цитата(appsoft @ Apr 5 2006, 15:53) *

Драйвер для 533 EZ Lite лежит в "VDSP4\Blackfin\Flash Programmer Drivers\ADSP-BF533 EZ-kit Lite". На EZ Lite применены STM-овские PSD = flash+FPGA, а на STAMP стоит тоже STM-овская flash 4МВ. По сути - этот драйвер обычная программа для BF, которая сначала загружается по JTAG, затем запускается и получает по JTAG команды и буфера с данными для записи, синхронизируясь с верхним процессом с помощью макроса-точки останова.

Про это все в курсе. Вопрос в том, как написать свой драйвер для более другой ПЗУ, нежели та, которая стоит в китах. Для этого должны быть где-то документированы требования к драйверу - типа, какие функции он должен иметь, как взаимодействовать и т.д.

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


Если посмотреть на исходник драйвера BF533EzFlash.c, лежащий в указаном выше каталоге, то видны функции: WriteFlash, ReadFlash, PollToggleBit, EraseFlash.
Начало EraseFlash выглядит так:

ERROR_CODE EraseFlash()
{
ERROR_CODE ErrorCode = NO_ERR; // tells us if there was an error erasing flash

// *****Flash A*****

// erase contents in Main Flash Array
WriteFlash( 0x0AAA, 0xaa );
WriteFlash( 0x0554, 0x55 );
WriteFlash( 0x0AAA, 0x80 );
WriteFlash( 0x0AAA, 0xaa );
WriteFlash( 0x0554, 0x55 );
WriteFlash( 0x0AAA, 0x10 );

// poll until the command has completed
ErrorCode = PollToggleBit(0x0000);

// only erase if we didn't fail the previous erase
if( ErrorCode == NO_ERR )
{
// erase contents in Boot Flash Array
WriteFlash( 0x200AAA, 0xaa );
WriteFlash( 0x200554, 0x55 );
WriteFlash( 0x200AAA, 0x80 );
WriteFlash( 0x200AAA, 0xaa );
WriteFlash( 0x200554, 0x55 );
WriteFlash( 0x200AAA, 0x10 );

// poll until the command has completed
ErrorCode = PollToggleBit(0x200000);
}

Исходя из этого, драйвер можно адаптировать не вникая в его структуру и интерфейс. Меняем адреса/значения перекомпилируем драйвер и вперед. Максимальные изменения могут потребоваться если flash пишется блоком, например как AT29xxxx. Тогда придется заглянуть в функцию уровнем выше: WriteData, и адаптировать ее.
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 6 2006, 05:03
Сообщение #14


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(appsoft @ Apr 5 2006, 21:48) *
Если посмотреть на исходник драйвера BF533EzFlash.c, лежащий в указаном выше каталоге, то видны функции: WriteFlash, ReadFlash, PollToggleBit, EraseFlash.
Начало EraseFlash выглядит так:

ERROR_CODE EraseFlash()
{
ERROR_CODE ErrorCode = NO_ERR; // tells us if there was an error erasing flash

WriteFlash( 0x200AAA, 0x10 );
...
// poll until the command has completed
ErrorCode = PollToggleBit(0x200000);
}

Исходя из этого, драйвер можно адаптировать не вникая в его структуру и интерфейс. Меняем адреса/значения перекомпилируем драйвер и вперед. Максимальные изменения могут потребоваться если flash пишется блоком, например как AT29xxxx. Тогда придется заглянуть в функцию уровнем выше: WriteData, и адаптировать ее.

Понятно, спасибо. Т.е. все-таки не документировано, надо по аналогии делать. Функции функциями, а взаимодействие надо, имхо, все же четко представлять. Имхо, более правильно свой плагин написать или внешний клиент (как я и сделал).


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
3HaK
сообщение Apr 6 2006, 09:56
Сообщение #15


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 7-02-06
Пользователь №: 14 076



Цитата(appsoft @ Apr 5 2006, 10:08) *
... Есть еще вариант загрузки в SPI slave mode, я делал для этого переходник с LPT порта (см. режимы загрузки в AD-шном app note EE240).

а существует ли вообще возможность закрузки программ через Com-port (RS232) который стоит на плате рядом с ethernet разьемом?
И может быть еще ворианты загрузки?
например ethernet потому что програматора нет есть только BF-533-STAMP

Сообщение отредактировал 3HaK - Apr 6 2006, 10:02
Go to the top of the page
 
+Quote Post

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

 


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


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