Reply by bhaskar_thiagarajan July 9, 20032003-07-09
--- In , Mike Rosing <eresrch@e...> wrote:
> On Wed, 9 Jul 2003, Stefano wrote:
>
> > Note that if I load the file.ldr (Intel type) with visualDSP to
> > simulate the boot, it doesn't work too.
> > In particular the behavior is as follows:
> > 1 - After a reset I note that boot kernel is correctly loaded on
> > disassembly window.
> > 2 After a run the program doesn't work and after some seconds
the
> > run stop and an "Attempt to write to non-existent memory" error
> > message appear at PM address 40204.
> > I note that PM memory form 40000 to 40200 is filled with "nop"
> > excluded locations 40103 and 40104. At 40005 there isn't a jump
> > instruction. My understanding was that the loader should
> > rewrite locations from 40000 to 40100 where the loader was first
> > executed.
> >
> > Any suggestion?
>
> Put in a break point half way thru your code and see if you get to
> it. If not, start over and try 1/4 of the way. Do a binary search
> until you find the place your code heads off into the weeds (or what
> I call "never never land" when you overwrite your code with

I call it "la-la land" :-)

> garbage!)
> It's a simple silly bug. You just have to find it :-)
>
> Patience, persistence, truth,
> Dr. mike


Reply by Mike Rosing July 9, 20032003-07-09
On Wed, 9 Jul 2003, Stefano wrote:

> Note that if I load the file.ldr (Intel type) with visualDSP to
> simulate the boot, it doesn't work too.
> In particular the behavior is as follows:
> 1 - After a reset I note that boot kernel is correctly loaded on
> disassembly window.
> 2 After a run the program doesn't work and after some seconds the
> run stop and an "Attempt to write to non-existent memory" error
> message appear at PM address 40204.
> I note that PM memory form 40000 to 40200 is filled with "nop"
> excluded locations 40103 and 40104. At 40005 there isn't a jump
> instruction. My understanding was that the loader should
> rewrite locations from 40000 to 40100 where the loader was first
> executed.
>
> Any suggestion?

Put in a break point half way thru your code and see if you get to
it. If not, start over and try 1/4 of the way. Do a binary search
until you find the place your code heads off into the weeds (or what
I call "never never land" when you overwrite your code with garbage!)
It's a simple silly bug. You just have to find it :-)

Patience, persistence, truth,
Dr. mike



Reply by Stefano July 9, 20032003-07-09
Hello

I use ADSP21160 mounted in a VME board. I develop my C++ software
with visualDSP++ 2.0 and Summit EZ-ICE emulator pod.
If I use emulator pod my software works fine, but if I build a
bootable file for a PROM,
it doesn't work. In particular the behavior is as follows:
1 - After I've debugged my program I build the release version
with "loader" (with default 160_prom.dxe).
2 I load a FLASH with the file.ldr (ASCII type) and I check that
all bytes are well written.
3 I reset the 21160 with a pushbutton on the board, but the program
doesn't start.

I've checked some signals with a scope:
1 There are only 256 pulse of RDH after reset goes high, boot
kernel seems not load the rest of the program. .
2 BMS goes low after reset goes high, but BMS remains low.

Note that if I load the file.ldr (Intel type) with visualDSP to
simulate the boot, it doesn't work too.
In particular the behavior is as follows:
1 - After a reset I note that boot kernel is correctly loaded on
disassembly window.
2 After a run the program doesn't work and after some seconds the
run stop and an "Attempt to write to non-existent memory" error
message appear at PM address 40204.
I note that PM memory form 40000 to 40200 is filled with "nop"
excluded locations 40103 and 40104. At 40005 there isn't a jump
instruction. My understanding was that the loader should
rewrite locations from 40000 to 40100 where the loader was first
executed.

Any suggestion?

Thanks in advance

Best Regards

Stefano