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.

Problem of building SBL application

I encounter a problem when I am learning "Bootoader" in "ZStack-CC2530-2.5.1a".
I found that "cc2530-sb.xcl" file in project "\Texas Instruments\ZStack-CC2530-2.5.1a\Projects\zstack\Samples\GenericApp" has following settings:
-D_CODE_START=0x2000
-Z(CODE)INTVEC=_CODE_START
there is no probem.
But when I build a very simpe project myself, and set the same xcl file which has same _CODE_START and INTVEC settings, I encountered a error:
Error[e18]: Range error, The INTVEC segment must begin at address zero
Where $ = #no label found# [0x2000]
in module "CSTARTUP" (C:\Program Files\IAR Systems\Embedded Workbench 6.0_0\8051\LIB\CLIB\cl-pli-nlxd-1e16x01.r51),
offset 0x0 in segment part 5, segment INTVEC
What: 0 + SFB(INTVEC) [0x2000]
Allowed range: 0x0 - 0x0
Operand: #no label found# [0x2000]
in module CSTARTUP (C:\Program Files\IAR Systems\Embedded Workbench 6.0_0\8051\LIB\CLIB\cl-pli-nlxd-1e16x01.r51),
Offset 0x0 in segment part 5, segment INTVEC
Error while running Linker

Why this happened? The application in SBL must begin at "0x2000", but why has error ?

  • Hi Kang Zhao,

    From what I understand when you build the GenericApp using the serial Bootloader linker file CC2530-sb.xcl the code builds fine. But when you try building your own project using the serial Bootloader lilnker file, it gives you the error above.
    Could you describe what are the steps that you are following to set up your project and the bootloader so I can assist you with your problem.


  • Hi Hector Ramos,

    I have solved this error.  When I add the file "chipcon_cstartup.s51" in GenericApp project to my own project, there is no error even the INTVEC start at 0x2000. The "chipcon_cstartup.s51" file is used to replace the default file "CSTARTUP.s51".

    I have found that we have to make sure to comment the following directive in  "chipcon_cstartup.s51" or "CSTARTUP.s51" .:

    //LIMIT SFB(INTVEC),0,0,"The INTVEC segment must begin at address zero"

    Thanks

  • I found out this error can also be 'fixed' by going to options -> Linker -> Diagnostics -> Suppress these diagnostics -> [enter "e18" in textbox without quotes]