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

 
 
> 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
 
Start new topic
Ответов
appsoft
сообщение Apr 5 2006, 08:53
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 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
dxp
сообщение Apr 5 2006, 09:58
Сообщение #3


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
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 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
Сообщение #5


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   BF-533 STAMP   Apr 4 2006, 12:09
- - jojo   Свои программы прошиваю через JTAG (EMU-AD) через ...   Apr 4 2006, 12:26
|- - 3HaK   Цитата(jojo @ Apr 4 2006, 14:26) Свои про...   Apr 4 2006, 13:05
|- - dxp   Цитата(jojo @ Apr 4 2006, 19:26) Свои про...   Apr 5 2006, 07:18
- - 3HaK   я просто не знаю с какой стороны к нему подходить ...   Apr 4 2006, 14:03
- - jojo   Схемы нет, это коммерческий эмулятор. Где-то пробе...   Apr 4 2006, 14:13
- - appsoft   STAMP поставляется с прошитой ucLinux. Если прошив...   Apr 5 2006, 07:08
|- - 3HaK   Цитата(appsoft @ Apr 5 2006, 10:08) ... Е...   Apr 6 2006, 09:56
|- - triplex   Цитата(appsoft @ Apr 5 2006, 10:08) STAMP...   Mar 13 2009, 02:15
- - jojo   На EZKIT с BF537 стоит ПЗУ, как на STAMP. Поэтому ...   Apr 5 2006, 08:40
- - 3HaK   Вчера весь день продолбался...оказалось шнурок ком...   Apr 5 2006, 08:43
- - appsoft   Система команд у PSD4256 на EZ Lite такаяже, как у...   Apr 5 2006, 09:28
- - appsoft   Цитата(3HaK @ Apr 6 2006, 13:56) а сущест...   Apr 6 2006, 12:29
|- - 3HaK   Цитата(appsoft @ Apr 6 2006, 15:29) ....Е...   Apr 7 2006, 13:24
|- - DRUID3   Цитата(3HaK @ Apr 7 2006, 15:24) ucLinux ...   Mar 21 2009, 02:28
- - jojo   >или лучше не мучиться и нормальный linux поста...   Apr 12 2006, 11:16


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

 


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


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