This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SM320F28335-EP: Executing code from non voltile memory mapped to zone 6 after start-up

Part Number: SM320F28335-EP

Our SW is devided in two parts: One Loader with extended functionality and one Main program.

After reset the Loader is always executed and if not loading it performs other tasks.

After the Loader is done the Main program is to be run.

We would like to place the Loader SW in a non volatile memory mapped to zone 6 (external bus interface) so that we could JTAG this program to this memory during production tests (not using the EMU pod).

After the Loader is done we need to jump to the Main program that we want to reside in the internal pipelined flash of the DSP.

Note. We could jump to the Loader after the internal DSP ROM functions are performed that is ok. The goal is to not use the EMU pod for any of the SW to be loaded but only use the satndard JTAG interface.  

As we understand it Textas does not support conversion the boundary scan format so that standard JTAG could be used to place code in the internal pipelined flash in the DSP ?

I guess executing code from Zone 6 (after the ROM code) that would be using the default XINTF setting for Zone 6. Could we then change the setting when operating (already) from Zone 6 to speed it up ? 

If I remember correct the default XINTF settings are quite slow.      

/Mike (Saab AB)

  • Please clarify what you mean by "The goal is to not use the EMU pod for any of the SW to be loaded but only use the standard JTAG interface". The 28335 has a JTAG port, but I don’t understand a "EMU pod".

     

    Please clarify "As we understand it Textas does not support conversion the boundary scan format so that standard JTAG could be used to place code in the internal pipelined flash in the DSP?" Do you want to program your file into the internal flash memory using boundary scan during production? In other words, you do not want to use the available 3rd party gang-programming solutions?

     

    Yes, you can change the settings by bootloading a piece of code that would reconfigure zone 6.

  • Hi. As we understand we cant program the DSP internal flash memory with code when it is in the normal jtag chain (where we also have two FPGAs in the loop).
    Today we have to use the XDS220 ("EMU pod") to program the Loader SW into internal flash and when doing so we have to isolate the DSP from the FPGAs in the boundary scan chain.
    We want to program the Loader SW at the same time as we program the FPGAs i.e. using a boundary scan controller. If we cant program the DSP when in the boundary scan chain we would like to place it in a non volatile memory connected to zone 6 on the external bus interface. This way we can easily program the Loader SW using standard boundary scan methods.
    If we want to executed code after start-up (and ROM functions) must we use XINTF boot mode and download a small program that configures the Zone 6 to higher speed than default and also then jump to that location ?

    /Mike
  • So, you plan to load the DSP firmware (along with the flash API etc) initially to the non-volatile memory (NVM) connected to zone6 and then copy (program) the NVM contents to flash? This is pretty involved, but doable. Yes, you can reconfigure the access speed of zone 6.

     

    You will need to configure the boot-mode select pins for zone 6 during initial flash programming. For normal operation, the pins should be configured for boot-to-flash. Not sure if your application would need field updates. If so, you will need a debug probe like XDS220 at that time.