AnsweredAssumed Answered

LIB Macros missing from automatically generated LDF

Question asked by charliec on Sep 25, 2013
Latest reply on Sep 26, 2013 by charliec

Hi -

 

Current LDFs use for our Blackfin 561 VDK application have  RT_LIB_NAME's Macros defined in the CoreA/CoreB LDF files as shown below.  The LDF's are checked in/out of source control and not allowed to be re-generated at VisualDSP++ startup time.  Currently used VisualDSP++ is 5.0.8.

 

/* MANAGED-BY-SYSTEM-BUILDER                                */
/* VisualDSP++ 5.0 Update 6                                 */
/* LDF Printer version: 5.6.0.4                             */
/* ldfgen.exe version: 5.6.0.4                              */
/* VDSG version: 5.6.0.4                                    */

 

/*

** ADSP-BF561 linker description file generated on Feb 09, 2010 at 16:29:00.

**

** Copyright (C) 2000-2008 Analog Devices Inc., All Rights Reserved.

**

** This file is generated automatically based upon the options selected

** in the LDF Wizard. Changes to the LDF configuration should be made by

** changing the appropriate options rather than editing this file.

**

** Configuration:-

** crt_doj:                            CoreA_basiccrt.doj
** processor:                          ADSP-BF561
** product_name:                       VisualDSP++ 5.0 Update 6
** si_revision:                        automatic
** default_silicon_revision_from_archdef:  0.5
** using_cplusplus:                    true
** mem_init:                           false
** use_vdk:                            true
** use_eh:                             true
** use_argv:                           false
** running_from_internal_memory:       true
** user_heap_src_file:                 D:\AwsDSP\Software\LtSensor_v2008\CoreA\CoreA_heaptab.c
** libraries_use_stdlib:               true
** libraries_use_fileio_libs:          false
** libraries_use_ieeefp_emulation_libs:false
** libraries_use_eh_enabled_libs:      false
** system_heap:                        L2
** system_heap_min_size:               30k
** system_stack:                       SCRATCHPAD
** system_stack_min_size:              3k
** use_sdram:                          true
** use_sdram_size:                     64MB
** use_sdram_partitioned:              default
** num_user_heaps:                     1
** user_heap0:                         L3
** user_heap0_min_size:                8000k
** user_heap0_heap_name:               heapSDRAM
** use_multicores:                     2
** use_multicores_use_core:            coreA

**

*/

 

ARCHITECTURE(ADSP-BF561)

 

SEARCH_DIR($ADI_DSP/Blackfin/lib)

 

 

#define VDK_LDF_

#include "VDK.h"

// Setup the VDK library preprocessor macros

#if VDK_INSTRUMENTATION_LEVEL_==2

#define VDK_IFLAG_ i

#elif VDK_INSTRUMENTATION_LEVEL_==1

#define VDK_IFLAG_ e

#else

#define VDK_IFLAG_ n

#endif

#define VDK_LIB_NAME_MACRO_(x) vdk- ## x ## -BF561.dlb

#define VDK_LIB_NAME_(x) VDK_LIB_NAME_MACRO_(x)

 

 

 

// Workarounds are enabled, exceptions are disabled.

#define RT_LIB_NAME(x) lib ## x ## y.dlb

#define RT_LIB_NAME_EH(x) lib ## x ## y.dlb

#define RT_LIB_NAME_MT(x) lib ## x ## mty.dlb

#define RT_LIB_NAME_EH_MT(x) lib ## x ## mty.dlb

#define RT_OBJ_NAME(x) x ## y.doj

#define RT_OBJ_NAME_MT(x) x ## mty.doj

 

 

#define LIBS \

   TMK-BF561.dlb \

   ,VDK_LIB_NAME_(CORE) \

   ,VDK_LIB_NAME_(VDK_IFLAG_) \

   ,RT_LIB_NAME(small561) \

   ,RT_LIB_NAME_MT(io561) \

   ,RT_LIB_NAME_MT(c561) \

   ,RT_LIB_NAME_MT(event561) \

   ,RT_LIB_NAME_MT(x561) \

   ,RT_LIB_NAME_EH_MT(cpp561) \

   ,RT_LIB_NAME_EH_MT(cpprt561) \

   ,RT_LIB_NAME(f64ieee561) \

   ,RT_LIB_NAME(dsp561) \

   ,RT_LIB_NAME(sftflt561) \

   ,RT_LIB_NAME(etsi561) \

   ,RT_LIB_NAME(ssl561_vdk) \

   ,RT_LIB_NAME(drv561) \

   ,RT_LIB_NAME(usb561) \

   ,RT_OBJ_NAME_MT(idle561) \

   ,RT_LIB_NAME(rt_fileio561) \

 

$LIBS = LIBS;

 

------

 

If I allow VisualDSP++ to generate LDF's at startup, the LDF's are missing the RT_LIB_NAME macros,

 

/* MANAGED-BY-SYSTEM-BUILDER                                */
/* VisualDSP++ 5.0 Update 8                                 */
/* LDF Printer version: 5.9.0.1                             */
/* ldfgen.exe version: 5.8.0.3                              */
/* VDSG version: 5.9.0.1                                    */

 

/*

** ADSP-BF561 linker description file generated on Sep 25, 2013 at 09:58:21.

**

** Copyright (C) 2000-2010 Analog Devices Inc., All Rights Reserved.

**

** This file is generated automatically based upon the options selected

** in the LDF Wizard. Changes to the LDF configuration should be made by

** changing the appropriate options rather than editing this file.

**

** Configuration:-

** crt_doj:                            CoreA_basiccrt.doj
** processor:                          ADSP-BF561
** product_name:                       VisualDSP++ 5.0 Update 8
** si_revision:                        any
** default_silicon_revision_from_archdef:  0.5
** using_cplusplus:                    true
** mem_init:                           false
** use_vdk:                            true
** use_eh:                             true
** use_argv:                           false
** running_from_internal_memory:       true
** user_heap_src_file:                 C:\gitwork\ltsensordsp_4.0.toga.Release.20130924\src\ltsensordsp\CoreA\CoreA_heaptab.c
** libraries_use_stdlib:               true
** libraries_use_fileio_libs:          false
** libraries_use_ieeefp_emulation_libs:false
** libraries_use_eh_enabled_libs:      true
** libraries_use_utility_rom:          true
** system_heap:                        L2
** system_heap_min_size:               28k
** system_stack:                       SCRATCHPAD
** system_stack_min_size:              3k
** use_sdram:                          true
** use_sdram_size:                     64MB
** use_sdram_partitioned:              default
** num_user_heaps:                     1
** user_heap0:                         L3
** user_heap0_min_size:                8000k
** user_heap0_heap_name:               heapSDRAM
** use_multicores:                     2
** use_multicores_use_core:            coreA
** use_multicores_use_mt:              true

**

*/

 

ARCHITECTURE(ADSP-BF561)

 

SEARCH_DIR($ADI_DSP/Blackfin/lib)

 

 

#define VDK_LDF_

#include "VDK.h"

// Setup the VDK library preprocessor macros

#if VDK_INSTRUMENTATION_LEVEL_==2

#define VDK_IFLAG_ i

#elif VDK_INSTRUMENTATION_LEVEL_==1

#define VDK_IFLAG_ e

#else

#define VDK_IFLAG_ n

#endif

#define VDK_LIB_NAME_MACRO_(x) vdk- ## x ## -BF561.dlb

#define VDK_LIB_NAME_(x) VDK_LIB_NAME_MACRO_(x)

 

 

#define LIBS \

   RT_LIB_NAME(mc561) \

   ,TMK-BF561.dlb \

   ,VDK_LIB_NAME_(CORE) \

   ,VDK_LIB_NAME_(VDK_IFLAG_) \

   ,RT_LIB_NAME(small561) \

   ,RT_LIB_NAME_MT(io561) \

   ,RT_LIB_NAME_MT(c561) \

   ,RT_LIB_NAME_MT(event561) \

   ,RT_LIB_NAME_MT(x561) \

   ,RT_LIB_NAME_EH_MT(cpp561) \

   ,RT_LIB_NAME_EH_MT(cpprt561) \

   ,RT_LIB_NAME(f64ieee561) \

   ,RT_LIB_NAME(dsp561) \

   ,RT_LIB_NAME(sftflt561) \

   ,RT_LIB_NAME(etsi561) \

   ,RT_LIB_NAME(ssl561_vdk) \

   ,RT_LIB_NAME(drv561) \

   ,RT_LIB_NAME(usb561) \

   ,RT_OBJ_NAME_MT(idle561) \

   ,RT_LIB_NAME(rt_fileio561) \

 

$LIBS =

 

-

 

I've tried changing the various switches via the Project->Link Project->Compile,  and Project->LDF settings, but none of the changes will generate the RT_LIB_NAME macro definitions in the LDF files. 

 

What Project setting will force the inclusion of the RT_LIB_NAME Macros in the LDF files?

 

Regards,

 

- Charlie

Outcomes