Hello Everyone, I'm working with the 5509 and am trying to run code off chip. I want to run my code out of an external flash. I locate time critical code on chip and swap as needed. The code I run out of flash is user interface etc. We have to accommodate five languages so it takes up lots of space. I've done this on the 5409 with no problems, but on this project I'm having problems. This may be due to my using the DSP Bios on this project. I have not used it in my other projects so I am new to it. So far I have just switched to large memory model, switched to the large library, and set up so the user code text locates into the proper CE space. I've replaced my flash with a static ram (Same foot print) and have verified that I can read and write to it. My program compiles fine and seems to load ok though the emulator into the external ram. When I try to run the program it seems to hang on the bios initialization. If I set the user code text to run on chip the program runs fine. So I'm asking the throbbing cumulative brain of c55 experts out there if they have any ideas as to what I'm missing. I welcome any suggestions I've spent a 2 days on this, and hate to spend any more time without asking since its probably a obvious oversight on my part. Thanks, PeeJayBlack |
|
5509/bios issue running code off chip
Started by ●May 30, 2004
Reply by ●May 31, 20042004-05-31
PeeJay- Why would you not locate DSP/BIOS code in onchip mem? It's not a large amount. Would you not have to do this anyway, when you reach the point of EEPROM boot vs. emulator load? You will have to boot something to run, that something should include BIOS initialization and any other low-level initialization. My experience has been: a) keep anything that occurs prior to void main() in onchip mem, and b) put low-level code in place using a boot mechanism, either onchip bootloader or other method such as external logic that loads code via HPI. Once you reach main(), then you are free to locate code and mix/match memory spaces as needed. We have to support a wide range of TI DSPs here, and that has been our standard method for C5xxx and C6xxx series. -Jeff peejayblack wrote: > > Hello Everyone, > > I'm working with the 5509 and am trying to run code off chip. > I want to run my code out of an external flash. I locate time > critical code on chip and swap as needed. The code I run out of > flash is user interface etc. We have to accommodate five languages > so it takes up lots of space. I've done this on the 5409 with no > problems, but on this project I'm having problems. This may be > due to my using the DSP Bios on this project. I have not used it in > my other projects so I am new to it. So far I have just switched to > large memory model, switched to the large library, and set up so the > user code text locates into the proper CE space. I've replaced my > flash with a static ram (Same foot print) and have verified that I > can read and write to it. My program compiles fine and seems to load > ok though the emulator into the external ram. When I try to run the > program it seems to hang on the bios initialization. If I set the > user code text to run on chip the program runs fine. > > So I'm asking the throbbing cumulative brain of c55 experts out > there if they have any ideas as to what I'm missing. I welcome > any suggestions I've spent a 2 days on this, and hate to spend any > more time without asking since its probably a obvious oversight on > my part. > > Thanks, > PeeJayBlack |
|
Reply by ●May 31, 20042004-05-31
Jeff, Thanks for the reply. Yes thats what I think I'm trying to do. I have the bios set to run on chip then you have choices as to where user code is run. Just as a start I selected user .text to run off chip, and it hangs on the bios initalization. They allow you to use your own cmd file as well to locate user code but scanning the cmd file they generate I can see no issues. PeeJayBlack --- In , Jeff Brower <jbrower@s...> wrote: > PeeJay- > > Why would you not locate DSP/BIOS code in onchip mem? It's not a large amount. > Would you not have to do this anyway, when you reach the point of EEPROM boot vs. > emulator load? You will have to boot something to run, that something should include > BIOS initialization and any other low-level initialization. > > My experience has been: a) keep anything that occurs prior to void main() in onchip > mem, and b) put low-level code in place using a boot mechanism, either onchip > bootloader or other method such as external logic that loads code via HPI. Once you > reach main(), then you are free to locate code and mix/match memory spaces as > needed. > > We have to support a wide range of TI DSPs here, and that has been our standard > method for C5xxx and C6xxx series. > > -Jeff > > peejayblack wrote: > > > > Hello Everyone, > > > > I'm working with the 5509 and am trying to run code off chip. > > I want to run my code out of an external flash. I locate time > > critical code on chip and swap as needed. The code I run out of > > flash is user interface etc. We have to accommodate five languages > > so it takes up lots of space. I've done this on the 5409 with no > > problems, but on this project I'm having problems. This may be > > due to my using the DSP Bios on this project. I have not used it in > > my other projects so I am new to it. So far I have just switched to > > large memory model, switched to the large library, and set up so the > > user code text locates into the proper CE space. I've replaced my > > flash with a static ram (Same foot print) and have verified that I > > can read and write to it. My program compiles fine and seems to load > > ok though the emulator into the external ram. When I try to run the > > program it seems to hang on the bios initialization. If I set the > > user code text to run on chip the program runs fine. > > > > So I'm asking the throbbing cumulative brain of c55 experts out > > there if they have any ideas as to what I'm missing. I welcome > > any suggestions I've spent a 2 days on this, and hate to spend any > > more time without asking since its probably a obvious oversight on > > my part. > > > > Thanks, > > PeeJayBlack |
Reply by ●June 1, 20042004-06-01
PeeJay- > Thanks for the reply. Yes thats what I think I'm > trying to do. I have the bios set to run on chip > then you have choices as to where user code is > run. Just as a start I selected user .text > to run off chip, and it hangs on the bios initalization. > They allow you to use your own cmd file as well to locate > user code but scanning the cmd file they generate I can > see no issues. I'm not sure what you mean. Can you single step until void main() ? If not, then what exactly is the last valid code before control is lost? My approximate guess is that something happens in auto_init() or bios_init() functions. But you have to get in there to verify. -Jeff > --- In , Jeff Brower <jbrower@s...> wrote: > > PeeJay- > > > > Why would you not locate DSP/BIOS code in onchip mem? It's not a > large amount. > > Would you not have to do this anyway, when you reach the point of > EEPROM boot vs. > > emulator load? You will have to boot something to run, that > something should include > > BIOS initialization and any other low-level initialization. > > > > My experience has been: a) keep anything that occurs prior to > void main() in onchip > > mem, and b) put low-level code in place using a boot mechanism, > either onchip > > bootloader or other method such as external logic that loads code > via HPI. Once you > > reach main(), then you are free to locate code and mix/match > memory spaces as > > needed. > > > > We have to support a wide range of TI DSPs here, and that has been > our standard > > method for C5xxx and C6xxx series. > > > > -Jeff > > > > peejayblack wrote: > > > > > > Hello Everyone, > > > > > > I'm working with the 5509 and am trying to run code off chip. > > > I want to run my code out of an external flash. I locate time > > > critical code on chip and swap as needed. The code I run out of > > > flash is user interface etc. We have to accommodate five > languages > > > so it takes up lots of space. I've done this on the 5409 with no > > > problems, but on this project I'm having problems. This may be > > > due to my using the DSP Bios on this project. I have not used it > in > > > my other projects so I am new to it. So far I have just switched > to > > > large memory model, switched to the large library, and set up so > the > > > user code text locates into the proper CE space. I've replaced my > > > flash with a static ram (Same foot print) and have verified that > I > > > can read and write to it. My program compiles fine and seems to > load > > > ok though the emulator into the external ram. When I try to run > the > > > program it seems to hang on the bios initialization. If I set the > > > user code text to run on chip the program runs fine. > > > > > > So I'm asking the throbbing cumulative brain of c55 experts out > > > there if they have any ideas as to what I'm missing. I welcome > > > any suggestions I've spent a 2 days on this, and hate to spend > any > > > more time without asking since its probably a obvious oversight > on > > > my part. > > > > > > Thanks, > > > PeeJayBlack > _____________________________________ > Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group. > > _____________________________________ > About this discussion group: > > To Join: Send an email to > > To Post: Send an email to > > To Leave: Send an email to > > Archives: http://www.yahoogroups.com/group/c55x > > Other Groups: http://www.dsprelated.com > Yahoo! Groups Links > > |
|
Reply by ●June 1, 20042004-06-01
Hello Jeff, The crash occurs in "_BIOS_init:". It locks hard even crashes CCS. Thanks in advance for any ideas Peejayblack --- In , Jeff Brower <jbrower@s...> wrote: > PeeJay- > > > Thanks for the reply. Yes thats what I think I'm > > trying to do. I have the bios set to run on chip > > then you have choices as to where user code is > > run. Just as a start I selected user .text > > to run off chip, and it hangs on the bios initalization. > > They allow you to use your own cmd file as well to locate > > user code but scanning the cmd file they generate I can > > see no issues. > > I'm not sure what you mean. Can you single step until void main() ? If not, then > what exactly is the last valid code before control is lost? > > My approximate guess is that something happens in auto_init() or bios_init() > functions. But you have to get in there to verify. > > -Jeff > > --- In , Jeff Brower <jbrower@s...> wrote: > > > PeeJay- > > > > > > Why would you not locate DSP/BIOS code in onchip mem? It's not a > > large amount. > > > Would you not have to do this anyway, when you reach the point of > > EEPROM boot vs. > > > emulator load? You will have to boot something to run, that > > something should include > > > BIOS initialization and any other low-level initialization. > > > > > > My experience has been: a) keep anything that occurs prior to > > void main() in onchip > > > mem, and b) put low-level code in place using a boot mechanism, > > either onchip > > > bootloader or other method such as external logic that loads code > > via HPI. Once you > > > reach main(), then you are free to locate code and mix/match > > memory spaces as > > > needed. > > > > > > We have to support a wide range of TI DSPs here, and that has been > > our standard > > > method for C5xxx and C6xxx series. > > > > > > -Jeff > > > > > > peejayblack wrote: > > > > > > > > Hello Everyone, > > > > > > > > I'm working with the 5509 and am trying to run code off chip. > > > > I want to run my code out of an external flash. I locate time > > > > critical code on chip and swap as needed. The code I run out of > > > > flash is user interface etc. We have to accommodate five > > languages > > > > so it takes up lots of space. I've done this on the 5409 with no > > > > problems, but on this project I'm having problems. This may be > > > > due to my using the DSP Bios on this project. I have not used it > > in > > > > my other projects so I am new to it. So far I have just switched > > to > > > > large memory model, switched to the large library, and set up so > > the > > > > user code text locates into the proper CE space. I've replaced my > > > > flash with a static ram (Same foot print) and have verified that > > I > > > > can read and write to it. My program compiles fine and seems to > > load > > > > ok though the emulator into the external ram. When I try to run > > the > > > > program it seems to hang on the bios initialization. If I set the > > > > user code text to run on chip the program runs fine. > > > > > > > > So I'm asking the throbbing cumulative brain of c55 experts out > > > > there if they have any ideas as to what I'm missing. I welcome > > > > any suggestions I've spent a 2 days on this, and hate to spend > > any > > > > more time without asking since its probably a obvious oversight > > on > > > > my part. > > > > > > > > Thanks, > > > > PeeJayBlack > > > > > > _____________________________________ > > Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group. > > > > _____________________________________ > > About this discussion group: > > > > To Join: Send an email to > > > > To Post: Send an email to > > > > To Leave: Send an email to > > > > Archives: http://www.yahoogroups.com/group/c55x > > > > Other Groups: http://www.dsprelated.com > > > > > > Yahoo! Groups Links > > > > > > > > |
Reply by ●June 1, 20042004-06-01
PeeJay- > The crash occurs in "_BIOS_init:". > It locks hard even crashes CCS. Yep, sounds familiar. What I do in this case is locate the C source for BIOS_init() and follow it through. I seem to recall that the source is in a .src file somewhere (CCS CD? TI website?). The CCS librarian tool allows you to pull source for a function out of the .lib file, make a separate .obj file), re-link (make sure the new file has -g turned on), and then you can go through line at a time. You will find your evil bug. -Jeff > --- In , Jeff Brower <jbrower@s...> wrote: > > PeeJay- > > > > > Thanks for the reply. Yes thats what I think I'm > > > trying to do. I have the bios set to run on chip > > > then you have choices as to where user code is > > > run. Just as a start I selected user .text > > > to run off chip, and it hangs on the bios initalization. > > > They allow you to use your own cmd file as well to locate > > > user code but scanning the cmd file they generate I can > > > see no issues. > > > > I'm not sure what you mean. Can you single step until void main() ? > If not, then > > what exactly is the last valid code before control is lost? > > > > My approximate guess is that something happens in auto_init() or > bios_init() > > functions. But you have to get in there to verify. > > > > -Jeff > > > > > > > --- In , Jeff Brower <jbrower@s...> wrote: > > > > PeeJay- > > > > > > > > Why would you not locate DSP/BIOS code in onchip mem? It's not a > > > large amount. > > > > Would you not have to do this anyway, when you reach the point of > > > EEPROM boot vs. > > > > emulator load? You will have to boot something to run, that > > > something should include > > > > BIOS initialization and any other low-level initialization. > > > > > > > > My experience has been: a) keep anything that occurs prior to > > > void main() in onchip > > > > mem, and b) put low-level code in place using a boot mechanism, > > > either onchip > > > > bootloader or other method such as external logic that loads code > > > via HPI. Once you > > > > reach main(), then you are free to locate code and mix/match > > > memory spaces as > > > > needed. > > > > > > > > We have to support a wide range of TI DSPs here, and that has been > > > our standard > > > > method for C5xxx and C6xxx series. > > > > > > > > -Jeff > > > > > > > > peejayblack wrote: > > > > > > > > > > Hello Everyone, > > > > > > > > > > I'm working with the 5509 and am trying to run code off chip. > > > > > I want to run my code out of an external flash. I locate time > > > > > critical code on chip and swap as needed. The code I run out of > > > > > flash is user interface etc. We have to accommodate five > > > languages > > > > > so it takes up lots of space. I've done this on the 5409 with no > > > > > problems, but on this project I'm having problems. This may be > > > > > due to my using the DSP Bios on this project. I have not used it > > > in > > > > > my other projects so I am new to it. So far I have just switched > > > to > > > > > large memory model, switched to the large library, and set up so > > > the > > > > > user code text locates into the proper CE space. I've replaced my > > > > > flash with a static ram (Same foot print) and have verified that > > > I > > > > > can read and write to it. My program compiles fine and seems to > > > load > > > > > ok though the emulator into the external ram. When I try to run > > > the > > > > > program it seems to hang on the bios initialization. If I set the > > > > > user code text to run on chip the program runs fine. > > > > > > > > > > So I'm asking the throbbing cumulative brain of c55 experts out > > > > > there if they have any ideas as to what I'm missing. I welcome > > > > > any suggestions I've spent a 2 days on this, and hate to spend > > > any > > > > > more time without asking since its probably a obvious oversight > > > on > > > > > my part. > > > > > > > > > > Thanks, > > > > > PeeJayBlack > > > > > > > > > _____________________________________ > > > Note: If you do a simple "reply" with your email client, only the > author of this message will receive your answer. You need to do a > "reply all" if you want your answer to be distributed to the entire group. > > > > > > _____________________________________ > > > About this discussion group: > > > > > > To Join: Send an email to > > > > > > To Post: Send an email to > > > > > > To Leave: Send an email to > > > > > > Archives: http://www.yahoogroups.com/group/c55x > > > > > > Other Groups: http://www.dsprelated.com > > > > > > > > > Yahoo! Groups Links > > > > > > > > > > > > _____________________________________ > Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group. > > _____________________________________ > About this discussion group: > > To Join: Send an email to > > To Post: Send an email to > > To Leave: Send an email to > > Archives: http://www.yahoogroups.com/group/c55x > > Other Groups: http://www.dsprelated.com > Yahoo! Groups Links > > |