This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

8051 linking EROR: "L6320w" reset_handler

hi, im an 8051 noob and trying to run this example program supplied by ARM for students;

AREA eval_proj, CODE
ENTRY
LDR r1, =0x03FF5008 ; r1 = IOPDATA address
LDR r3, [r1] ; r3 = memory[IOPDATA]
LDR r2, =0x10 ; r2 = LED offset
AND r3, r3, #0 ; r3 = 0x0 (light LED0)
Loop LDR r5, =0x0500000 ; r5 = delay counter STR r3, [r1], #0 ; IOPDATA = r3
B Delay
Resume ADD r3, r3, r2 ; add offset ADDS r4, r3, #-256 ; if r3 = 256 BNE Loop ; done SWI 0x11 ; terminate program

Delay SUBS r5, r5, #1 ; delay loop BNE Delay B Resume END

the program compiles but i keep getting the error:

eval_proj.axf: Error: L6320W: Ignoring --entry command. Cannot find argument 'Reset_Handler'.
eval_proj.axf: Warning: L6320W: Ignoring --first command. Cannot find argument 'Reset_Handler'.

although one is a warning the file is not linking and therefore i cannot debug it. i think i need to change something in the configuration

help please! chris!

Parents Reply Children
  • Sorry, im writing 2 programs one for ARM and one for 8051, i got confused! That is ARM code for the ARM7TDMI core internally within the Samsung S3c4510B microprocessor.
    And yes, ill read that about the posting of source code.

  • Ill just report the source code:

                    AREA eval_proj, CODE                                    ;AT 0x00008000?
                    ENTRY
                    LDR     r1, =0x03FF5008                                 ; r1 = IOPDATA address
                    LDR     r3, [r1]                                                ; r3 = memory[IOPDATA]
                    LDR     r2, =0x10                                               ; r2 = LED offset
                    AND     r3, r3, #0                                              ; r3 = 0x0 (light LED0)
    Loop            LDR     r5, =0x0500000                                  ; r5 = delay counter
                    STR     r3, [r1], #0                                    ; IOPDATA = r3
                    B               Delay
    Resume          ADD     r3, r3, r2                                              ; add offset
                    ADDS    r4, r3, #-256                                   ; if r3 = 256
                    BNE     Loop                                                    ; done
                    SWI     0x11                                                    ; terminate program
    
    Delay           SUBS    r5, r5, #1                                              ; delay loop
                    BNE     Delay
                    B               Resume
                    END
    

  • I don't see how your error message has anything to do with the code you posted. Are you using a correct startup file (hopefully you don't use a C51 file in your ARM7 project...) ? You should find a label called

    Reset_Handler
    

    there, which is where the processor starts fetching instructions.