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.

CC2541 relocate program memory

Other Parts Discussed in Thread: CC2541

Dear All,

I would like to relocate my application code from 0x00 - 0x1FFFF to 0x20000 - 0x3FFFF. Continuous rewriting of the linker's xcl file results, that the code physically in the needed range, but I have a lot of linking erro, like this:

Error[e18]: Range error,
 Number out of range
 File: C:\SVN-BLE-1.2.1\Components\ble\host\att_server.c, Line: 376
 Source: LCALL   ?PUSH_XSTACK_I_TWO
  Where $ = ATT_HandleValueInd + 0xC  [0x7AF82]
            in module "att_server" (C:\__Projects\PingPing\pingpingring\embedded\Projects\ble\Libraries\CC2541DB\bin\CC2541_ble_single_chip_peri.lib),
            offset 0xC in segment part 37, segment BANKED_CODE
  What: ?PUSH_XSTACK_I_TWO [0x41B2E]
  Allowed range: 0xFFFF8000 - 0xFFFF
  Operand: ?PUSH_XSTACK_I_TWO [0x41b2e]
           in module ?PUSH_XSTACK_I (C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\8051\LIB\CLIB\cl-pli-blxd-1e16x01.r51),
           Offset 0x0 in segment part 2, segment RCODE

It looks like, that the operand's address doesn't fit in the allowed range. What could I do to eliminate these errors?

Thanks,

Tamas