DSPRelated.com
Forums

Developing DSP/BIOS for flash booting

Started by Morteza Alizadeh September 5, 2003
Dear Guys,
Hi

We are using DSP/BIOS (CCS 2.10.05) for TMS320C5416. The problem is we
want to put the codes and DSP/BIOS codes into the flash we mapped in
our extended program space and then move it to overlay page to all the
program space. The problem is when it reaches the c_init00 and it
wants to do BIOS_init macros it stops going any further. First I want
to know if we are using DSP/BIOS 2 and if yes is it possible to not
overlaying the DARAM to lower 32KB of program space ?(to have more
program space)  and is there any limitation on using extended memory
and far call with DSP/BIOS?  I know about interrupt stuff but I don't
know if I still have to map them to 0x7f80 on data space and overlay
them, if I am using DSP/BIOS II ??
We are using far mode for both project and for compile our other
system files.
 
Steps to Reproduce: 
make an temporary interrupt vector in 0xff80 that jumps to some first
stage bootloader that copies DSP/BIOS codes(I mean all of the .bios
.sysinit .bios:norpt) to DARAM0to3 and overlay them and then jump to
c_init00 (all the DSP/BIOS codes and applications codes are in FLASH
in address 0x58000 and we copy them first) it works correctly till
here , but as it reaches the BIOS_init macros it goes somewhere
unknown we have the IPROG segment base = 0x2000 len=2000 and we move
the codes to that space other application codes are moved to SARAM0to3
the problem rises on calling BIOS_init.
I also extract the boot.s54f from biosi.a54f lib file to modify it for
copy .const section from flash in program space to its run address in
data space.

Is there anyone who know the problem?
I'm very grateful. Thanks.
 
 
Best regards,
Morteza Alizadeh
1) make sure you restored all the register you used in your bootloader
before jump to c_int00
2) check all the overlayed part of in your system, make sure when it
running, related code and data in it's running address

Jason

"Morteza Alizadeh" <morteza@ansari.de> wrote in message
news:43ebf65.0309050507.4e581a19@posting.google.com...
> Dear Guys, > Hi > > We are using DSP/BIOS (CCS 2.10.05) for TMS320C5416. The problem is we > want to put the codes and DSP/BIOS codes into the flash we mapped in > our extended program space and then move it to overlay page to all the > program space. The problem is when it reaches the c_init00 and it > wants to do BIOS_init macros it stops going any further. First I want > to know if we are using DSP/BIOS 2 and if yes is it possible to not > overlaying the DARAM to lower 32KB of program space ?(to have more > program space) and is there any limitation on using extended memory > and far call with DSP/BIOS? I know about interrupt stuff but I don't > know if I still have to map them to 0x7f80 on data space and overlay > them, if I am using DSP/BIOS II ?? > We are using far mode for both project and for compile our other > system files. > > Steps to Reproduce: > make an temporary interrupt vector in 0xff80 that jumps to some first > stage bootloader that copies DSP/BIOS codes(I mean all of the .bios > .sysinit .bios:norpt) to DARAM0to3 and overlay them and then jump to > c_init00 (all the DSP/BIOS codes and applications codes are in FLASH > in address 0x58000 and we copy them first) it works correctly till > here , but as it reaches the BIOS_init macros it goes somewhere > unknown we have the IPROG segment base = 0x2000 len=2000 and we move > the codes to that space other application codes are moved to SARAM0to3 > the problem rises on calling BIOS_init. > I also extract the boot.s54f from biosi.a54f lib file to modify it for > copy .const section from flash in program space to its run address in > data space. > > Is there anyone who know the problem? > I'm very grateful. Thanks. > > > Best regards, > Morteza Alizadeh