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.

How to avoid using runtime library functions like SS_SHR and CALL_IND in a function



Dear all,

In one particular function I would like to force the compiler to avoid using runtime library functions like SS_SHR, L_ADD and CALL_IND. Is there any special pragma command to do this or how to do this?

Or how to inline library functions in this firmware segment?

My intention is to write a firmware upgrade modul. One particular function replaces the old version of firmware with the new. This function must not call any other segment of code from other memory segments because all other code will be erased and rewritten.

Used library: cl-pli-nlpd-1e16x01.r51
Chip used: CC1110 (8051 core)
IAR version: 5.4

One other solution would be to fix the place of these runtime library functions, this way it would be possible to avoid rewriting them.

Any suggestions?

 

Thanks in advance!

  • Hi Zoltan,

     

    While I was trying to search for this problem for the same reason (firmware update problem), I managed to find out the following solution

    change the XCL file definition. Put the Rcode in to boot segment instead of code segment.  Do you have another method?

    -Z(CODE)DIFUNCT,CODE_C,CODE_N,NEAR_CODE=_CODE0_START-_CODE0_END
    -Z(CODE)RCODE,RDMBOOT=_CODE0_BOOT_START-_CODE0_BOOT_END