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.

DVRRDK Link err with mem_model:data=far

Hi all:

I develop the DSP application on DM816x with DVRRDK.

In the application, I must set memory model "far".

I change a compilation option and built in far model, but it is awkward for me that the following error appears.

error: symbols in the reserved far sections cannot be accessed as near; symbol
   "_DSKT2_heap" in the far section
   ".../vc_rdk/build/dvr_rdk/obj
   /ti816x-evm/c6xdsp/debug/MAIN_APP_c6xdsp_pe674.oe674(.fardata)" is accessed
   as near in the section
   ".../ti_tools/framework_components/fram
   ework_components_3_22_00_05/packages/ti/sdo/fc/dskt2/lib/debug/dskt2.ae674<d
   skt2free.oe674>(.text)"

A problem seems to happen between a source file generated by XDC-tool .

I want to solve this problem.

How to fix the problem? Thanks

satou

  • You will have to recompile the framework component package.To rebuild xdc packages from RDK use the command:

    make dvr_rdk  ENABLE_XDC_PKG_BUILD=false

    You will have to modify compiler options  to enable far mode in $(dvr_rdk_PATH)/mcfw/src_bios6/cfg/ti816x/config_1G_128MLinux.bld

    C674.ccOpts.suffix += " --mem_model:data=far -DTI_816X_BUILD -DPLATFORM_EVM_SI -DSYSLINK_BUILD_RTOS -DUSE_SYSLINK_NOTIFY=0";