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.

Starterware/DM385: IPNC RDK Make system is majorly broken

Part Number: DM385

Tool/software: Starterware

The Make system for ipnc_rdk-3.9.1 does not properly support debugging.  The Rules.make configuration file gives the impression that if you set APP_BUILD_CFG to debug that the build will support debugging, but this is never exported, so is not visible to the compilation units.  In particular, system_server will never be build with -g enabled.  Likewise, while the makerules files for the McFW subsystem imply that it will build with -g set, if CONFIG=debug, the CONFIG variable is never set.  In general, I have a very poor impression of this make system.  

  • Hi,

    If you change the APP_BUILD_CFG to debug or release and build then you will see the difference gcc options for debug and release build.
  • That is the entire point of my post!  In fact, that switch DOES NOT WORK AS EXPECTED!  Please read my post carefully.  I doubt that anyone has actually tried to run system_server or ipnc_rdk_mcfw.out from the debugger because that switch alone does NOT build them with debug info, since it is not exported and never seen outside of the top-level Makefile.  I wasted days trying to figure out why they would not debug until I realized the problem was in the make system and not my debug environment.  I just assumed that TI would have minimally tested their software before releasing it and that their customer base was wide enough that someone would have caught this before me. 

  • HI,

    In makerules directory for MCFW , all the binaries are built with -g symbols by checking below line

    "ifeq ($(PROFILE_$(CORE)), debug)"

    And the PROFILE_$(CORE) is set as APP_BUILD_CFG in Rules.make.

  • This only has an effect on the M3 cores code.  Again, if you had read my post carefully, I was talking about debugging the A8 code.  Did you ever actually try building with  APP_BUILD_CFG=debug and inspect the resulting binaries with objdump?  Well l did: the system_server file is completely stripped and ipnc_rdk_mcfw.out has no line number data to support single-stepping.