Reply by Jaime Andres Aranguren Cardona●October 6, 20042004-10-06
Jim Thomas <jthomas@bittware.com> wrote in message news:<10m579vqvgu0cd2@corp.supernews.com>...
> Jaime Andr�s Aranguren Cardona wrote:
> >
> > When I place the DIP-packaged AT28C010E-12PC on the socket provided on the
> > ADSP-21061-EZLITE, I see that the CS signal is asserted for a short time,
> > then it's not asserted anymore, thus the EEPROM is not being read. If I just
> > place the original EPROM (27C1001) on the socket, when looking to the CS and
> > OE signals I can see that the EPROM is being read. Why not with mine?
Hello,
After some comments from Steve Holle in the ADSP newsgroup at Yahoo!
(http://groups.yahoo.com/group/adsp/), a group which i really
recommend to those working with DSPs from Analog Devices, I could find
where the problem is.
I'm forwarding what I wrote to him, so you can know how I found it,
and what can I do. Maybe someone else could benefit from it.
Regards,
JaaC
----------------
You're right, Steve.
The problem is completely in the realm of the EPROM
interface. In the 21061 EZLITE the pin 31 is directly
hardwired to ADDR_18. Pin 31 is Vpp on the 27C010, but
ADDR_18 on bigger memories, and /WR on the 28C010, but
ADDR_18 on bigger memories.
I reviewed the datasheet for the (UV)EPROM, at least
for the AT28C010 which is an OTP version. Anyways, for
reading the EPROM doesn't care about the state of the
Vpp pin (pin 31). But for the 28C010 that pin should
be /WR deasserted, which means it should be "high". As
this pin is hardwired to ADDR_18, and that address is
not being read, the AT28C010 is not being read, but it
works for the AT27C010.
So I think my options are:
1. Use an EPROM (niether EEPROM, nor FLASH)
2. Modify the EzKit (I wouldn't like to!)
3. Use a bigger memory.
Thanks a lot for your comments.
JaaC
--- Steve Holle <sholle@link-comm.com> wrote:
> Would it be possible for you to copy the contents of
> your monitor EPROM
> into the EEPROM and try running the EEPROM at that
> point?
>
> If that works, it would indicate something is wrong
> with the loader
> setup. If it doesn't work, it would indicate a
> problem interfacing the
> EEPROM to the ezkit board. I think the first 256 or
> so words of the EEPROM
> should be the loader code which is loaded
> automatically and then begins
> loading the rest of the code.
>
>
> I would also check that the WE pin is pulled up on
> your ezkit board. That
> pin should never go low in the system. On the
> 21065L board there is a
> jumper attached to that pin.
Reply by ●October 5, 20042004-10-05
"Jim Thomas" <jthomas@bittware.com> escribi� en el mensaje
news:10m579vqvgu0cd2@corp.supernews.com...
> Jaime Andr�s Aranguren Cardona wrote:
> >
> > When I place the DIP-packaged AT28C010E-12PC on the socket provided on
the
> > ADSP-21061-EZLITE, I see that the CS signal is asserted for a short
time,
> > then it's not asserted anymore, thus the EEPROM is not being read. If I
just
> > place the original EPROM (27C1001) on the socket, when looking to the CS
and
> > OE signals I can see that the EPROM is being read. Why not with mine?
>
> Hi Jaime,
>
> With your image burned into the boot rom, fire up your Summit ICE. Then
load
> the 060_prom.dxe and step through it. You might need to set the DMA's EI
> register to 800600 before starting though. I know that's where it's
supposed to
> be after the bootloader is loaded, but I don't recall if ADI's bootloader
> explicitely sets it or not.
>
> Make sure you read ADI's app note on booting too. This chunk-o-code is a
real
> bear to understand.
> --
> Jim Thomas Principal Applications Engineer Bittware, Inc
> jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536
> When you have a new hammer, the whole world looks like a nail.
Hi Jim,
I did what you recommended. I suppose you refer to the EI register of DMA
channel 6, as this is the one used for PROM booting. I can't change to the
value you mentioned just 5 hex positions are availabe, and 800600 is 6 hex
positions long.
When I try to load the 060_prom.dxe file a message box appears: Tring to
load "ADSP-21062" executable into "ADSP-21061" session. Continue? I say YES.
I can see an EM register initially pointing to 0x00400000, which after every
interrupt EP0I (the program jumps to 0x020040) gets incremented by 6
positions... and I can see with the o'scope the assertions of both CS and RD
signals on the EEPROM, which tells me that every intrrupt I am reading 6
bytes from the EEPROM, which I interpret as correctly reading the
instructions. I placed a breakpoint at 0x020041, which holds a rti(db)
instruction, and got some captures of the CS and RD signals, which seem to
be OK. I step thtough this way for some iterations. Then I remove the
brakpoint and let the program run freely. But then, from address 0x020000
everything seeem to be random data, in other words, random instructions. I'd
exepct somehitng like an Interrupt Vector Table.
Anyways, with your suggestion the EEPROM seems to be read OK. Why doesn't it
work when simply powering the EzKit, in standalone mode?
Any hint is very welcome.
TIA.
--
Jaime Andr�s Aranguren Cardona
jaac@nospam.sanjaac.com
SanJaaC Electronics
Soluciones en DSP
www.sanjaac.com
(Remove "nospam" from e-mail address)
Reply by Jim Thomas●October 5, 20042004-10-05
Jaime Andr�s Aranguren Cardona wrote:
>
> When I place the DIP-packaged AT28C010E-12PC on the socket provided on the
> ADSP-21061-EZLITE, I see that the CS signal is asserted for a short time,
> then it's not asserted anymore, thus the EEPROM is not being read. If I just
> place the original EPROM (27C1001) on the socket, when looking to the CS and
> OE signals I can see that the EPROM is being read. Why not with mine?
Hi Jaime,
With your image burned into the boot rom, fire up your Summit ICE. Then load
the 060_prom.dxe and step through it. You might need to set the DMA's EI
register to 800600 before starting though. I know that's where it's supposed to
be after the bootloader is loaded, but I don't recall if ADI's bootloader
explicitely sets it or not.
Make sure you read ADI's app note on booting too. This chunk-o-code is a real
bear to understand.
--
Jim Thomas Principal Applications Engineer Bittware, Inc
jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536
When you have a new hammer, the whole world looks like a nail.
Reply by Bernhard Holzmayer●October 5, 20042004-10-05
Jaime Andr�s Aranguren Cardona wrote:
> BTW, I created my LDF simply using the Expert Linker utility. For
> running with the emulator, I didn't have any problem at all. Does
> it influence EPROM booting?
>
Maybe, it's too far away from your issue, but who knows...
I wanted to boot from EPROM on a 21161 board.
Because my program accessed code from external SDRAM,
I had to modify the 161_prom.dxe file.
That was well-prepared by ADI, and worked perfectly.
When upgrading from VDSP++ 3.0->3.5,
it didn't work anymore because the file 161_prom.dxe had been
changed.
I just replaced it by the old one, and everything was fine again.
According to what ADI told me, memory accesses into different
segments depend on the sequential order now, which was not so
before. This is extremely important if you deal with different
widths (e.g. 32/40 bit data sections).
Just an idea.
I hope its worth is more than 1c...
Bernhard
Reply by ●October 5, 20042004-10-05
"Jaime Andr�s Aranguren Cardona" <jaac@nospam.sanjaac.com> escribi� en el
mensaje news:1096930025.3atdvn5Z66i+XtlxwzXPWw@teranews...
> What makes it more strange for me, is that if I use the same EEPROM
> progrmmer to program an AT27LV010-20PI (taking care of the different
Correction (I mistyped): AT28LV010-20PI
> voltages) for testing on the ADSP-21065L-EZLITE, this kit boots up
properly,
> what makes me double check that the programmer works fine, so this one is
> not the cause of the problem.
Reply by ●October 4, 20042004-10-04
BTW, I created my LDF simply using the Expert Linker utility. For running
with the emulator, I didn't have any problem at all. Does it influence EPROM
booting?
Regards,
--
Jaime Andr�s Aranguren Cardona
jaac@sanjaac.com
SanJaaC Electronics
Soluciones en DSP
www.sanjaac.com
"Jaime Andr�s Aranguren Cardona" <jaac@nospam.sanjaac.com> escribi� en el
mensaje news:1096930025.3atdvn5Z66i+XtlxwzXPWw@teranews...
> Hi,
>
> I'm confident that some people here could give me some advice on this
topic.
>
> I'm trying to program an EEPROM AT28C010E-12PC for a demonstration program
> that I should run on this platform. The EEPROM programming procedure is
not
> the problem, I do that and the verification program says it's OK. I even
> wrote my own utility to read back the EEPROM trough a microcontroller via
> UART, and all the locations are programmed fine.
>
> The DSP program runs perfectly with the Summit-ICE emulator.
>
> I generte the .ldr file changing the project type to DSP Loader File,
> selecting PROM mode, Hex boot format, Start Address is 0x0 and using the
> default kernel C:\Archivos de programa\Analog Devices\VisualDSP 3.5
> 32-Bit\21k\ldr\060_prom.dxe, which is the normal procedure AFAIK.
>
> When I place the DIP-packaged AT28C010E-12PC on the socket provided on the
> ADSP-21061-EZLITE, I see that the CS signal is asserted for a short time,
> then it's not asserted anymore, thus the EEPROM is not being read. If I
just
> place the original EPROM (27C1001) on the socket, when looking to the CS
and
> OE signals I can see that the EPROM is being read. Why not with mine?
>
> What makes it more strange for me, is that if I use the same EEPROM
> progrmmer to program an AT27LV010-20PI (taking care of the different
> voltages) for testing on the ADSP-21065L-EZLITE, this kit boots up
properly,
> what makes me double check that the programmer works fine, so this one is
> not the cause of the problem.
>
> So, if there is something special, regarding maybe the LDF (linker
> description file) or something else that I have not considered yet, please
> let me know. I really need to get it up and running soon.
>
> Kindest regards,
>
> --
> Jaime Andr�s Aranguren Cardona
> jaac@sanjaac.com
> SanJaaC Electronics
> Soluciones en DSP
> www.sanjaac.com
>
>
Reply by ●October 4, 20042004-10-04
Hi,
I'm confident that some people here could give me some advice on this topic.
I'm trying to program an EEPROM AT28C010E-12PC for a demonstration program
that I should run on this platform. The EEPROM programming procedure is not
the problem, I do that and the verification program says it's OK. I even
wrote my own utility to read back the EEPROM trough a microcontroller via
UART, and all the locations are programmed fine.
The DSP program runs perfectly with the Summit-ICE emulator.
I generte the .ldr file changing the project type to DSP Loader File,
selecting PROM mode, Hex boot format, Start Address is 0x0 and using the
default kernel C:\Archivos de programa\Analog Devices\VisualDSP 3.5
32-Bit\21k\ldr\060_prom.dxe, which is the normal procedure AFAIK.
When I place the DIP-packaged AT28C010E-12PC on the socket provided on the
ADSP-21061-EZLITE, I see that the CS signal is asserted for a short time,
then it's not asserted anymore, thus the EEPROM is not being read. If I just
place the original EPROM (27C1001) on the socket, when looking to the CS and
OE signals I can see that the EPROM is being read. Why not with mine?
What makes it more strange for me, is that if I use the same EEPROM
progrmmer to program an AT27LV010-20PI (taking care of the different
voltages) for testing on the ADSP-21065L-EZLITE, this kit boots up properly,
what makes me double check that the programmer works fine, so this one is
not the cause of the problem.
So, if there is something special, regarding maybe the LDF (linker
description file) or something else that I have not considered yet, please
let me know. I really need to get it up and running soon.
Kindest regards,
--
Jaime Andr�s Aranguren Cardona
jaac@sanjaac.com
SanJaaC Electronics
Soluciones en DSP
www.sanjaac.com