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
EPROM Bootup: ADSP-21061-EZLITE
Started by ●October 4, 2004
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 thistopic.> > I'm trying to program an EEPROM AT28C010E-12PC for a demonstration program > that I should run on this platform. The EEPROM programming procedure isnot> 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 Ijust> place the original EPROM (27C1001) on the socket, when looking to the CSand> 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 upproperly,> 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 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 differentCorrection (I mistyped): AT28LV010-20PI> voltages) for testing on the ADSP-21065L-EZLITE, this kit boots upproperly,> what makes me double check that the programmer works fine, so this one is > not the cause of the problem.
Reply by ●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 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 ●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 onthe> > ADSP-21061-EZLITE, I see that the CS signal is asserted for a shorttime,> > then it's not asserted anymore, thus the EEPROM is not being read. If Ijust> > place the original EPROM (27C1001) on the socket, when looking to the CSand> > 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. Thenload> 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'ssupposed 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 areal> 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 ●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.