
Technical discussions about the TI C54x DSPs (including the c5401, c5402, c5402a, c5404, c5407, c5409, c5409a, c5410, c5410a, c5416, c5420, c5421, c5441, c549, c5470 and c5471).
Hi Everyone I am working on an acoustic model on PEP5416 (by spectrum digital). I am using CCS5416 for that. The model basically takes the input and processes it and send backs the output. My problem is regarding the memory maping. Initially when I assigned the whole memory map, I got no errors while building, but while loading I got errors. then I reralised there is a difference between memory map of PEP5416 and general TMS320VC5416. Memory map goes like: It is same as 5416 till 0x007FFF. But after that there is External Flash Page 0 from 0x008000 to 0x00BFFF and and internal ROM from 0x00C000 to 0x00FFFF. Where as in 5416 0x008000 to 0x00BFFF is external, 0x00C000 to 0x00FEFF is internal ROM, 0x00FF00 to 0x00FF7F is reserved and 0x00FF80 to 0x00FFFF is for interrupts. Hence I observed that in my program, my IDATA and IPROG requires a length of 3970 and 5340 respectively, which in total can not be loaded on PEP5416 (as memory map is different), but works fine on simulator 5416 (as it supports that much). Now can someone kindly suggest a solution for that? How can I accomadate all my data and how can I use that external flash in PEP (if I can use)? Kinldy reply. Waiting for responses Thanking You Megha Daga ______________________________ New Year Gift for Members of DSPRelated.com. Details here.
Megha-
> I am working on an acoustic model on PEP5416 (by spectrum digital). I
> am using CCS5416 for that. The model basically takes the input and
> processes it and send backs the output. My problem is regarding the
> memory maping. Initially when I assigned the whole memory map, I got
> no errors while building, but while loading I got errors. then I
> reralised there is a difference between memory map of PEP5416 and
> general TMS320VC5416. Memory map goes like:
> It is same as 5416 till 0x007FFF. But after that there is External
> Flash Page 0 from 0x008000 to 0x00BFFF and and internal ROM from
> 0x00C000 to 0x00FFFF. Where as in 5416 0x008000 to 0x00BFFF is
> external, 0x00C000 to 0x00FEFF is internal ROM, 0x00FF00 to 0x00FF7F
> is reserved and 0x00FF80 to 0x00FFFF is for interrupts.
If I read you correctly then:
5416 Sim PEP5416
-------- -------
0x0 0x7fff prog/data prog/data
0x8000 0xbfff external external
0xc000 0xfeff int ROM int ROM
0xff00 0xffff reserved + int ROM
interrupts
First, if the last 256 words is the only difference, that's not a lot--
surely you can handle a small amount such as this by controlling the
linker .cmd file or DSP/BIOS settings.
Second, I think 0xff00 -- 0xffff is always reserved for interrupts, Reset
vector, etc, so it might be the PEP5416 documentation is inaccurate or
lazy in the area of 0xff00-0xffff and actually there are no differences.
If you are getting PEP5416 download errors using CCS + JTAG, then you may
have some other problem -- first start by checking the memory map section
of your .gel file (used in CCS command-line) to make sure it matches the
above.
-Jeff
> Hence I observed that in my program, my IDATA and IPROG requires a
> length of 3970 and 5340 respectively, which in total can not be
> loaded on PEP5416 (as memory map is different), but works fine on
> simulator 5416 (as it supports that much).
> Now can someone kindly suggest a solution for that? How can I
> accomadate all my data and how can I use that external flash in PEP
> (if I can use)?
> Kinldy reply.
> Waiting for responses
> Thanking You
> Megha Daga
______________________________
New Year Gift for Members of DSPRelated.com. Details here.Hi
Thanks for replying. I am attaching the PEP document where you can see the memory map of PEP.
Well Jeff no I think you got it wrong. The memory map is as follows:
5416 Sim PEP5416
-------- -------
0x0 0x7fff prog/data prog/data
0x8000 0xbfff external external flash page 0
0xc000 0xfeff int ROM int ROM
0xff00 0xffff reserved + int ROM
interrupts
Hence as you see there is a difference at memory place 0x8000 and 0xbfff and that is causing
all the problem. Well I have seen a lot of running programs on PEP and in those the data and
program is not covered in that external flash memory. Even the interrupts are covered before
0x8000. I hope you got the difference. You can see it again on Page 15 of the documnet
attached. I have tested with a smaller program, lying inside that memory range and its loading.
But my problem is my main program is not coming inside the boundary and I need to find some way
to use the exernal memory.
Well Ritesh as you suggested to use SARAM through PMST. I have done that. But I am not able to
see how its using that. Its not using that memory. I have set the MP/MC bit to 0 and DROM to 1
and OVLY to 1. But I dont think its accessing that memory. I have attached a document for PEP,
kindly have a look at it.
Kindly help and suggest me how can I look what memory is covered by what?
Thanking You
Megha Daga
---------------------------------
How low will we go? Check out Yahoo! Messenger’s low PC-to-Phone call rates.
______________________________
New Year Gift for Members of DSPRelated.com. Details here.Megha- I've never used the PEP5416 board before and have not time to study its documentation. But I can tell you from years of using the C5416 that program memory starting at 0xff80 always contains the interrupt table, including Reset vector. > Well Jeff no I think you got it wrong. The memory map is as follows: > > 5416 Sim PEP5416 > -------- ------- > 0x0 0x7fff prog/data prog/data > 0x8000 0xbfff external external flash page 0 > 0xc000 0xfeff int ROM int ROM > 0xff00 0xffff reserved + int ROM > interrupts Not correct. First, you have to differentiate between prog and data memory, and understand the DROM bit for data memory (which you seem to be implying in the table above). Second, this is a CHIP issue, not board -- doesn't matter what board it is, the board mfg can't change the chip, right? You need to study the C5416 data sheet. My second suggestion is to set your simulator to *not use* 0x8000-0xbfff for anything, period. That will avoid issues with Flash conflicts. Then try to run on PEP5416 and see what happens. -Jeff > Hence as you see there is a difference at memory place 0x8000 and 0xbfff and that > is causing all the problem. Well I have seen a lot of running programs on PEP and > in those the data and program is not covered in that external flash memory. Even > the interrupts are covered before 0x8000. I hope you got the difference. You can > see it again on Page 15 of the documnet attached. I have tested with a smaller > program, lying inside that memory range and its loading. But my problem is my main > program is not coming inside the boundary and I need to find some way to use the > exernal memory. > > Well Ritesh as you suggested to use SARAM through PMST. I have done that. But I am > not able to see how its using that. Its not using that memory. I have set the MP/MC > bit to 0 and DROM to 1 and OVLY to 1. But I dont think its accessing that memory. I > have attached a document for PEP, kindly have a look at it. > > Kindly help and suggest me how can I look what memory is covered by what? > > Thanking You > Megha Daga ______________________________ New Year Gift for Members of DSPRelated.com. Details here.
Hi everyone Well Jeff PEP5416 is different and in that we do have to define VECT at 0x7f80 instead of 0xff80 (as it is covered as a flash). Well my problem of extended memory is solved. I sisnt assign the memory to SARAM in the memory properties and hence it was not getting used. Thanks a lot everyone. Thanking You Megha Daga Jeff Brower <j...@signalogic.com> wrote: Megha- I've never used the PEP5416 board before and have not time to study its documentation. But I can tell you from years of using the C5416 that program memory starting at 0xff80 always contains the interrupt table, including Reset vector. > Well Jeff no I think you got it wrong. The memory map is as follows: > > 5416 Sim PEP5416 > -------- ------- > 0x0 0x7fff prog/data prog/data > 0x8000 0xbfff external external flash page 0 > 0xc000 0xfeff int ROM int ROM > 0xff00 0xffff reserved + int ROM > interrupts Not correct. First, you have to differentiate between prog and data memory, and understand the DROM bit for data memory (which you seem to be implying in the table above). Second, this is a CHIP issue, not board -- doesn't matter what board it is, the board mfg can't change the chip, right? You need to study the C5416 data sheet. My second suggestion is to set your simulator to *not use* 0x8000-0xbfff for anything, period. That will avoid issues with Flash conflicts. Then try to run on PEP5416 and see what happens. -Jeff > Hence as you see there is a difference at memory place 0x8000 and 0xbfff and that > is causing all the problem. Well I have seen a lot of running programs on PEP and > in those the data and program is not covered in that external flash memory. Even > the interrupts are covered before 0x8000. I hope you got the difference. You can > see it again on Page 15 of the documnet attached. I have tested with a smaller > program, lying inside that memory range and its loading. But my problem is my main > program is not coming inside the boundary and I need to find some way to use the > exernal memory. > > Well Ritesh as you suggested to use SARAM through PMST. I have done that. But I am > not able to see how its using that. Its not using that memory. I have set the MP/MC > bit to 0 and DROM to 1 and OVLY to 1. But I dont think its accessing that memory. I > have attached a document for PEP, kindly have a look at it. > > Kindly help and suggest me how can I look what memory is covered by what? > > Thanking You > Megha Daga --------------------------------- Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min. ______________________________ New Year Gift for Members of DSPRelated.com. Details here.