Is there a global define provided by the IDDE to identify Release and Debug modes? I need to configure the PLL/SDRAM init differently for stand-alone vs emulator modes.
If you are using multiple Configurations to manage this, you could just define the macro(s) under "Project Options:Compile:Preprocessor". This should be a comma-delimited list if you are defining multiple macros.
Laz wrote: Is there a global define provided by the IDDE to identify Release and Debug modes? I need to configure the PLL/SDRAM init differently for stand-alone vs emulator modes.
Unfortunately there isn't a way for the tools to determine whether you are building for stand-alone, or emulator execution.
One way to achieve conditional building would be to use additional configurations via 'Project'->'Configurations' - e.g. "Debug - DXE", "Release - DXE", "Debug - Loader" and a "Release - Loader" sessions. You could then define a pre-processor macro in each of these sessions and use the "#if defined..." statement, such as -
#if defined (__LOADER_SESSION__) If you are simply running a DXE from within the IDDE ('emulator mode' you mention below) the SDRAM is set up via an XML file. For example if you are working with a 21369 (and from looking at past PRs from you I believe you are), when you connect to your ADSP-21369 Target, it uses the xml file "...\System\Archdef\adsp-21369-proc.xml" to configure many things, and at the bottom of this file you will see a section for 'register reset definitions'. You can use this section to configure the SDRAM part on your target board. If you consult the adsp-21369-proc.xml file, this has the values used for initializing the SDRAM specific to the 21369 EZ-KIT Lite, but can be modified appropriate to your target.
For information on how to initialize the EBIU, we also strongly recommend you search the Help pages for "Initializing Registers on Reset", and check the "Search titles only" box at the bottom of the search page (remember to uncheck this again for future searches!).
If you are using VisualDSP++ 5.0, we now offer 'Custom Board Support'. For further information, please consult 'Help'->'Contents'->'Graphical Environment'->'Emulation Tools'->'Custom Board Support'.
When you make your project a standalone application (creating a loader file, to boot from Flash), you can specify a 'Kernel file' to the Loader. This is done via Project->Project Options->Load->General->Kernel file. This code performs the same tasks as the XML file you use when running the DXE, before the actual project is booted. This is covered in the Loader and Utilities Manual.
Thanks for the detailed response. Unfortunately, I already know way too much about the 369_prom.asm, etc (ask Divya).
My questions was much simpler: Where do I put the "#define _DEBUG_LOADER_" so that it is known to the entire project?
If your project also has assembly code that you want to control with this macro, unfortunately you will also have to add the definition to the ProjectOptions:Assemble property page. There isn't a single place to define a macro that will apply to both C/C++ code and assembly code and the macro will need to be defined in two places.
Retrieving data ...