DSPRelated.com
Forums

Newb trying to program a BF537

Started by Unknown December 23, 2007
Hi guys,

I'm new to the DSP scene (new to the embedded scene in general,
actually), so I hope you'll excuse my ignorance.  I'm trying to
program a Blackfin BF537.  It happens to reside on this Surveyor SRV-1
camera board (http://www.surveyor.com/blackfin/).

I'm trying to do two things: a) get an LED flashing with this guy and,
more importantly, b) get uClinux running and have my development host
able to talk to it through a terminal.  There's a lot of useful in
formation on http://docs.blackfin.uclinux.org/doku.php, but I'm a bit
overwhelmed and I'm having trouble adapting their instructions, which
are for an EZ-kit, to my situation.  My dev host is running Linux, and
my machine has only a USB port, no serial port.  I don't have a JTAG
adapter, otherwise it seems like I might be able to use openwince.  Is
there some way I can program the uc via SPI or UART?  What kind of
hardware would I need to do that, and what kind of software would the
host need to drive that hardware?

Thanks,
dspnewb
<dspnewb@gmail.com> wrote in message
news:82961af3-c471-442f-99b5-c54f27936c40@n20g2000hsh.googlegroups.com...
> Hi guys, > > I'm new to the DSP scene (new to the embedded scene in general, > actually), so I hope you'll excuse my ignorance. I'm trying to > program a Blackfin BF537. It happens to reside on this Surveyor SRV-1 > camera board (http://www.surveyor.com/blackfin/).
Option 1: Program 25P32 via byteblaster Option 2: Program 25P32 via JTAG Option 3: Drop it. Find some other toy. Option 4: Find someone experienced with BlackFin.
> I'm trying to do two things: a) get an LED flashing with this guy and, > more importantly, b) get uClinux running and have my development host > able to talk to it through a terminal.
What exactly are you trying to accomplish as the final result?
> There's a lot of useful in > formation on http://docs.blackfin.uclinux.org/doku.php,
There is a lot of useless information, too.
> but I'm a bit > overwhelmed and I'm having trouble adapting their instructions, which > are for an EZ-kit, to my situation. My dev host is running Linux, and > my machine has only a USB port, no serial port.I don't have a JTAG > adapter,
So you are not looking for the easy ways in life, are you?
> otherwise it seems like I might be able to use openwince. Is > there some way I can program the uc via SPI
If you can set the DSP into the boot from host mode, you can boot it from SPI and then do whatever you want.
> or UART?
Not unless somebody already provided the flashloader.
> What kind of > hardware would I need to do that, and what kind of software would the > host need to drive that hardware?
Hardware: 1. Smart head 2. Assiduous arse 3. Byteblaster 4. VDSP++ 5. A PC Windows (not Vista) with a C compiler And a lot of patience. May be, you will get it to work in several months or so. Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com
Vladimir Vassilevsky is rude and never made mistakes while learning.
The OP followed all the posting guidelines for asking for help.
There all relevant paraphrases to "It is better to remain silent and be 
thought a ..."

Richard Owlett wrote:
> Vladimir Vassilevsky is rude and never made mistakes while learning. > The OP followed all the posting guidelines for asking for help. > There all relevant paraphrases to "It is better to remain silent and be > thought a ..."
It would have been kinder of Vlad to have put some of it more gently, But he's basically in the mark this time. If I had to get it done, I would buy the EZ-Kit as a learning tool. It might halve the learning time. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
"Jerry Avins" <jya@ieee.org> wrote in message
news:gKidnVydJPWqPPPanZ2dnUVZ_h6hnZ2d@rcn.net...
> Richard Owlett wrote: > > Vladimir Vassilevsky is rude and never made mistakes while learning. > > The OP followed all the posting guidelines for asking for help. > > There all relevant paraphrases to "It is better to remain silent and be > > thought a ..."
"Only those are despicable who are afraid of being despised" (c) Francois La Rochefoucauld
> It would have been kinder of Vlad to have put some of it more gently, > But he's basically in the mark this time. If I had to get it done, I > would buy the EZ-Kit as a learning tool. It might halve the learning time.
The main questions are not "what to do" and "how to do". The main questions are "why doing this" and "what is the goal". BTW, I have never had much use for the development boards. The only possible learning is the real project. VLV
On Dec 23, 6:14&#4294967295;am, "Vladimir Vassilevsky"
<antispam_bo...@hotmail.com> wrote:

Thanks for the responses!

> Option 1: Program 25P32 via byteblaster > Option 2: Program 25P32 via JTAG > Option 3: Drop it. Find some other toy. > Option 4: Find someone experienced with BlackFin.
I haven't yet had the time to figure out exactly what the distinction between the ByteBlaster cable and a JTAG adapter such as ICEBear (http://www.section5.ch/icebear) is, but it looks like an interesting lead.
> What exactly are you trying to accomplish as the final result?
This is part of a robotics project. I'm working on embedded machine vision for object avoidance / recognition. Looking to run OpenCV on the thing.
> > &#4294967295;but I'm a bit > > overwhelmed and I'm having trouble adapting their instructions, which > > are for an EZ-kit, to my situation. &#4294967295;My dev host is running Linux, and > > my machine has only a USB port, no serial port.I don't have a JTAG > > adapter, > > So you are not looking for the easy ways in life, are you?
I'm a college student without much money, and I'm trying to learn as cheaply as possible.
> > > otherwise it seems like I might be able to use openwince. &#4294967295;Is > > there some way I can program the uc via SPI > > If you can set the DSP into the boot from host mode, you can boot it from > SPI and then do whatever you want.
I think I see. So as an alternative to the ByteBlaster / JTAG solution: I could use a USB-SPI adapter, set the DSP to boot as an SPI slave, have it load Das U-Boot and get uClinux up and running, then talk to it over the same connection via kermit? The "have it load Das U-Boot and get uClinux up and running" step is pretty fuzzy to me. I'm unclear on how the SPI master (the dev machine) is going to know that it's supposed to shoot back the Das U-Boot LDR file over the wire for execution by the DSP. Once I have uClinux running and I can communicate via a terminal, it seems like it's smooth(er) sailing.
> > or UART? > > Not unless somebody already provided the flashloader.
According to the people supplying the hardware: "The firmware that ships with the camera board includes a boot loader and firmware upload functions, and even if you clobber the firmware in flash memory, the processor has a UART boot mode." Would this be very different from the scenario for SPI that I outlined above?
> > > What kind of > > hardware would I need to do that, and what kind of software would the > > host need to drive that hardware? > > Hardware: > > 1. Smart head > 2. Assiduous arse > 3. Byteblaster > 4. VDSP++ > 5. A PC Windows (not Vista) with a C compiler >
Well, I have or can get at least 4 of those 5, and I try to have component #2 compensate where component #1 fails. Thanks again! dspnewb
Vladimir Vassilevsky wrote:
> "Jerry Avins" <jya@ieee.org> wrote in message >>It would have been kinder of Vlad to have put some of it more gently, >>But he's basically in the mark this time. If I had to get it done, I >>would buy the EZ-Kit as a learning tool. It might halve the learning time. > > The main questions are not "what to do" and "how to do". The main questions > are "why doing this" and "what is the goal". > BTW, I have never had much use for the development boards. The only possible > learning is the real project.
The development board is something that is known to work (well, let's hope so), and in the case of ADI boards, it's supported by the VDSP toolchain. I found it very useful to get started with, especially because the first Blackfin boards designed by our own hardware guys didn't work perfectly from the start. It simply lowers the learning curve if you don't have to grasp *everything* at once. The OP wants to get a program into the board but doesn't have JTAG. This means he has to know - from what source the board boots - what format the boot loader expects and how to generate that from the tool chain - how the peripherals are wired and how they must be programmed from the controller side (to be able to see anything on the UART) - how to get the generated boot stream into the boot source From the information pieces in this thread I gather that the board boots from an SPI flash. Well, it *can* work to write a RS232 "hello, world" program, generate a boot stream and put that into the SPI flash using some parallel port adapter. But debugging that if it doesn't work is quite expensive in time. For example, the early BF533 parts required an "interesting" format for NOR flash boots, which I had never found out if I didn't have a development board and step-by-step flash instructions. Stefan
On 2007-12-24, dspnewb@gmail.com <dspnewb@gmail.com> wrote:
> > I haven't yet had the time to figure out exactly what the distinction > between the ByteBlaster cable and a JTAG adapter such as ICEBear > (http://www.section5.ch/icebear) is, but it looks like an interesting > lead.
JTAG is a standard, but JTAG adapters are not. There are dozens (ok, perhaps at most 4 lines from 8 pins, 1680 combinations...) of flavors of parallel port to JTAG adapter. The byteblaster is one (made by Altera, cloned by many, supported by Quartus II). It's key to know WHICH of the zillion JTAG cables will work with the software that knows how to talk to your parts. If your software will use a ByteBlaster, you can google some really ghetto homebrew adapters that are little more than a few resistors on a DB25M. -- Ben Jackson AD7GD <ben@ben.com> http://www.ben.com/
I'll jump in here (a bit late), as it's our board he is trying to program.

1.  The only JTAG we've used with the SRV-1 board is ICEbear from
www.section5.ch .  Our JTAG interface should be compatible with anything
that supports the Analog Devices development boards (STAMP), etc, but we
haven't tested this.

2.  u-boot and uclinux ports exist for the SRV-1 board - you can find
download links on http://www.surveyor.com/blackfin/ as well as looking at
the latest builds on http://blackfin.uclinux.org - board is defined as
"srv1" for the auto-configuration

3.  I personally am very familiar with programming the SRV-1 in "bare
metal" mode (no OS) using the bfin-elf-gcc toolchain, and there is a lot
of code available for writing the simplest LED flasher to something with a
lot more complexity.  Again, look on http://www.surveyor.com/blackfin/ for
links to the firmware.  It's all open source.

4.  For board specific problems, take a look at the Surveyor Robotics
Forum - http://www.surveyor.com/robot_forum.html - there's a lot of
activity on the forum, though most of the users so far are running bare
metal rather than uclinux.

Howard