Forums

Confused about where the kernel is kept during dsp power down time

Started by axr0284 June 3, 2008
Hi,
 I have a board with a Sharc ADSP-21065L which is set to boot from an
8-bit flash PROM. I am trying to figure out how exactly to create a
boot loader file that will work. One thing I am confused about is
where is the kernel kept when the board is powered down.

Is it kept in the DSP internal RAM or do i need to put it in the flash
as well? I am a little confused about this.

I ask this because in VDSP++ 4.5, in the project options -> load
settings, there is a check box that says use default kernel. If I am
making a loader file that will be downloaded to a flash, why do i need
to specify a kernel to go with that.

Will VDSP++ 4.5 somehow embed the kernel code into the loader code or
something.

Thanks for clearing this up.
Amish

axr0284 wrote:

> Hi, > I have a board with a Sharc ADSP-21065L which is set to boot from an > 8-bit flash PROM. I am trying to figure out how exactly to create a > boot loader file that will work. One thing I am confused about is > where is the kernel kept when the board is powered down. > Is it kept in the DSP internal RAM or do i need to put it in the flash > as well? I am a little confused about this.
The boot kernel can be kept in the same place as the application code, i.e. in the flash ROM in your case. The purpose of the boot kernel is to initialize the CPU and the peripherals (such as SDRAM) so the main code can be loaded and started.
> I ask this because in VDSP++ 4.5, in the project options -> load > settings, there is a check box that says use default kernel.
I usually develop the bootloader and the application as the two separate projects.
> If I am > making a loader file that will be downloaded to a flash, why do i need > to specify a kernel to go with that.
You don't have to unless your application needs the hardware to be initialized before the main code can be loaded.
> Will VDSP++ 4.5 somehow embed the kernel code into the loader code or > something.
VDSP can do that however IMO it is inconvenient. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Hi Vladimir, first of all thanks for the answer.

> The boot kernel can be kept in the same place as the application code, > i.e. in the flash ROM in your case.
That's what I want to do. So when you say boot kernel, its the "boot loader code" which is the first 256 bytes loaded from the flash when the dsp is started in EPROM boot mode.
> The purpose of the boot kernel is to initialize the CPU and the > peripherals (such as SDRAM) so the main code can be loaded and started.
I have some code for "boot loader code" as a separate project that initializes the SDRAM and sets up the DSP correctly. The project is set up to create a loader file which I will put in flash. In this loader project the option to "use default kernel" does not matter since the "boot loader code" is the kernel itself at this point. I guess I am a little confused about the "boot loader code", "kernel code" and "main program code". At what point in time do these run on the dsp From what I understand the "boot loader code" is grabbed at the very beginning. This is suppose to set up the SDRAM and any special registers in the DSP. The "boot loader code" is then suppose to grab the main program code from flash and put it in SDRAM and then allow the DSP to start running the main program code from the beginning. Where does the kernel code fit in all this. I am sorry if I am not fully grasping the concept but this is pretty new to me. Thanks again for your help