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 |
|
Boot problems with 21160
Started by ●July 9, 2003
Reply by ●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 ●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 |