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

BlackFIN-532 - методы загрузки...

Вопрос давольно интересный!!!

Кто-нибудь вообще пользуется самодельными j-tag для BF? Кто-то на форуме говорил, что можно использовать ByteBlaster(или подобный) + j-tag tool.

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


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

Вопрос давольно интересный!!!

Кто-нибудь вообще пользуется самодельными j-tag для BF? Кто-то на форуме говорил, что можно использовать ByteBlaster(или подобный) + j-tag tool.

ну я вот одну единственную ссылочку в интернете нашел, => Tools for JTAG on Blackfin Processors - http://blackfin.uclinux.org/gf/project/jtag

тут должны быть следующие файлы

gdbproxy-binary-0.03.tar.gz и bfemu-gdbproxy-0.03.tar.gz

 

1.0 release of ICEbear debugging and flash tools 
Maggie Nakhla 
2006-05-10 

The 1.0 release of the ICEbear tools include support for the BF561 and an adaptation of the graphical debugger 'Insight'. A quick feature overview and further information can be found at: 

http://www.section5.ch/index.php?which=1⊂=0#insight 

Also, the flash loader tools now provide GDB scripting and a faster standalone flash loader executable. 

Initial developer release 
Martin Strubel 
2004-11-30 

This is a very basic environment to enable JTAG Blackfin debugging with GDB. 
The distributions in this package depend on several working installations: 

- jtagbf533 // JTAG Tools for Blackfin 
- binutils-2.15 // GNU Toolchain for Blackfin 

More details: see README from the bfemu release.

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


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

Да скачал я это уже давно, ума пока только дать не могу, поэтому и спрашиваю, может это уже кто-то делал, т.е. настраивал? Как работает?

В моей ветке писали, что были проблемы с дебагером, Bf emu все процессрры 531-533 детектит как 533.

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


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

... Первоначальную прошивку EEPROM уже можно выполнить, загрузив готовую рабочую программу в память DSP через UART MCU.

Так, помучавшись с прошивкой в EEPROM, таки разобрался с особеностями и прошил уже саму EEPROM стартовым кодом с сайта - http://bfmodul.narod.ru/index1.htm

 

вот трудности с которыми можно столкнуться по ходу программирования EEPROM через PonyProg, описано тут - http://projects.org.ua/forum.phpbb2ru/viewtopic.php?t=559

 

ну и обсуждение, про то как установить uCLinux и саму возможность "поднятия" BF описана тут - http://projects.org.ua/forum.phpbb2ru/viewtopic.php?t=179

 

так же тут про u-boot for blackfin - http://projects.org.ua/forum.phpbb2ru/viewtopic.php?t=532

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


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

...плата вроде работает.

по крайней мере я уже загрузился с AT25256, и программу пробовал прошивать, прошивается... (через проект - http://bfmodul.narod.ru/index1.htm) тоесть плата работает, теперь хочу начать писать свой софт к этому контроллеру(процессору).

вот и вопрос родился - как мне начать?

 

я уже рядышком писал (http://electronix.ru/forum/index.php?showtopic=35031), повторю еще и здесь вопросик.

 

...помогите пожалуйста, хочу написать свою программулинку и помигать 2ми светодиодами на этой плате (на PF3 и PF4)

Не могу, ни где в интернете, найти примера типа как проекта - "led blink".

Перерыл пол инета, может искал не правильно както.

...у себя тоже нигде такой пример не нашел.

Искал начиная с этого форума (правда в глюбь не залазил), и кончая http://blackfin.uclinux.org/gf/

Может перемудренно искал както...

 

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

...так сказать толкнуть, а дальше я, как гордая птица, сам полечу... 8)

 

Надеюсь на Вашу помощь!

Заранее спасибо отозвавшимся!

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


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

помигать, это можно.
Спасибо!

...только можно Вас попросить перепаковать в ZIP, пожалуйста...

а то чтото RAR не может открыть Ваш архив...

да и размер 447 байт для RAR сомнение вызывает... может архив битый или не полный?

 

.

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


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

а то чтото RAR не может открыть Ваш архив... да и размер 447 байт для RAR сомнение вызывает... может архив битый или не полный?

последним winrar-ом (v3.70) открывается. Может Вам обновить winrar?

В аплодд/утилс поищите файл Winrar 3.70ru.zip

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


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

может архив битый или не полный?

ага, все разобрался, виндовым WINRAR открыл, увидел - все ОК

 

Огромное Вам спасибо !

...вот только это примерчик - не подходит, мне же на С нужно а он же на ASMе...

 

Все одно Спасибо.

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


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

Дык ведь в каталоге с установленным VDSP куча примеров!

искрене рад бы туда посмотреть...

но, как я уже отвечал тут http://electronix.ru/forum/index.php?showtopic=35031

рад бы туда посмотреть, только есть загвоздка 8)))
...у меня нет Visual - у меня LINUX и GCC (bfin-uclinux-gcc)

 

.

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


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

перекрестный линк с вопросом от сюда - http://electronix.ru/forum/index.php?showt...mp;#entry282420

 

помогите пожалуйста разобраться что не верно?

 

прощиваю программу через программу BFloader_20 (http://bfmodul.narod.ru/index1.htm)

я хочу от этой программы - зажечь светодиоды на PF3,PF4.

 

я загружаюсь с at25256, потом через программу BFloader_20 помещяю LDR файл в at45db041b и ставлю BOOTMODE="11", и CS иагнал подаю на at45db041b

 

все верно?

но не работает, и я не мойму в чем причина.

 

не могу понять где у меня проблемма:

- толи не правильно чтото в самой программе, а где не могу найти.

- толи я генерирую не корректно HEX, или LDR файлы...

- толи я не так программитрую бутовый флэш, что маловероятно, но тоже не исключено...

- толи гружусь не правильно как то, так вроде бы же для at45db041b - должно быть BOOTMODE="11"

 

 

вот она, сама тестовая программулина:

 

 

вот файл сборки и генерерации HEX,LDR файлов

#  Makefile для сборки модулей и компиляции программ для Blackfin
.....
SRC = dkv.c
BINARY = dkv
SRCS = $(wildcard *.c)
HDRS = $(wildcard *.h)
OBJS = $(SRCS:.c=.o)

.PHONY: clean

default:
# Компиляция программы
# ASM
#    $(CCbf)  $(FLAGS) -S dkv.c
# ELF
    $(CCbf)  $(FLAGS) -o $(BINARY) $(SRC)
# Удаление временных файлов
    rm -f *.elf *.gdb *.o *.mod.c
# генерация - HEX, LDR
    $(OBJCOPY) --strip-unneeded -I binary -O ihex $(BINARY) $(BINARY).hex
    ls --color  $(BINARY)  $(BINARY).hex

dkv: dkv.o
    $(OBJS): $(HDRS)
....

 

но это я получил HEX, а как же мне получить LDR ?

 

 

 

вот С код тестовой программы:

#include <stdio.h>
#define BF532_PROJECT

#ifdef BF532_PROJECT
    #include "cdefBF532.h"
#else
//    #include <cdefBF533.h>
#endif

//--------------------------------------------------------------------------//
void leds_blink(void);
void leds_init(void);
void Init_Flags(void);
void Init_Timers(void);
void Init_EBIU(void);
void Init_Interrupts(void);

//--------------------------------------------------------------------------//
int main (void){
    Init_Flags();
    Init_Timers();
    Init_EBIU();

    while(1){
        leds_blink();
    }

    return 0;
}


//--------------------------------------------------------------------------//
void leds_init(void){
    *pFIO_DIR = 0x001F; // Direction PF0..4 as Output
}

//--------------------------------------------------------------------------//
void leds_blink(void){
    *pFIO_FLAG_C=0xFF;
    *pFIO_FLAG_S=0xFF;
}

//--------------------------------------------------------------------------//
// Function:    ининциализауия_флагов                                                                                                            
// Description:    рассматриваемая функция инициализирует флаг PF8 как вход    
//              и описывает чувствительность по уровню к прерыванию по входу
//                кнопка платы SW7 подсоеденена к восьмому флагу
//--------------------------------------------------------------------------//
void Init_Flags(void)
{
    *pFIO_INEN        = 0x0000; // разрешение буфферизации входного флага 8
    *pFIO_DIR        = 0x001F; // все флаги входные 
    *pFIO_EDGE        = 0x0000; // флаг 8 демаскирует прерывание и срабатывает по уровню
    *pFIO_MASKA_D    = 0x0000; // разрешение прерывания PF8
}
//--------------------------------------------------------------------------//
// Function:    Инициализация таймера0                                       //
// Description:    функция инициализирует таймер0 в режиме ШИМ                 //
//                It is used as reference for the 'shift-clock'.                //
//--------------------------------------------------------------------------//
void Init_Timers(void)
{
    *pTIMER0_CONFIG        = 0x0019;
    *pTIMER0_PERIOD        = 0x00800000; //
    *pTIMER0_WIDTH        = 0x00400000; // 
    *pTIMER_ENABLE        = 0; //0x0001;     // разрешение работы нулевого таймера
}

//-------------------------------------------------------------------------------------//
// Function:    Init_EBIU                                                               //
//                                                                                       //
// Parameters:    None                                                                   //
//                                                                                       //
// Return:        None                                                                   //
//                                                                                       //
// Description:    Рассматриваемая функция осуществляет инициализацию и разрешение работы //
//              ассинхронных банков памяти для External Bus Interface Unit (EBIU)      //
//              и которая  разрешает доступ к Flash A                                  //
//-------------------------------------------------------------------------------------//
void Init_EBIU(void)
{
    *pEBIU_AMBCTL0    = 0x7bb07bb0;
    *pEBIU_AMBCTL1    = 0x7bb07bb0;
    *pEBIU_AMGCTL    = 0x000f;
}

 

в общем - помогите разобраться пожалуйста.

заранее большое человеческое спасибо всем откликнувшимся

 

.

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


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

...

- толи я генерирую не корректно HEX, или LDR файлы...

...

 

точнее я генерирую только HEX, а LDR не знаю как и чем.

 

..так что же такое LDR файл ?

может ктото сказать?

как его получить?

как и чем сгенерировать корректно?

...

 

ага, пока писал это, вот, ....нашел информацию по этому поводу - http://www.johanforrer.net/BLACKFIN/index.html

 

весьма много всего написано...

 

 

.

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


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

LDR файл по своей структуре является hex файлом.

Вернее в VDSP можно выбрать какова будет структура этого файла: hex, ASCII или bin.

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

Проц при загрузке отсылает команду 0x03 через SPI. Это стандартная команда чтения для EEPROM. Затем он отсылает несколько раз (до 3 раз) байт 0х00 пока EEPROM не выдаст данные. Если она выдала данные проц принимает решение о том EEPROM с какой адресацией подцеплена (8, 16 или 24 бита). Если же память так и не ответила, значит подключена AT45DB. В таком случае проц посылает команду чтения статусного регистра 0xD7 (если я не ошибаюсь) там содержится инфо об объеме флеш.

Ситуация усугубилась тем что в серии AT45DBxxxD появилась команда чтения 0х03 (которой не было в предыдущих версиях).

т.е. проц думает что к нему подцеплена EEPROM. Чтобы избавиться от этого бага советуют первый байт данных в hex файле заменить на FF. Т.е. проц будет думать что память не выдала данные. На что это может повлиять пока не знаю. Вот пример:

 

это начало моего hex файла

:020000040000FA

:0A00000000080FF04000000120061

:04000A00780000007A

:20000E000000A0FF620000000200660167014005C0045001510152015301580159015A019F

 

меняем первый байт данных на 0xFF и не забываем поправить контрольную сумму в конце строки

:020000040000FA

:0A000000FF0080FF04000000120062

:04000A00780000007A

:20000E000000A0FF620000000200660167014005C0045001510152015301580159015A019F

 

Кроме этого встречал рекомендацию изменить размер страницы памяти с 528 на 512. Но это действие необратимое, делать это не пробовал.

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


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

Затем если вы загружаетесь с AT45DBxxxD возникает следующая проблема.
у меня AT45DB041B-SU , тоесть не с буквой D а с B

пробовал свой HEX загружать и в AT25256 - тоже не грузится...

точнее если смотреть на осцилограффе - то чтото пролетает на MISO а программа не работает, вот и вопрос - что не правильно - моя программа или мой HEX.

 

это начало моего hex файла

:020000040000FA

:0A00000000080FF04000000120061

:04000A00780000007A

:20000E000000A0FF620000000200660167014005C0045001510152015301580159015A019F

 

меняем первый байт данных на 0xFF и не забываем поправить контрольную сумму в конце строки

:020000040000FA

:0A000000FF0080FF04000000120062

:04000A00780000007A

:20000E000000A0FF620000000200660167014005C0045001510152015301580159015A019F

 

спасибо, хоть что-то теперь разъясняется!

 

...а у меня проблемма, почемуто HEX выглядит иначе в заголовке, а точнее - совершенно иначе... не так как у Вас, вот:

:10000000400080FF04000000120002010000000018

:10001000A0FFF80000000A00660167014005C00467

:1000200048E1C0FF08E1100080E10003008A2400DD

:100030004AE1C0FF0AE1100A1091C04A109324005F

:10004000206182C6488001600156016082C64182FB

:10005000015648E1C0FF08E1000032002400008A98

:100060002000420048E1C0FF08E10C00009528494B

:10007000FA13286048E1C0FF08E10400008A240068

:100080004AE1C0FF0AE1080A40E1B39900E183991F

:10009000109324004AE1C0FF0AE1040A40E1C3BB17

:1000A00000E1C3BB109324004AE1C0FF0AE1000A4B

:1000B00020E1FF001097240008E1180A48E1C0FF82

:1000C00020E16802008A240008E1140A48E1C0FF28

:1000D000B861008A24004AE1C0FF0AE1100A1091C9

:1000E000C04C48E1C0FF08E11C0A80821A49031095

:1000F0000000B84A1093240000E1091140E191008A

:100100001093240000008004000527012601100040

....выкушено....

:0A07E00004660000046A0800050426

:00000001FF

 

тоесть, даже чуть иначе - вот тут, в описании LDR формата и методики создания из под LINUX - http://www.johanforrer.net/BLACKFIN/index.html, и у них тоже HEX похож на мой...

 

так чтоже тогда и где править?

 

кстати, продовал этот код загрузить в программатор BFloader20 - он видит только HEX, а LDR-файл не видит, говорит что размерность файла - 0байт ...

 

 

 

.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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